diff --git a/doc/guides/c_library.rst b/doc/guides/c_library.rst index 390ed11def3..bbe780e66e2 100644 --- a/doc/guides/c_library.rst +++ b/doc/guides/c_library.rst @@ -4,12 +4,12 @@ Standard C Library ################## The kernel currently provides only the minimal subset of the standard C library -required to meet the kernel's own needs, primarily in the areas of string -manipulation and display. +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. +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 @@ -17,3 +17,62 @@ based on ``newlib`` that can be used with Zephyr by selecting 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: + +.. hlist:: + :columns: 3 + + - 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() +