Core Components of OpenWrt: libubox(5): jshn.sh

Core Components of OpenWrt: libubox(5): jshn.sh

Continuing with the fifth article on libubox: jshn.sh, which is also a widely used script library in the OpenWrt system. We can search for the keyword jshn in the OpenWrt source directory to find the following related files: ruok@vm:~/Desktop/openwrt$ find . -name jshn*…./staging_dir/packages/mediatek/jshn_2021-05-16-b14c4688-2_aarch64_cortex-a53.ipk./staging_dir/target-aarch64_cortex-a53_musl/pkginfo/jshn.provides./staging_dir/target-aarch64_cortex-a53_musl/root-mediatek/usr/bin/jshn./staging_dir/target-aarch64_cortex-a53_musl/root-mediatek/usr/share/libubox/jshn.sh – jshn is a library for converting JSON objects, used for generating … Read more

OpenWrt Core Component: libubox (4) – ulog

OpenWrt Core Component: libubox (4) - ulog

This is the fourth article introducing the core component of OpenWrt, libubox. Here, we will discuss the ulog module, which is widely used in the OpenWrt software ecosystem. Almost all core modules in the system utilize it to save logs, so let’s get started.The ulog module is a wrapper for the syslog programming interface. If … Read more

Core Components of OpenWrt: libubox (2): Utils

Core Components of OpenWrt: libubox (2): Utils

The utils module in libubox is difficult to categorize because its functions resemble a mixed bag, so I refer to it as miscellaneous tools. It provides some simple utility functions, such as endianness conversion, bit field operations, compiler attribute wrappers, sequential memory allocation functions (calloc_a), static array size macros, assertion/error utility functions, clock time retrieval … Read more

Introduction to the Core Component of OpenWrt: libubox (1)

Introduction to the Core Component of OpenWrt: libubox (1)

During the project development process, many applications require common I/O operations, data structures, and algorithms. If each application needs to rewrite these functionalities, it will inevitably reduce development efficiency and increase the possibility of code instability. Therefore, many large projects develop basic libraries or services for other applications to use. These components are referred to … Read more