1 /* This file is needed by libio to define various configuration parameters. 2 These are always the same in the GNU C library. */ 3 4 #ifndef _G_config_h 5 #define _G_config_h 1 6 7 /* Define types for libio in terms of the standard internal type names. */ 8 9 #include <bits/types.h> 10 #define __need_size_t 11 #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T 12 # define __need_wchar_t 13 #endif 14 #define __need_NULL 15 #include <stddef.h> 16 #define __need_mbstate_t 17 #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T 18 # define __need_wint_t 19 #endif 20 #include <wchar.h> 21 #define _G_size_t size_t 22 typedef struct 23 { 24 __off_t __pos; 25 __mbstate_t __state; 26 } _G_fpos_t; 27 typedef struct 28 { 29 __off64_t __pos; 30 __mbstate_t __state; 31 } _G_fpos64_t; 32 #define _G_ssize_t __ssize_t 33 #define _G_off_t __off_t 34 #define _G_off64_t __off64_t 35 #define _G_pid_t __pid_t 36 #define _G_uid_t __uid_t 37 #define _G_wchar_t wchar_t 38 #define _G_wint_t wint_t 39 #define _G_stat64 stat64 40 #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T 41 # include <gconv.h> 42 typedef union 43 { 44 struct __gconv_info __cd; 45 struct 46 { 47 struct __gconv_info __cd; 48 struct __gconv_step_data __data; 49 } __combined; 50 } _G_iconv_t; 51 #endif 52 53 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); 54 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); 55 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); 56 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); 57 58 #define _G_HAVE_BOOL 1 59 60 61 /* These library features are always available in the GNU C library. */ 62 #define _G_HAVE_ATEXIT 1 63 #define _G_HAVE_SYS_CDEFS 1 64 #define _G_HAVE_SYS_WAIT 1 65 #define _G_NEED_STDARG_H 1 66 #define _G_va_list __gnuc_va_list 67 68 #define _G_HAVE_PRINTF_FP 1 69 #define _G_HAVE_MMAP 1 70 #define _G_HAVE_MREMAP 1 71 #define _G_HAVE_LONG_DOUBLE_IO 1 72 #define _G_HAVE_IO_FILE_OPEN 1 73 #define _G_HAVE_IO_GETLINE_INFO 1 74 75 #define _G_IO_IO_FILE_VERSION 0x20001 76 77 #define _G_OPEN64 __open64 78 #define _G_LSEEK64 __lseek64 79 #define _G_MMAP64 __mmap64 80 #define _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf) 81 82 /* This is defined by <bits/stat.h> if `st_blksize' exists. */ 83 #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE) 84 85 #define _G_BUFSIZ 8192 86 87 /* These are the vtbl details for ELF. */ 88 #define _G_NAMES_HAVE_UNDERSCORE 0 89 #define _G_VTABLE_LABEL_HAS_LENGTH 1 90 #define _G_USING_THUNKS 1 91 #define _G_VTABLE_LABEL_PREFIX "__vt_" 92 #define _G_VTABLE_LABEL_PREFIX_ID __vt_ 93 94 95 #if defined __cplusplus || defined __STDC__ 96 # define _G_ARGS(ARGLIST) ARGLIST 97 #else 98 # define _G_ARGS(ARGLIST) () 99 #endif 100 101 #endif /* _G_config.h */ 102