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