Data Definitions for libc

dirent.h

typedef struct __dirstream DIR;

ftw.h

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) ();
  struct dirent64 *(*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) ();
  struct dirent64 *(*gl_readdir) ();
  void *(*gl_opendir) ();
  int (*gl_lstat) ();
  int (*gl_stat) ();
}
glob64_t;

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

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;
}
 ;

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;

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;

search.h

typedef enum
{
  FIND,
  ENTER
}
ACTION;

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

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

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

setjmp.h

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

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

typedef void (*__sighandler_t) ();

struct sigevent
{
  sigval_t sigev_value;
  int sigev_signo;
  int sigev_notify;
}
 ;

typedef struct
{
  unsigned long __val[1];
}
__sigset_t;

typedef __sigset_t sigset_t;

struct sigaction;

typedef struct
{
  int si_band;
  int si_fd;
  struct _sifields;
  struct _sigpoll;
}
siginfo_t;

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

struct sigstack
{
  void *ss_sp;
  int ss_onstack;
}
 ;

stdio.h

typedef struct _IO_FILE FILE;

typedef __off_t fpos_t;

typedef __off64_t fpos64_t;

stdlib.h

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

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

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

typedef int (*__compar_fn_t) ();

sys/sem.h

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

sys/socket.h

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;
  socklen_t msg_namelen;
  struct iovec *msg_iov;
  size_t msg_iovlen;
  void *msg_control;
  size_t msg_controllen;
  int msg_flags;
}
 ;

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;

time.h

typedef long __clock_t;

struct timespec
{
  long 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;
}
 ;

typedef __clock_t clock_t;

typedef __time_t time_t;

unistd.h

typedef __ssize_t ssize_t;

typedef __pid_t pid_t;

typedef __off_t off_t;

utime.h

struct utimbuf
{
  __time_t actime;
  __time_t modtime;
}
 ;

wchar.h

typedef long wchar_t;

typedef unsigned int wint_t;

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

wctype.h

typedef unsigned long wctype_t;

typedef __int32_t *wctrans_t;

wordexp.h

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