Home | History | Annotate | Download | only in include
      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