Data Definitions for libc

assert.h


#define assert(expr) /**/

ctype.h


enum
{
  _ISupper,
  _ISlower,
  _ISalpha,
  _ISdigit,
  _ISxdigit,
  _ISspace,
  _ISprint,
  _ISgraph,
  _ISblank,
  _IScntrl,
  _ISpunct,
  _ISalnum
}
 ;

dirent.h


typedef struct __dirstream DIR;



struct dirent
{
  long d_ino;
  off_t d_off;
  unsigned short d_reclen;
  char d_name[1];
}
 ;

struct dirent64
{
  uint64_t d_ino;
  int64_t d_off;
  unsigned short d_reclen;
  unsigned char d_type;
  char d_name[1];
}
 ;

errno.h


#define errno	(*__errno_location())

#define EPERM	1
#define ECHILD	10
#define ENETDOWN	100
#define ENETUNREACH	101
#define ENETRESET	102
#define ECONNABORTED	103
#define ECONNRESET	104
#define ENOBUFS	105
#define EISCONN	106
#define ENOTCONN	107
#define ESHUTDOWN	108
#define ETOOMANYREFS	109
#define EAGAIN	11
#define ETIMEDOUT	110
#define ECONNREFUSED	111
#define EHOSTDOWN	112
#define EHOSTUNREACH	113
#define EALREADY	114
#define EINPROGRESS	115
#define ESTALE	116
#define EUCLEAN	117
#define ENOTNAM	118
#define ENAVAIL	119
#define ENOMEM	12
#define EISNAM	120
#define EREMOTEIO	121
#define EDQUOT	122
#define ENOMEDIUM	123
#define EMEDIUMTYPE	124
#define ECANCELED	125
#define EACCES	13
#define EFAULT	14
#define ENOTBLK	15
#define EBUSY	16
#define EEXIST	17
#define EXDEV	18
#define ENODEV	19
#define ENOENT	2
#define ENOTDIR	20
#define EISDIR	21
#define EINVAL	22
#define ENFILE	23
#define EMFILE	24
#define ENOTTY	25
#define ETXTBSY	26
#define EFBIG	27
#define ENOSPC	28
#define ESPIPE	29
#define ESRCH	3
#define EROFS	30
#define EMLINK	31
#define EPIPE	32
#define EDOM	33
#define ERANGE	34
#define EDEADLK	35
#define ENAMETOOLONG	36
#define ENOLCK	37
#define ENOSYS	38
#define ENOTEMPTY	39
#define EINTR	4
#define ELOOP	40
#define ENOMSG	42
#define EIDRM	43
#define ECHRNG	44
#define EL2NSYNC	45
#define EL3HLT	46
#define EL3RST	47
#define ELNRNG	48
#define EUNATCH	49
#define ENOANO	55
#define EBADRQC	56
#define EBADSLT	57
#define EBFONT	59
#define ENXIO	6
#define ENOSTR	60
#define ENODATA	61
#define ETIME	62
#define ENOSR	63
#define ENONET	64
#define ENOPKG	65
#define EREMOTE	66
#define ENOLINK	67
#define EADV	68
#define ESRMNT	69
#define E2BIG	7
#define ECOMM	70
#define EPROTO	71
#define EMULTIHOP	72
#define EDOTDOT	73
#define EBADMSG	74
#define EOVERFLOW	75
#define ENOTUNIQ	76
#define EBADFD	77
#define EREMCHG	78
#define ELIBACC	79
#define ENOEXEC	8
#define ELIBBAD	80
#define ELIBSCN	81
#define ELIBMAX	82
#define ELIBEXEC	83
#define EILSEQ	84
#define ERESTART	85
#define ESTRPIPE	86
#define EUSERS	87
#define ENOTSOCK	88
#define EDESTADDRREQ	89
#define EBADF	9
#define EMSGSIZE	90
#define EPROTOTYPE	91
#define ENOPROTOOPT	92
#define EPROTONOSUPPORT	93
#define ESOCKTNOSUPPORT	94
#define EOPNOTSUPP	95
#define EPFNOSUPPORT	96
#define EAFNOSUPPORT	97
#define EADDRINUSE	98
#define EADDRNOTAVAIL	99
#define EWOULDBLOCK	EAGAIN
#define EDEADLOCK	EDEADLK
#define ENOTSUP	EOPNOTSUPP

fcntl.h


#define O_RDONLY	00
#define O_ACCMODE	0003
#define O_WRONLY	01
#define O_CREAT	0100
#define O_TRUNC	01000
#define O_SYNC	010000
#define O_RDWR	02
#define O_EXCL	0200
#define O_APPEND	02000
#define O_ASYNC	020000
#define O_NOCTTY	0400
#define O_NONBLOCK	04000
#define O_NDELAY	04000



#define F_DUPFD	0
#define F_RDLCK	0
#define F_WRLCK	1
#define F_GETFD	1
#define F_SETFD	2
#define F_UNLCK	2
#define F_GETFL	3
#define F_SETFL	4
#define F_GETLK	5
#define F_SETLK	6
#define F_SETLKW	7
#define F_SETOWN	8
#define F_GETOWN	9

fnmatch.h


#define FNM_PATHNAME	(1<<0)
#define FNM_NOESCAPE	(1<<1)
#define FNM_PERIOD	(1<<2)
#define FNM_NOMATCH	1

ftw.h


enum
{
  FTW_F,
  FTW_D,
  FTW_DNR,
  FTW_NS,
  FTW_SL,
  FTW_DP,
  FTW_SLN
}
 ;

#define FTW_D	FTW_D
#define FTW_DNR	FTW_DNR
#define FTW_DP	FTW_DP
#define FTW_F	FTW_F
#define FTW_NS	FTW_NS
#define FTW_SL	FTW_SL
#define FTW_SLN	FTW_SLN

enum
{
  FTW_PHYS,
  FTW_MOUNT,
  FTW_CHDIR,
  FTW_DEPTH
}
 ;


struct FTW
{
  int base;
  int level;
}
 ;


typedef int (*__ftw_func_t) (char *__filename, struct stat * __status,
			     int __flag);

typedef int (*__ftw64_func_t) (char *__filename, struct stat64 * __status,
			       int __flag);

typedef int (*__nftw_func_t) (char *__filename, struct stat * __status,
			      int __flag, struct FTW * __info);

typedef int (*__nftw64_func_t) (char *__filename, struct stat64 * __status,
				int __flag, struct FTW * __info);

glob.h


typedef struct
{
  __size_t gl_pathc;
  char **gl_pathv;
  __size_t gl_offs;
  int gl_flags;
  void (*gl_closedir) ();
  Unknown Type:".." (*gl_readdir) ();
  void *(*gl_opendir) ();
  int (*gl_lstat) ();
  int (*gl_stat) ();
}
glob_t;


typedef struct
{
  __size_t gl_pathc;
  char **gl_pathv;
  __size_t gl_offs;
  int gl_flags;
  void (*gl_closedir) ();
  Unknown Type:".." (*gl_readdir) ();
  void *(*gl_opendir) ();
  int (*gl_lstat) ();
  int (*gl_stat) ();
}
glob64_t;


#define GLOB_ERR	(1<<0)
#define GLOB_MARK	(1<<1)
#define GLOB_BRACE	(1<<10)
#define GLOB_NOMAGIC	(1<<11)
#define GLOB_TILDE	(1<<12)
#define GLOB_ONLYDIR	(1<<13)
#define GLOB_TILDE_CHECK	(1<<14)
#define GLOB_NOSORT	(1<<2)
#define GLOB_DOOFFS	(1<<3)
#define GLOB_NOCHECK	(1<<4)
#define GLOB_APPEND	(1<<5)
#define GLOB_NOESCAPE	(1<<6)
#define GLOB_PERIOD	(1<<7)
#define GLOB_MAGCHAR	(1<<8)
#define GLOB_ALTDIRFUNC	(1<<9)

#define GLOB_NOSPACE	1
#define GLOB_ABORTED	2
#define GLOB_NOMATCH	3
#define GLOB_NOSYS	4

grp.h


struct group
{
  char *gr_name;
  char *gr_passwd;
  __gid_t gr_gid;
  char **gr_mem;
}
 ;

iconv.h


typedef void *iconv_t;

inttypes.h


typedef lldiv_t imaxdiv_t;

typedef long long intmax_t;

typedef unsigned long long uintmax_t;

locale.h


#define LC_CTYPE	0
#define LC_NUMERIC	1
#define LC_TELEPHONE	10
#define LC_MEASUREMENT	11
#define LC_IDENTIFICATION	12
#define LC_TIME	2
#define LC_COLLATE	3
#define LC_MONETARY	4
#define LC_MESSAGES	5
#define LC_ALL	6
#define LC_PAPER	7
#define LC_NAME	8
#define LC_ADDRESS	9

struct lconv
{
  char *decimal_point;
  char *thousands_sep;
  char *grouping;
  char *int_curr_symbol;
  char *currency_symbol;
  char *mon_decimal_point;
  char *mon_thousands_sep;
  char *mon_grouping;
  char *positive_sign;
  char *negative_sign;
  char int_frac_digits;
  char frac_digits;
  char p_cs_precedes;
  char p_sep_by_space;
  char n_cs_precedes;
  char n_sep_by_space;
  char p_sign_posn;
  char n_sign_posn;
}
 ;

math.h


struct exception
{
  int type;
  char *name;
  double arg1;
  double arg2;
  double retval;
}
 ;

#define HUGE_VAL	0x7FF00000UL

#define M_1_PI	0.31830988618379067154
#define M_LOG10E	0.43429448190325182765
#define M_2_PI	0.63661977236758134308
#define M_LN2	0.69314718055994530942
#define M_SQRT1_2	0.70710678118654752440
#define M_PI_4	0.78539816339744830962
#define M_2_SQRTPI	1.12837916709551257390
#define M_SQRT2	1.41421356237309504880
#define M_LOG2E	1.4426950408889634074
#define M_PI_2	1.57079632679489661923
#define M_LN10	2.30258509299404568402
#define M_E	2.7182818284590452354
#define M_PI	3.14159265358979323846

netdb.h


struct servent
{
  char *s_name;
  char **s_aliases;
  int s_port;
  char *s_proto;
}
 ;

struct hostent
{
  char *h_name;
  char **h_aliases;
  int h_addrtype;
  socklen_t h_length;
  char **h_addr_list;
}
 ;

#define h_addr	h_addr_list[0]

netinet/in.h


#define INADDR_ANY	0

struct in_addr
{
  uint32_t s_addr;
}
 ;


struct sockaddr_in
{
  sa_family_t sin_family;
  unsigned short sin_port;
  struct in_addr sin_addr;
  unsigned char __pad[1];
}
 ;

nl_types.h


typedef void *nl_catd;


typedef int nl_item;

pwd.h


struct passwd
{
  char *pw_name;
  char *pw_passwd;
  __uid_t pw_uid;
  __gid_t pw_gid;
  char *pw_gecos;
  char *pw_dir;
  char *pw_shell;
}
 ;

regex.h


typedef unsigned long reg_syntax_t;

#define RE_SYNTAX_GNU_AWK	((RE_SYNTAX_POSIX_EXTENDED|RE_BACKSLASH_ESCAPE_IN_LISTS|RE_DEBUG)&  ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS))
#define RE_BACKSLASH_ESCAPE_IN_LISTS	((unsigned long int)1)
#define RE_BK_PLUS_QM	(RE_BACKSLASH_ESCAPE_IN_LISTS<<1)
#define RE_SYNTAX_AWK	(RE_BACKSLASH_ESCAPE_IN_LISTS|RE_DOT_NOT_NULL|RE_NO_BK_PARENS| RE_NO_BK_REFS| RE_NO_BK_VBAR| RE_NO_EMPTY_RANGES| RE_DOT_NEWLINE| RE_CONTEXT_INDEP_ANCHORS| RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS)
#define RE_CHAR_CLASSES	(RE_BK_PLUS_QM<<1)
#define RE_SYNTAX_GREP	(RE_BK_PLUS_QM|RE_CHAR_CLASSES|RE_HAT_LISTS_NOT_NEWLINE|RE_INTERVALS|RE_NEWLINE_ALT)
#define RE_CONTEXT_INDEP_ANCHORS	(RE_CHAR_CLASSES<<1)
#define RE_SYNTAX_EGREP	(RE_CHAR_CLASSES|RE_CONTEXT_INDEP_ANCHORS| RE_CONTEXT_INDEP_OPS|RE_HAT_LISTS_NOT_NEWLINE|RE_NEWLINE_ALT|RE_NO_BK_PARENS|RE_NO_BK_VBAR)
#define RE_CONTEXT_INVALID_OPS	(RE_CONTEXT_INDEP_OPS<<1)
#define RE_DOT_NEWLINE	(RE_CONTEXT_INVALID_OPS<<1)
#define RE_DOT_NOT_NULL	(RE_DOT_NEWLINE<<1)
#define RE_HAT_LISTS_NOT_NEWLINE	(RE_DOT_NOT_NULL<<1)
#define RE_LIMITED_OPS	(RE_INTERVALS<<1)
#define RE_NEWLINE_ALT	(RE_LIMITED_OPS<<1)
#define RE_NO_BK_BRACES	(RE_NEWLINE_ALT<<1)
#define RE_NO_BK_PARENS	(RE_NO_BK_BRACES<<1)
#define RE_NO_BK_REFS	(RE_NO_BK_PARENS<<1)
#define RE_NO_BK_VBAR	(RE_NO_BK_REFS<<1)
#define RE_NO_EMPTY_RANGES	(RE_NO_BK_VBAR<<1)
#define RE_UNMATCHED_RIGHT_PAREN_ORD	(RE_NO_EMPTY_RANGES<<1)
#define RE_SYNTAX_POSIX_EGREP	(RE_SYNTAX_EGREP|RE_INTERVALS|RE_NO_BK_BRACES|RE_INVALID_INTERVAL_ORD)
#define RE_SYNTAX_POSIX_AWK	(RE_SYNTAX_POSIX_EXTENDED|RE_BACKSLASH_ESCAPE_IN_LISTS|RE_INTERVALS|RE_NO_GNU_OPS)
#define RE_SYNTAX_POSIX_BASIC	(_RE_SYNTAX_POSIX_COMMON|RE_BK_PLUS_QM)
#define RE_SYNTAX_POSIX_EXTENDED	(_RE_SYNTAX_POSIX_COMMON|RE_CONTEXT_INDEP_ANCHORS|RE_CONTEXT_INDEP_OPS|RE_NO_BK_BRACES|RE_NO_BK_PARENS|RE_NO_BK_VBAR|RE_CONTEXT_INVALID_OPS|RE_UNMATCHED_RIGHT_PAREN_ORD)
#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED	(_RE_SYNTAX_POSIX_COMMON|RE_CONTEXT_INDEP_ANCHORS|RE_CONTEXT_INVALID_OPS|RE_NO_BK_BRACES|RE_NO_BK_PARENS|RE_NO_BK_REFS|RE_NO_BK_VBAR|RE_UNMATCHED_RIGHT_PAREN_ORD)
#define RE_SYNTAX_POSIX_MINIMAL_BASIC	(_RE_SYNTAX_POSIX_COMMON|RE_LIMITED_OPS)
#define RE_SYNTAX_ED	RE_SYNTAX_POSIX_BASIC
#define RE_SYNTAX_SED	RE_SYNTAX_POSIX_BASIC


typedef struct re_pattern_buffer
{
  unsigned char *buffer;
  unsigned long allocated;
  unsigned long used;
  reg_syntax_t syntax;
  char *fastmap;
  char *translate;
  size_t re_nsub;
  unsigned int can_be_null;
  unsigned int regs_allocated;
  unsigned int fastmap_accurate;
  unsigned int no_sub;
  unsigned int not_bol;
  unsigned int not_eol;
  unsigned int newline_anchor;
}
regex_t;

typedef int regoff_t;

typedef struct
{
  regoff_t rm_so;
  regoff_t rm_eo;
}
regmatch_t;


#define REG_NOTEOL	(1<<1)
#define REG_ICASE	(REG_EXTENDED<<1)
#define REG_NEWLINE	(REG_ICASE<<1)
#define REG_NOSUB	(REG_NEWLINE<<1)
#define REG_NOMATCH	-1
#define REG_EXTENDED	1
#define REG_NOTBOL	1

sched.h


struct sched_param
{
  int sched_priority;
}
 ;

search.h


typedef struct entry
{
  char *key;
  void *data;
}
ENTRY;

typedef void (*__action_fn_t) (void *__nodep, VISIT __value, int __level);

typedef enum
{
  FIND,
  ENTER
}
ACTION;

typedef enum
{
  preorder,
  postorder,
  endorder,
  leaf
}
VISIT;

setjmp.h


#define setjmp(env)	_setjmp(env)
#define sigsetjmp(a,b)	__sigsetjmp(a,b)

typedef int __jmp_buf;


typedef struct __jmp_buf_tag
{
  __jmp_buf __jmpbuf;
  int __mask_was_saved;
  sigset_t __saved_mask;
}
jmp_buf;

typedef jmp_buf sigjmp_buf;

signal.h


struct sigstack;

struct sigcontext;

#define SIGRTMAX	(__libc_current_sigrtmax ())
#define SIGRTMIN	(__libc_current_sigrtmin ())

#define SIGHUP	1
#define SIGUSR1	10
#define SIGSEGV	11
#define SIGUSR2	12
#define SIGPIPE	13
#define SIGALRM	14
#define SIGTERM	15
#define SIGSTKFLT	16
#define SIGCHLD	17
#define SIGCONT	18
#define SIGSTOP	19
#define SIGINT	2
#define SIGTSTP	20
#define SIGTTIN	21
#define SIGTTOU	22
#define SIGXCPU	24
#define SIGXFSZ	25
#define SIGVTALRM	26
#define SIGPROF	27
#define SIGWINCH	28
#define SIGIO	29
#define SIGQUIT	3
#define SIGPWR	30
#define SIGUNUSED	31
#define SIGSYS	31
#define SIGILL	4
#define SIGTRAP	5
#define SIGIOT	6
#define SIGABRT	6
#define SIGBUS	7
#define SIGFPE	8
#define SIGKILL	9
#define SIGCLD	SIGCHLD
#define SIGPOLL	SIGIO

typedef void (*__sighandler_t) ();

#define SIG_ERR	((__sighandler_t)-1)
#define SIG_DFL	((__sighandler_t)0)
#define SIG_IGN	((__sighandler_t)1)

typedef union sigval
{
  int sival_int;
  void *sival_ptr;
}
sigval_t;

#define SV_ONSTACK	(1<<0)
#define SV_INTERRUPT	(1<<1)
#define SV_RESETHAND	(1<<2)


typedef struct siginfo
{
  int si_signo;
  int si_errno;
  int si_code;
  union _sifields;
}
siginfo_t;


typedef struct
{
  unsigned long sig[1];
}
sigset_t;


struct sigaction
{
  union _u;
  unsigned long sa_flags;
  void (*sa_restorer) ();
  sigset_t sa_mask;
}
 ;

#define SA_NOCLDSTOP	0x00000001
#define SA_NOCLDWAIT	0x00000002
#define SA_SIGINFO	0x00000004
#define SA_ONSTACK	0x08000000
#define SA_RESTART	0x10000000
#define SA_INTERRUPT	0x20000000
#define SA_NODEFER	0x40000000
#define SA_RESETHAND	0x80000000
#define SA_NOMASK	SA_NODEFER
#define SA_ONESHOT	SA_RESETHAND

typedef struct sigaltstack
{
  void *ss_sp;
  int ss_flags;
  size_t ss_size;
}
stack_t;

stdio.h


typedef struct _IO_FILE *FILE;

typedef __off_t fpos_t;

typedef __off64_t fpos64_t;

#define EOF	(-1)
#define BUFSIZ	8192


#define _IOFBF	0
#define _IOLBF	1
#define _IONBF	2

stdlib.h


typedef int (*__compar_fn_t) ();

#define MB_CUR_MAX	(__ctype_get_mb_cur_max())

typedef struct
{
  int quot;
  int rem;
}
div_t;


typedef struct
{
  long quot;
  long rem;
}
ldiv_t;


typedef struct
{
  long quot;
  long rem;
}
lldiv_t;

sys/ioctl.h


#define FIONREAD	0x541B

sys/mman.h


#define MAP_SHARED	0x01
#define MAP_PRIVATE	0x02
#define PROT_READ	0x1

sys/resource.h


struct rusage;

#define RLIM_INFINITY	(~0UL)
#define RLIMIT_CPU	0
#define RLIMIT_FSIZE	1
#define RLIMIT_DATA	2
#define RLIMIT_STACK	3
#define RLIMIT_CORE	4
#define RLIMIT_NOFILE	7
#define RLIMIT_AS	9

sys/sem.h


struct sembuf
{
  short sem_num;
  short sem_op;
  short sem_flg;
}
 ;

#define IPC_PRIVATE	((key_t)0)
#define IPC_RMID	0
#define IPC_CREAT	00001000
#define IPC_EXCL	00002000
#define IPC_NOWAIT	00004000
#define SEM_UNDO	0x1000
#define IPC_SET	1
#define GETPID	11
#define GETVAL	12
#define GETALL	13
#define GETNCNT	14
#define GETZCNT	15
#define SETVAL	16
#define SETALL	17
#define IPC_STAT	2

sys/shm.h


struct shmid_ds
{
  struct ipc_perm shm_perm;
  int shm_segsz;
  time_t shm_atime;
  time_t shm_dtime;
  time_t shm_ctime;
  pid_t shm_cpid;
  pid_t shm_lpid;
  unsigned short shm_nattch;
  unsigned short shm_unused;
  void *shm_unused2;
  void *shm_unused3;
}
 ;

#define SHMLBA	(__getpagesize())
#define SHM_RND	020000
#define SHM_RDONLY	4096

sys/socket.h


struct linger
{
  int l_onoff;
  int l_linger;
}
 ;

struct iovec
{
  void *iov_base;
  size_t iov_len;
}
 ;


typedef unsigned short sa_family_t;

typedef unsigned int socklen_t;


struct sockaddr
{
  sa_family_t sa_family;
  char sa_data[1];
}
 ;


struct msghdr
{
  void *msg_name;
  int msg_namelen;
  struct iovec *msg_iov;
  size_t msg_iovlen;
  void *msg_control;
  size_t msg_controllen;
  unsigned int msg_flags;
}
 ;


#define AF_UNSPEC	0
#define AF_LOCAL	1
#define AF_UNIX	1
#define AF_INET6	10
#define AF_INET	2
#define AF_AX25	3
#define AF_IPX	4
#define AF_APPLETALK	5
#define AF_NETROM	6
#define AF_BRIDGE	7
#define AF_ATMPVC	8
#define AF_X25	9

#define SOCK_STREAM	1
#define SOCK_PACKET	10
#define SOCK_DGRAM	2
#define SOCK_RAW	3
#define SOCK_RDM	4
#define SOCK_SEQPACKET	5

#define SOL_IP	0
#define SOL_SOCKET	1
#define SO_DEBUG	1
#define SO_OOBINLINE	10
#define SO_NO_CHECK	11
#define SO_PRIORITY	12
#define SO_LINGER	13
#define SOL_UDP	17
#define SO_REUSEADDR	2
#define SOL_RAW	255
#define SO_TYPE	3
#define SO_ERROR	4
#define SO_DONTROUTE	5
#define SOL_TCP	6
#define SO_BROADCAST	6
#define SO_SNDBUF	7
#define SO_RCVBUF	8
#define SO_KEEPALIVE	9

sys/stat.h


struct stat
{
  unsigned short st_dev;
  unsigned short __pad1;
  unsigned long st_ino;
  unsigned short st_mode;
  unsigned short st_nlink;
  unsigned short st_uid;
  unsigned short st_gid;
  unsigned short st_rdev;
  unsigned short __pad2;
  unsigned long st_size;
  unsigned long st_blksize;
  unsigned long st_blocks;
  unsigned long st_atime;
  unsigned long __unused1;
  unsigned long st_mtime;
  unsigned long __unused2;
  unsigned long st_ctime;
  unsigned long __unused3;
  unsigned long __unused4;
  unsigned long __unused5;
}
 ;

struct stat64
{
  unsigned short st_dev;
  unsigned char __pad0[1];
  unsigned long __st_ino;
  unsigned int st_mode;
  unsigned int st_nlink;
  unsigned long st_uid;
  unsigned long st_gid;
  unsigned short st_rdev;
  unsigned char __pad3[1];
  long st_size;
  unsigned long st_blksize;
  unsigned long st_blocks;
  unsigned long __pad4;
  unsigned long st_atime;
  unsigned long __pad5;
  unsigned long st_mtime;
  unsigned long __pad6;
  unsigned long st_ctime;
  unsigned long __pad7;
  unsigned long st_ino;
}
 ;

#define S_ISBLK(m)	(((m)& S_IFMT)==S_IFBLK)
#define S_ISCHR(m)	(((m)& S_IFMT)==S_IFCHR)
#define S_ISDIR(m)	(((m)& S_IFMT)==S_IFDIR)
#define S_ISFIFO(m)	(((m)& S_IFMT)==S_IFIFO)
#define S_ISLNK(m)	(((m)& S_IFMT)==S_IFLNK)
#define S_ISREG(m)	(((m)& S_IFMT)==S_IFREG)
#define S_ISSOCK(m)	(((m)& S_IFMT)==S_IFSOCK)
#define S_IRWXU	(S_IREAD|S_IWRITE|S_IEXEC)
#define S_IROTH	(S_IRGRP>>3)
#define S_IRGRP	(S_IRUSR>>3)
#define S_IRWXO	(S_IRWXG>>3)
#define S_IRWXG	(S_IRWXU>>3)
#define S_IWOTH	(S_IWGRP>>3)
#define S_IWGRP	(S_IWUSR>>3)
#define S_IXOTH	(S_IXGRP>>3)
#define S_IXGRP	(S_IXUSR>>3)
#define S_IXUSR	0x0040
#define S_IWUSR	0x0080
#define S_IRUSR	0x0100
#define S_ISGID	0x0400
#define S_ISUID	0x0800
#define S_IFIFO	0x1000
#define S_IFCHR	0x2000
#define S_IFDIR	0x4000
#define S_IFBLK	0x6000
#define S_IFREG	0x8000
#define S_IFLNK	0xa000
#define S_IFSOCK	0xc000
#define S_IFMT	0xf000
#define S_IREAD	S_IRUSR
#define S_IWRITE	S_IWUSR
#define S_IEXEC	S_IXUSR

sys/time.h


struct timezone
{
  int tz_minuteswest;
  int tz_dsttime;
}
 ;

#define ITIMER_REAL	0
#define ITIMER_VIRTUAL	1
#define ITIMER_PROF	2


enum __itimer_which;

typedef int __itimer_which_t;


struct timespec
{
  time_t tv_sec;
  long tv_nsec;
}
 ;


struct tm
{
  int tm_sec;
  int tm_min;
  int tm_hour;
  int tm_mday;
  int tm_mon;
  int tm_year;
  int tm_wday;
  int tm_yday;
  int tm_isdst;
  long tm_gmtoff;
  char *tm_zone;
}
 ;


struct timeval
{
  time_t tv_sec;
  suseconds_t tv_usec;
}
 ;


struct itimerval
{
  struct timeval it_interval;
  struct timeval it_value;
}
 ;

sys/times.h


struct tms
{
  clock_t tms_utime;
  clock_t tms_stime;
  clock_t tms_cutime;
  clock_t tms_cstime;
}
 ;

sys/utsname.h


struct utsname
{
  char sysname[1];
  char nodename[1];
  char release[1];
  char version[1];
  char machine[1];
  char __domainname[1];
}
 ;

sys/wait.h


typedef enum
{
  P_ALL,
  P_PID,
  P_PGID
}
idtype_t;

#define WIFSIGNALED(status)	(!WIFSTOPPED(status) & & !WIFEXITED(status))
#define WIFSTOPPED(status)	(((status) &  0xff) == 0x7f)
#define WEXITSTATUS(status)	(((status) &  0xff00) >> 8)
#define WTERMSIG(status)	((status) &  0x7f)
#define WCOREDUMP(status)	((status) &  0x80)
#define WIFEXITED(status)	(WTERMSIG(status) == 0)
#define WNOHANG	0x00000001
#define WUNTRACED	0x00000002
#define WCOREFLAG	0x80
#define WSTOPSIG(status)	WEXITSTATUS(status)

termios.h


typedef int speed_t;

#define TCSANOW	0
#define TCOOFF	0
#define TCIFLUSH	0
#define TAB0	0000000
#define VT0	0000000
#define CR0	0000000
#define FF0	0000000
#define NL0	0000000
#define BS0	0000000
#define OPOST	0000001
#define OLCUC	0000002
#define XCASE	0000004
#define ONLCR	0000004
#define OCRNL	0000010
#define ONOCR	0000020
#define ONLRET	0000040
#define OFILL	0000100
#define OFDEL	0000200
#define NLDLY	0000400
#define NL1	0000400
#define IUCLC	0001000
#define CR1	0001000
#define CR2	0002000
#define CRDLY	0003000
#define CR3	0003000
#define TAB1	0004000
#define TAB2	0010000
#define TABDLY	0014000
#define TAB3	0014000
#define BSDLY	0020000
#define BS1	0020000
#define VTDLY	0040000
#define VT1	0040000
#define FFDLY	0100000
#define FF1	0100000
#define TCSADRAIN	1
#define TCOON	1
#define TCOFLUSH	1
#define TCSAFLUSH	2
#define TCIOFF	2
#define TCIOFLUSH	2
#define TCION	3

#define VINTR	0
#define VQUIT	1
#define VSUSP	10
#define VEOL	11
#define VREPRINT	12
#define VDISCARD	13
#define VWERASE	14
#define VLNEXT	15
#define VEOL2	16
#define VERASE	2
#define VKILL	3
#define NCCS	32
#define VEOF	4
#define VMIN	6
#define VSWTC	7
#define VSTART	8
#define VSTOP	9

#define IGNBRK	0000001
#define BRKINT	0000002
#define IGNPAR	0000004
#define PARMRK	0000010
#define INPCK	0000020
#define ISTRIP	0000040
#define INLCR	0000100
#define IGNCR	0000200
#define ICRNL	0000400
#define IXON	0002000
#define IXANY	0004000
#define IXOFF	0010000
#define IMAXBEL	0020000


#define CS5	0000000
#define CS6	0000020
#define CS7	0000040
#define CSIZE	0000060
#define CS8	0000060
#define CSTOPB	0000100
#define PARENB	0000400
#define PARODD	0001000
#define HUPCL	0002000
#define CLOCAL	0004000

#define ISIG	0000001
#define ICANON	0000002
#define ECHO	0000010
#define ECHOE	0000020
#define ECHOK	0000040
#define ECHONL	0000100
#define NOFLSH	0000200
#define TOSTOP	0000400
#define ECHOCTL	0001000
#define ECHOPRT	0002000
#define ECHOKE	0004000
#define FLUSHO	0010000
#define PENDIN	0040000
#define IEXTEN	0100000

#define B0	0000000
#define B50	0000001
#define B75	0000002
#define B110	0000003
#define B134	0000004
#define B150	0000005
#define B200	0000006
#define B300	0000007
#define B600	0000010
#define B1200	0000011
#define B1800	0000012
#define B2400	0000013
#define B4800	0000014
#define B9600	0000015
#define B19200	0000016
#define B38400	0000017

time.h


#define CLOCK_REALTIME	0
#define TIMER_ABSTIME	1
#define CLOCKS_PER_SEC	1000000l

typedef long __clock_t;


typedef __clock_t clock_t;

ulimit.h


#define UL_GETFSIZE	UL_GETFSIZE
#define UL_SETFSIZE	UL_SETFSIZE

unistd.h


typedef int ssize_t;

typedef int pid_t;

typedef int *intptr_t;

#define SEEK_SET	0
#define STDIN_FILENO	0
#define STDOUT_FILENO	1
#define SEEK_CUR	1
#define _SC_CLK_TCK	2
#define SEEK_END	2
#define STDERR_FILENO	2
#define _SC_OPEN_MAX	4

#define F_OK	0
#define X_OK	1
#define W_OK	2
#define R_OK	4

utime.h


struct utimbuf
{
  __time_t actime;
  __time_t modtime;
}
 ;

wchar.h


#define WEOF	(0xffffffffu)
#define WCHAR_MAX	__WCHAR_MAX
#define WCHAR_MIN	__WCHAR_MIN

typedef unsigned int wint_t;

typedef struct
{
  int count;
  wint_t value;
}
mbstate_t;

wctype.h


typedef unsigned long wctype_t;

typedef int wctrans_t;

wordexp.h


enum
{
  WRDE_DOOFFS,
  WRDE_APPEND,
  WRDE_NOCMD,
  WRDE_REUSE,
  WRDE_SHOWERR,
  WRDE_UNDEF,
  __WRDE_FLAGS
}
 ;


typedef struct
{
  int we_wordc;
  char **we_wordv;
  int we_offs;
}
wordexp_t;


enum
{
  WRDE_NOSYS,
  WRDE_NOSPACE,
  WRDE_BADCHAR,
  WRDE_BADVAL,
  WRDE_CMDSUB,
  WRDE_SYNTAX
}
 ;