6 ** Based on Linux Standard Base Specification 1.0.0
7 ** http://www.linuxbase.org/spec/gLSB/gLSB/libc-ddefs.html
12 Data Definitions for libc
17 typedef struct __dirstream DIR;
19 /* Not in LSB: based on RedHat 7.0: */
22 #ifndef __USE_FILE_OFFSET64
29 unsigned short int d_reclen;
31 char d_name[256]; /* We must not include limits.h! */
34 /*@i43 struct dirent not in LSB spec
35 why doesn't alphasort64 use struct dirent64's?
38 int acct (/*@null@*/ const char *filename)
40 /*@modifies systemState@*/ ;
42 int alphasort (const struct dirent **a, const struct dirent **b) /*@*/ ;
43 int alphasort64(const struct dirent **a, const struct dirent **b) /*@*/ ;
49 typedef int (*__ftw_func_t) (char *__filename, struct stat * __status,
52 typedef int (*__ftw64_func_t) (char *__filename, struct stat64 * __status,
55 typedef int (*__nftw_func_t) (char *__filename, struct stat * __status,
56 int __flag, struct FTW * __info);
58 typedef int (*__nftw64_func_t) (char *__filename, struct stat64 * __status,
59 int __flag, struct FTW * __info);
71 void (*gl_closedir) ();
72 struct dirent64 *(*gl_readdir) ();
73 void *(*gl_opendir) ();
85 void (*gl_closedir) ();
86 struct dirent64 *(*gl_readdir) ();
87 void *(*gl_opendir) ();
110 typedef void *iconv_t;
116 typedef lldiv_t imaxdiv_t;
118 typedef long long intmax_t;
120 typedef unsigned long long uintmax_t;
131 char *int_curr_symbol;
132 char *currency_symbol;
133 char *mon_decimal_point;
134 char *mon_thousands_sep;
138 char int_frac_digits;
153 typedef void *nl_catd;
177 typedef unsigned long reg_syntax_t;
179 typedef struct re_pattern_buffer
181 unsigned char *buffer;
182 unsigned long allocated;
188 unsigned int can_be_null;
189 unsigned int regs_allocated;
190 unsigned int fastmap_accurate;
192 unsigned int not_bol;
193 unsigned int not_eol;
194 unsigned int newline_anchor;
198 typedef int regoff_t;
234 typedef void (*__action_fn_t) (void *__nodep, VISIT __value, int __level);
240 typedef int __jmp_buf;
242 typedef struct __jmp_buf_tag
245 int __mask_was_saved;
246 __sigset_t __saved_mask;
250 typedef jmp_buf sigjmp_buf;
263 typedef void (*__sighandler_t) ();
267 sigval_t sigev_value;
275 unsigned long __val[1];
279 typedef __sigset_t sigset_t;
311 typedef struct _IO_FILE FILE;
313 typedef __off_t fpos_t;
315 typedef __off64_t fpos64_t;
342 typedef int (*__compar_fn_t) ();
360 typedef unsigned short sa_family_t;
362 typedef unsigned int socklen_t;
366 sa_family_t sa_family;
374 socklen_t msg_namelen;
375 struct iovec *msg_iov;
378 size_t msg_controllen;
407 char __domainname[1];
427 typedef long __clock_t;
452 typedef __clock_t clock_t;
454 typedef __time_t time_t;
456 int adjtime (/*@notnull@*/ const struct timeval *delta, /*@null@*/ struct timeval *olddelta)
457 /*@warn superuser "Only super-user processes may call adjtime."@*/
459 /*@modifies systemState@*/ ;
465 typedef __ssize_t ssize_t;
467 typedef __pid_t pid_t;
469 typedef __off_t off_t;
471 extern /*@observer@*/ /*@nullterminated@*/ /*@null@*/
472 char *bindtextdomain (/*@null@*/ /*@nullterminated@*/ const char *domainname,
473 /*@null@*/ /*@nullterminated@*/ const char *dirname) /*@*/ ;
474 /* LSB doesn't specify: taken from
475 http://www.hgmp.mrc.ac.uk/cgi-bin/man.cgi?section=3C&topic=bindtextdomain
494 typedef long wchar_t;
496 typedef unsigned int wint_t;
509 typedef unsigned long wctype_t;
511 typedef __int32_t *wctrans_t;
530 int modes; /* mode selector */
531 long offset; /* time offset (usec) */
532 long freq; /* frequency offset (scaled ppm) */
533 long maxerror; /* maximum error (usec) */
534 long esterror; /* estimated error (usec) */
535 int status; /* clock command/status */
536 long constant; /* pll time constant */
537 long precision; /* clock precision (usec) (read only) */
538 long tolerance; /* clock frequency tolerance (ppm) (read only) */
539 struct timeval time; /* current time (read only) */
540 long tick; /* usecs between clock ticks */
544 /*@constant int ADJ_OFFSET@*/
545 /*@constant int ADJ_FREQUENCY@*/
546 /*@constant int ADJ_MAXERROR@*/
547 /*@constant int ADJ_ESTERROR@*/
548 /*@constant int ADJ_STATUS@*/
549 /*@constant int ADJ_TIMECONST@*/
550 /*@constant int ADJ_TICK@*/
551 /*@constant int ADJ_OFFSET_SINGLESHOT@*/
553 int adjtimex (/*@notnull@*/ struct timex *buf)
554 /*@warn superuser "Only super-user processes may call adjtimex unless the modes field is 0."@*/
556 /*@modifies systemState@*/ ;
562 typedef unsigned char cc_t;
563 typedef unsigned int speed_t;
564 typedef unsigned int tcflag_t;
568 tcflag_t c_iflag; /* input mode flags */
569 tcflag_t c_oflag; /* output mode flags */
570 tcflag_t c_cflag; /* control mode flags */
571 tcflag_t c_lflag; /* local mode flags */
572 cc_t c_cc[NCCS]; /* control characters */
575 int cfmakeraw (/*@out@*/ struct termios *termios_p)
578 int cfsetspeed(struct termios *t, speedt speed)
585 /*@exits@*/ void __assert_fail (/*@notnull@*/ const char *assertion,
586 /*@notnull@*/ const char *file,
588 /*@null@*/ const char *function)
589 /*@modifies stderr@*/;