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@*/;