# Commonlibrary Development Guidelines ## Overview The **commonlibrary** subsystem stores basic OpenHarmony components which provides common enhanced APIs for development in C, C++ and JS that are commonly used by OpenHarmony service subsystems and upper-layer applications. Including repositories: ``` /commonlibrary ├── c_utils # Enhanced basic C/C++ library for developers ├── ets_utils # Enhanced basic JS library for developers └── utils_lite # Basic tools for liteOS, including C and JS. ``` Features provided by every repositories are listed here: **c_utils** - Enhanced APIs for operations related to files, paths, and strings - APIs related to the read-write lock, semaphore, timer, thread, and thread pool - APIs related to the security data container and data serialization - Error codes for each subsystem - Safe functions in C **ets_utils** - JSAPIs for operation of URI, URL and xml - JSAPIs for character encoder and decoder - JSAPIs for operation of process - Multithreading ability in JS **utils_lite** - Hardware Abstraction Layer (HAL) APIs for performing operations on standard files - APIs for internal functions, such as the timer ## Development Guidelines [Related Documents for c_utils](https://gitee.com/openharmony/commonlibrary_c_utils/blob/master/README.md) # Commonlibrary Subsystem FAQ ## c_utils FAQ See [Related Documents for c_utils](https://gitee.com/openharmony/commonlibrary_c_utils/blob/master/README.md), including FAQs for several scenarios.