2005-12-05 Roland McGrath <roland@redhat.com>
[glibc.git] / sysdeps / gnu / _G_config.h
blob83c78f0b933acc6476c33dc6cc08775f27d08926
1 /* This file is needed by libio to define various configuration parameters.
2 These are always the same in the GNU C library. */
4 #ifndef _G_config_h
5 #define _G_config_h 1
7 /* Define types for libio in terms of the standard internal type names. */
9 #include <bits/types.h>
10 #define __need_size_t
11 #define __need_wchar_t
12 #define __need_wint_t
13 #define __need_NULL
14 #include <stddef.h>
15 #ifndef _WINT_T
16 /* Integral type unchanged by default argument promotions that can
17 hold any value corresponding to members of the extended character
18 set, as well as at least one value that does not correspond to any
19 member of the extended character set. */
20 # define _WINT_T
21 typedef unsigned int wint_t;
22 #endif
23 #define __need_mbstate_t
24 #include <wchar.h>
25 #define _G_size_t size_t
26 typedef struct
28 __off_t __pos;
29 __mbstate_t __state;
30 } _G_fpos_t;
31 typedef struct
33 __off64_t __pos;
34 __mbstate_t __state;
35 } _G_fpos64_t;
36 #define _G_ssize_t __ssize_t
37 #define _G_off_t __off_t
38 #define _G_off64_t __off64_t
39 #define _G_pid_t __pid_t
40 #define _G_uid_t __uid_t
41 #define _G_wchar_t wchar_t
42 #define _G_wint_t wint_t
43 #define _G_stat64 stat64
44 #include <gconv.h>
45 typedef union
47 struct __gconv_info __cd;
48 struct
50 struct __gconv_info __cd;
51 struct __gconv_step_data __data;
52 } __combined;
53 } _G_iconv_t;
55 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
56 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
57 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
58 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
60 #define _G_HAVE_BOOL 1
63 /* These library features are always available in the GNU C library. */
64 #define _G_HAVE_ATEXIT 1
65 #define _G_HAVE_SYS_CDEFS 1
66 #define _G_HAVE_SYS_WAIT 1
67 #define _G_NEED_STDARG_H 1
68 #define _G_va_list __gnuc_va_list
70 #define _G_HAVE_PRINTF_FP 1
71 #define _G_HAVE_MMAP 1
72 #define _G_HAVE_MREMAP 1
73 #define _G_HAVE_LONG_DOUBLE_IO 1
74 #define _G_HAVE_IO_FILE_OPEN 1
75 #define _G_HAVE_IO_GETLINE_INFO 1
77 #define _G_IO_IO_FILE_VERSION 0x20001
79 #define _G_OPEN64 __open64
80 #define _G_LSEEK64 __lseek64
81 #define _G_MMAP64 __mmap64
82 #define _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf)
84 /* This is defined by <bits/stat.h> if `st_blksize' exists. */
85 #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
87 #define _G_BUFSIZ 8192
89 /* These are the vtbl details for ELF. */
90 #define _G_NAMES_HAVE_UNDERSCORE 0
91 #define _G_VTABLE_LABEL_HAS_LENGTH 1
92 #define _G_USING_THUNKS 1
93 #define _G_VTABLE_LABEL_PREFIX "__vt_"
94 #define _G_VTABLE_LABEL_PREFIX_ID __vt_
97 #if defined __cplusplus || defined __STDC__
98 # define _G_ARGS(ARGLIST) ARGLIST
99 #else
100 # define _G_ARGS(ARGLIST) ()
101 #endif
103 #endif /* _G_config.h */