xref: /llvm-project/clang/test/Analysis/Inputs/std-c-library-functions.h (revision 80a21ea8006fe7bc7ae2b1c9381625aa69b4dace)
1 typedef __SIZE_TYPE__ size_t;
2 #define __SSIZE_TYPE__                                                         \
3   __typeof__(_Generic((__SIZE_TYPE__)0,                                        \
4                       unsigned long long int : (long long int)0,               \
5                       unsigned long int : (long int)0,                         \
6                       unsigned int : (int)0,                                   \
7                       unsigned short : (short)0))
8 typedef __SSIZE_TYPE__ ssize_t;
9 typedef struct {
10   int x;
11 } FILE;
12 
13 // do not use the default values for these constants to verify that this
14 // definition is found
15 #define EOF (-2)
16 #define AT_FDCWD (-101)
17 
18 #ifdef __cplusplus
19 #define restrict /*restrict*/
20 #endif
21 
22 int isascii(int);
23 int islower(int);
24 int isalpha(int);
25 int isalnum(int);
26 int isblank(int);
27 int ispunct(int);
28 int isupper(int);
29 int isgraph(int);
30 int isprint(int);
31 int isdigit(int);
32 int isspace(int);
33 int isxdigit(int);
34 int toupper(int);
35 int tolower(int);
36 int toascii(int);
37 
38 int getc(FILE *);
39 int fgetc(FILE *);
40 int getchar(void);
41 size_t fread(void *restrict, size_t, size_t, FILE *restrict);
42 size_t fwrite(const void *restrict, size_t, size_t, FILE *restrict);
43 ssize_t read(int, void *, size_t);
44 ssize_t write(int, const void *, size_t);
45 ssize_t getline(char **restrict, size_t *restrict, FILE *restrict);
46 ssize_t getdelim(char **restrict, size_t *restrict, int, FILE *restrict);
47 char *getenv(const char *);
48