Add inst_sync and sys/instance.h
[kopensolaris-gnu/glibc.git] / sysdeps / gnu / _G_config.h
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 */