| /* | 
 |  * Copyright © 2024 Keith Packard <keithp@keithp.com> | 
 |  * | 
 |  * SPDX-License-Identifier: Apache-2.0 | 
 |  */ | 
 |  | 
 | #ifndef ZEPHYR_LIB_LIBC_NEWLIB_INCLUDE_STRING_H_ | 
 | #define ZEPHYR_LIB_LIBC_NEWLIB_INCLUDE_STRING_H_ | 
 |  | 
 | /* This should work on GCC and clang. | 
 |  * | 
 |  * If we need to support a toolchain without #include_next the CMake | 
 |  * infrastructure should be used to identify it and provide an | 
 |  * alternative solution. | 
 |  */ | 
 | #include_next <string.h> | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | /* | 
 |  * Define these two Zephyr APIs when _POSIX_C_SOURCE is not set to expose | 
 |  * them from newlib | 
 |  */ | 
 | #if !__MISC_VISIBLE && !__POSIX_VISIBLE | 
 | char *strtok_r(char *__restrict, const char *__restrict, char **__restrict); | 
 | #endif | 
 | #if __POSIX_VISIBLE < 200809L | 
 | size_t strnlen(const char *, size_t); | 
 | #endif | 
 |  | 
 | #ifdef __cplusplus | 
 | } | 
 | #endif | 
 |  | 
 | #endif /* ZEPHYR_LIB_LIBC_NEWLIB_INCLUDE_STRING_H_ */ |