blob: 8c3ace68f37ff521fea0d17bb73f21bf5dd8d88e [file] [log] [blame]
Elliott Hughes13da6002025-02-03 10:42:13 -08001// Copyright (C) 2017 The Android Open Source Project
2// SPDX-License-Identifier: BSD-2-Clause
Elliott Hughes21b56eb2017-10-20 17:57:17 -07003
4#include <string.h>
5
6#include "header_checks.h"
7
8static void string_h() {
9 MACRO(NULL);
10 TYPE(size_t);
11 TYPE(locale_t);
12
13 FUNCTION(memccpy, void* (*f)(void*, const void*, int, size_t));
14 FUNCTION(memchr, void* (*f)(const void*, int, size_t));
15 FUNCTION(memcmp, int (*f)(const void*, const void*, size_t));
16 FUNCTION(memcpy, void* (*f)(void*, const void*, size_t));
Elliott Hughesf4d57ac2025-01-28 14:22:12 -080017#if !defined(__GLIBC__) // Our glibc is too old.
18 FUNCTION(memmem, void* (*f)(const void*, size_t, const void*, size_t));
19#endif
Elliott Hughes21b56eb2017-10-20 17:57:17 -070020 FUNCTION(memmove, void* (*f)(void*, const void*, size_t));
21 FUNCTION(memset, void* (*f)(void*, int, size_t));
22 FUNCTION(stpcpy, char* (*f)(char*, const char*));
23 FUNCTION(stpncpy, char* (*f)(char*, const char*, size_t));
24 FUNCTION(strcat, char* (*f)(char*, const char*));
25 FUNCTION(strchr, char* (*f)(const char*, int));
26 FUNCTION(strcmp, int (*f)(const char*, const char*));
27 FUNCTION(strcoll, int (*f)(const char*, const char*));
28 FUNCTION(strcoll_l, int (*f)(const char*, const char*, locale_t));
29 FUNCTION(strcpy, char* (*f)(char*, const char*));
30 FUNCTION(strcspn, size_t (*f)(const char*, const char*));
31 FUNCTION(strdup, char* (*f)(const char*));
32 FUNCTION(strerror, char* (*f)(int));
33 FUNCTION(strerror_l, char* (*f)(int, locale_t));
34 FUNCTION(strerror_r, int (*f)(int, char*, size_t));
Elliott Hughesf4d57ac2025-01-28 14:22:12 -080035#if !defined(__GLIBC__) // Our glibc is too old.
36 FUNCTION(strlcat, size_t (*f)(char*, const char*, size_t));
37 FUNCTION(strlcpy, size_t (*f)(char*, const char*, size_t));
38#endif
Elliott Hughes21b56eb2017-10-20 17:57:17 -070039 FUNCTION(strlen, size_t (*f)(const char*));
40 FUNCTION(strncat, char* (*f)(char*, const char*, size_t));
41 FUNCTION(strncmp, int (*f)(const char*, const char*, size_t));
42 FUNCTION(strncpy, char* (*f)(char*, const char*, size_t));
43 FUNCTION(strndup, char* (*f)(const char*, size_t));
44 FUNCTION(strnlen, size_t (*f)(const char*, size_t));
45 FUNCTION(strpbrk, char* (*f)(const char*, const char*));
46 FUNCTION(strrchr, char* (*f)(const char*, int));
47 FUNCTION(strsignal, char* (*f)(int));
48 FUNCTION(strspn, size_t (*f)(const char*, const char*));
49 FUNCTION(strstr, char* (*f)(const char*, const char*));
50 FUNCTION(strtok, char* (*f)(char*, const char*));
51 FUNCTION(strtok_r, char* (*f)(char*, const char*, char**));
52 FUNCTION(strxfrm, size_t (*f)(char*, const char*, size_t));
53 FUNCTION(strxfrm_l, size_t (*f)(char*, const char*, size_t, locale_t));
54}