|  | .. _c_library_v2: | 
|  |  | 
|  | Standard C Library | 
|  | ################## | 
|  |  | 
|  | The kernel currently provides only the minimal subset of the standard C library | 
|  | required to meet the needs of Zephyr and its subsystems and features, primarily | 
|  | in the areas of string manipulation and display. | 
|  |  | 
|  | Applications that require a more extensive C library can either submit | 
|  | contributions that enhance the existing library or substitute with a | 
|  | replacement library. | 
|  |  | 
|  | The Zephyr SDK and other supported toolchains comes with a bare-metal C library | 
|  | based on ``newlib`` that can be used with Zephyr by selecting the | 
|  | :option:`CONFIG_NEWLIB_LIBC` in the application configuration file. Part of the | 
|  | support for ``newlib`` is a set of hooks available under | 
|  | :file:`lib/libc/newlib/libc-hooks.c` which integrates the c library with basic | 
|  | kernel services. | 
|  |  | 
|  |  | 
|  | Minimal C Library | 
|  | ***************** | 
|  |  | 
|  | The minimal C library is part of Zephyr and provides a minimal set of C | 
|  | functions needed by Zephyr. | 
|  |  | 
|  | The following functions are implemented in the minimal C | 
|  | library included with Zephyr: | 
|  |  | 
|  | .. rst-class:: rst-columns | 
|  |  | 
|  | - abs() | 
|  | - atoi() | 
|  | - bsearch() | 
|  | - calloc() | 
|  | - free() | 
|  | - gmtime() | 
|  | - gmtime_r() | 
|  | - isalnum() | 
|  | - isalpha() | 
|  | - isdigit() | 
|  | - isgraph() | 
|  | - isprint() | 
|  | - isspace() | 
|  | - isupper() | 
|  | - isxdigit() | 
|  | - localtime() | 
|  | - malloc() | 
|  | - memchr() | 
|  | - memcmp() | 
|  | - memcpy() | 
|  | - memmove() | 
|  | - memset() | 
|  | - mktime() | 
|  | - rand() | 
|  | - realloc() | 
|  | - snprintf() | 
|  | - sprintf() | 
|  | - strcat() | 
|  | - strchr() | 
|  | - strcmp() | 
|  | - strcpy() | 
|  | - strlen() | 
|  | - trncat() | 
|  | - strncmp() | 
|  | - strncpy() | 
|  | - strrchr() | 
|  | - strstr() | 
|  | - strtol() | 
|  | - trtoul() | 
|  | - time() | 
|  | - tolower() | 
|  | - toupper() | 
|  | - vsnprintf() | 
|  | - vsprintf() |