Back to index

glibc  2.9
_G_config.h
Go to the documentation of this file.
00001 /* This file is needed by libio to define various configuration parameters.
00002    These are always the same in the GNU C library.  */
00003 
00004 /* We have to keep a separate copy for CRIS, because we don't use thunks,
00005    and libstdc++-v2 (which we currently use) cares.  The C++ ABI is
00006    changed totally with GCC 3.0, where we should not need a separate file.  */
00007 
00008 #ifndef _G_config_h
00009 #define _G_config_h 1
00010 
00011 /* Define types for libio in terms of the standard internal type names.  */
00012 
00013 #include <bits/types.h>
00014 #define __need_size_t
00015 #define __need_wchar_t
00016 #define __need_wint_t
00017 #define __need_NULL
00018 #include <stddef.h>
00019 #ifndef _WINT_T
00020 /* Integral type unchanged by default argument promotions that can
00021    hold any value corresponding to members of the extended character
00022    set, as well as at least one value that does not correspond to any
00023    member of the extended character set.  */
00024 # define _WINT_T
00025 typedef unsigned int wint_t;
00026 #endif
00027 #define __need_mbstate_t
00028 #include <wchar.h>
00029 #define _G_size_t    size_t
00030 typedef struct
00031 {
00032   __off_t __pos;
00033   __mbstate_t __state;
00034 } _G_fpos_t;
00035 typedef struct
00036 {
00037   __off64_t __pos;
00038   __mbstate_t __state;
00039 } _G_fpos64_t;
00040 #define _G_ssize_t   __ssize_t
00041 #define _G_off_t     __off_t
00042 #define _G_off64_t   __off64_t
00043 #define       _G_pid_t      __pid_t
00044 #define       _G_uid_t      __uid_t
00045 #define _G_wchar_t   wchar_t
00046 #define _G_wint_t    wint_t
00047 #define _G_stat64    stat64
00048 #include <gconv.h>
00049 typedef union
00050 {
00051   struct __gconv_info __cd;
00052   struct
00053   {
00054     struct __gconv_info __cd;
00055     struct __gconv_step_data __data;
00056   } __combined;
00057 } _G_iconv_t;
00058 
00059 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
00060 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
00061 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
00062 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
00063 
00064 #define _G_HAVE_BOOL 1
00065 
00066 
00067 /* These library features are always available in the GNU C library.  */
00068 #define _G_HAVE_ATEXIT 1
00069 #define _G_HAVE_SYS_CDEFS 1
00070 #define _G_HAVE_SYS_WAIT 1
00071 #define _G_NEED_STDARG_H 1
00072 #define _G_va_list __gnuc_va_list
00073 
00074 #define _G_HAVE_PRINTF_FP 1
00075 #define _G_HAVE_MMAP 1
00076 #define _G_HAVE_LONG_DOUBLE_IO 1
00077 #define _G_HAVE_IO_FILE_OPEN 1
00078 #define _G_HAVE_IO_GETLINE_INFO 1
00079 
00080 #define _G_IO_IO_FILE_VERSION 0x20001
00081 
00082 #define _G_OPEN64    __open64
00083 #define _G_LSEEK64   __lseek64
00084 #define _G_MMAP64    __mmap64
00085 #define _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf)
00086 
00087 /* This is defined by <bits/stat.h> if `st_blksize' exists.  */
00088 #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
00089 
00090 #define _G_BUFSIZ 8192
00091 
00092 /* These are the vtbl details for ELF.  */
00093 #define _G_NAMES_HAVE_UNDERSCORE 0
00094 #define _G_VTABLE_LABEL_HAS_LENGTH 1
00095 #undef _G_USING_THUNKS
00096 #define _G_VTABLE_LABEL_PREFIX "_vt."
00097 #define _G_VTABLE_LABEL_PREFIX_ID _vt.
00098 
00099 
00100 #if defined __cplusplus || defined __STDC__
00101 # define _G_ARGS(ARGLIST) ARGLIST
00102 #else
00103 # define _G_ARGS(ARGLIST) ()
00104 #endif
00105 
00106 #endif /* _G_config.h */