This section defines global identifiers and their values that are associated with
238
interfaces contained in libc. These definitions are organized into groups that
239
correspond to system headers. This convention is used as a convenience for the
240
reader, and does not imply the existence of these headers, or their content.
241
These definitions are intended to supplement those provided in Where an interface
242
is defined as requiring a particular system header file all of the referenced
243
underlyingdata definitions for that system header file presented here shall be in
244
effect.
245
This section gives data definitions to promote binary application portability, not to
246
repeat source interface definitions available elsewhere. System providers and
247
application developers should use this ABI to supplement - not to replace - source
248
interface definition specifications.
249
This specification uses ISO/IEC 9899the ISO C (1999) C Language as the reference
250
programming language, and data definitions are specified in ISO C format. The C
251
language is used here as a convenient notation. Using a C language description of
252
these data objects does not preclude their use by other programming languages.
253
11.3.1 arpa/inet.h
254
extern uint32_t htonl(uint32_t);
255
extern uint16_t htons(uint16_t);
256
extern in_addr_t inet_addr(const char *);
257
extern char *inet_ntoa(struct in_addr);
258
extern const char *inet_ntop(int, const void *, char *, socklen_t);
259
extern int inet_pton(int, const char *, void *);
260
extern uint32_t ntohl(uint32_t);
261
extern uint16_t ntohs(uint16_t);
262
11.3.2 assert.h
263
extern void __assert_fail(const char *, const char *, unsigned int, 264
const char *);
265
11.3.3 ctype.h
266
extern int _tolower(int);
267
extern int _toupper(int);
268
extern int isalnum(int);
269
extern int isalpha(int);
270
extern int isascii(int);
271
extern int iscntrl(int);
272
extern int isdigit(int);
273
extern int isgraph(int);
274
extern int islower(int);
275
extern int isprint(int);
276
extern int ispunct(int);
277
extern int isspace(int);
278
extern int isupper(int);
279
extern int isxdigit(int);
280
extern int toascii(int);
281
extern int tolower(int);
282
extern int toupper(int);
283
extern int isblank(int);
284
extern const unsigned short **__ctype_b_loc(void);
285
extern const int32_t **__ctype_toupper_loc(void);
286
extern const int32_t **__ctype_tolower_loc(void);
287
11.3.4 dirent.h
288
extern void rewinddir(DIR *);
289
extern void seekdir(DIR *, long int);
290
extern long int telldir(DIR *);
291
extern int closedir(DIR *);
292
extern DIR *opendir(const char *);
293
extern struct dirent *readdir(DIR *);
294
extern struct dirent64 *readdir64(DIR *);
295
extern int readdir_r(DIR *, struct dirent *, struct dirent **);
296
11.3.5 err.h
297
extern void err(int, const char *, ...);
298
extern void errx(int, const char *, ...);
299
extern void warn(const char *, ...);
300
extern void warnx(const char *, ...);
301
extern void error(int, int, const char *, ...);
302
11.3.6 errno.h
303
#define EDEADLOCK 58 304
305
extern int *__errno_location(void);
306
11.3.27 fcntl.h
307
#define F_GETLK64 12 308
#define F_SETLK64 13 309
#define F_SETLKW64 14 310
311
extern int lockf64(int, int, off64_t);
312
extern int fcntl(int, int, ...);
313
11.3.8 fmtmsg.h
314
extern int fmtmsg(long int, const char *, int, const char *, const char 315
*, 316
const char *);
317
11.3.9 fnmatch.h
318
extern int fnmatch(const char *, const char *, int);
319
11.3.10 ftw.h
320
extern int ftw(const char *, __ftw_func_t, int);
321
extern int ftw64(const char *, __ftw64_func_t, int);
322
extern int nftw(const char *, __nftw_func_t, int, int);
323
extern int nftw64(const char *, __nftw64_func_t, int, int);
324
11.3.11 getopt.h
325
extern int getopt_long(int, char *const, const char *, 326
const struct option *, int *);
327
extern int getopt_long_only(int, char *const, const char *, 328
const struct option *, int *);
329
11.3.12 glob.h
330
extern int glob(const char *, int, 331
int (*__errfunc) (const char *p1, int p2) 332
, glob_t *);
333
extern int glob64(const char *, int, 334
int (*__errfunc) (const char *p1, int p2) 335
, glob64_t *);
336
extern void globfree(glob_t *);
337
extern void globfree64(glob64_t *);
338
11.3.13 grp.h
339
extern void endgrent(void);
340
extern struct group *getgrent(void);
341
extern struct group *getgrgid(gid_t);
342
extern struct group *getgrnam(char *);
343
extern int initgroups(const char *, gid_t);
344
extern void setgrent(void);
345
extern int setgroups(size_t, const gid_t *);
346
extern int getgrgid_r(gid_t, struct group *, char *, size_t, 347
struct group **);
348
extern int getgrnam_r(const char *, struct group *, char *, size_t, 349
struct group **);
350
extern int getgrouplist(const char *, gid_t, gid_t *, int *);
351
11.3.14 iconv.h
352
extern size_t iconv(iconv_t, char **, size_t *, char **, size_t *);
353
extern int iconv_close(iconv_t);
354
extern iconv_t iconv_open(char *, char *);
355
11.3.15 inttypes.h
356
typedef long int intmax_t;
357
typedef unsigned long int uintmax_t;
358
typedef unsigned long int uintptr_t;
359
typedef unsigned long int uint64_t;
360 361
extern intmax_t strtoimax(const char *, char **, int);
362
extern uintmax_t strtoumax(const char *, char **, int);
363
extern intmax_t wcstoimax(const wchar_t *, wchar_t * *, int);
364
extern uintmax_t wcstoumax(const wchar_t *, wchar_t * *, int);
365
extern intmax_t imaxabs(intmax_t);
366
extern imaxdiv_t imaxdiv(intmax_t, intmax_t);
367
11.3.416 langinfo.h
368
extern char *nl_langinfo(nl_item);
369
11.3.17 libgen.h
370
extern char *basename(const char *);
371
extern char *dirname(char *);
372
11.3.18 libintl.h
373
extern char *bindtextdomain(const char *, const char *);
374
extern char *dcgettext(const char *, const char *, int);
375
extern char *dgettext(const char *, const char *);
376
extern char *gettext(const char *);
377
extern char *textdomain(const char *);
378
extern char *bind_textdomain_codeset(const char *, const char *);
379
extern char *dcngettext(const char *, const char *, const char *, 380
unsigned long int, int);
381
extern char *dngettext(const char *, const char *, const char *, 382
unsigned long int);
383
extern char *ngettext(const char *, const char *, unsigned long int);
384
11.3.19 limits.h
385
#define ULONG_MAX 0xFFFFFFFFFFFFFFFFUL 386
#define LONG_MAX 9223372036854775807L 387
388
#define CHAR_MIN 0 389
#define CHAR_MAX 255 390
391
#define PTHREAD_STACK_MIN 16384 392
11.3.5 setjmp.h
393
typedef long int __jmp_buf[64] __attribute__ ((aligned (16)));
394
11.3.6 signal.h
395
struct pt_regs 396
{ 397
unsigned long int gpr[32];
398
unsigned long int nip;
399
unsigned long int msr;
400
unsigned long int orig_gpr3;
401
unsigned long int ctr;
402
unsigned long int link;
403
unsigned long int xer;
404
unsigned long int ccr;
405
unsigned long int softe;
406
unsigned long int trap;
407
unsigned long int dar;
408
unsigned long int dsisr;
409
unsigned long int result;
410
} 411
; 412
413
#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int))-4) 414
415
#define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int))-4) 416
417
struct sigaction 418
{ 419
union 420
{ 421
sighandler_t _sa_handler;
422
void (*_sa_sigaction) (int, siginfo_t *, void *);
423
} 424
__sigaction_handler;
425
sigset_t sa_mask;
426
int sa_flags;
427
void (*sa_restorer) (void);
428
} 429
430 ;
#define MINSIGSTKSZ 2048 431
#define SIGSTKSZ 8192 432
433
struct sigcontext 434
{ 435
unsigned long int _unused[4];
436
int signal;
437
unsigned long int handler;
438
unsigned long int oldmask;
439
struct pt_regs *regs;
440
unsigned long int gp_regs[48];
441
double fp_regs[33];
442
} 443
444 ;
11.3.7 stddef.h
445
typedef unsigned long int size_t;
446
typedef long int ptrdiff_t;
447
11.3.8 stdio.h
448
#define __IO_FILE_SIZE 216 449
11.3.9 sys/ioctl.h
450
#define TIOCGWINSZ 0x40087468 451
#define FIONREAD 1074030207 452
#define TIOCNOTTY 21538 453
11.3.10 sys/ipc20 locale.h
454
struct ipc_perm 455
{ 456
key_t __key;
457
uid_t uid;
458
gid_t gid;
459
uid_t cuid;
460
gid_t cgid;
461
mode_t mode;
462
unsigned int __seq;
463
unsigned int __pad1;
464
unsigned long int __unused1;
465
unsigned long int __unused2;
466
} 467
468 ;
11.3.11 sys/mman.h
469
#define MCL_FUTURE 16384 470
#define MCL_CURRENT 8192 471
11.3.12 sys/msg.h
472
typedef unsigned long int msglen_t;
473
typedef unsigned long int msgqnum_t;
474 475
struct msqid_ds 476
{ 477
struct ipc_perm msg_perm;
478
time_t msg_stime;
479
time_t msg_rtime;
480
time_t msg_ctime;
481
unsigned long int __msg_cbytes;
482
msgqnum_t msg_qnum;
483
msglen_t msg_qbytes;
484
pid_t msg_lspid;
485
pid_t msg_lrpid;
486
unsigned long int __unused4;
487
unsigned long int __unused5;
488 489 }
; 490
11.3.13 sys/sem.h
extern struct lconv *localeconv(void);
491
extern char *setlocale(int, const char *);
492
extern locale_t uselocale(locale_t);
493
extern void freelocale(locale_t);
494
extern locale_t duplocale(locale_t);
495
extern locale_t newlocale(int, const char *, locale_t);
496
11.3.21 monetary.h
497
extern ssize_t strfmon(char *, size_t, const char *, ...);
498
11.3.22 net/if.h
499
extern void if_freenameindex(struct if_nameindex *);
500
extern char *if_indextoname(unsigned int, char *);
501
extern struct if_nameindex *if_nameindex(void);
502
extern unsigned int if_nametoindex(const char *);
503
11.3.23 netdb.h
504
extern void endprotoent(void);
505
extern void endservent(void);
506
extern void freeaddrinfo(struct addrinfo *);
507
extern const char *gai_strerror(int);
508
extern int getaddrinfo(const char *, const char *, const struct addrinfo 509
510 *,
struct addrinfo **);
511
extern struct hostent *gethostbyaddr(const void *, socklen_t, int);
512
extern struct hostent *gethostbyname(const char *);
513
extern struct protoent *getprotobyname(const char *);
514
extern struct protoent *getprotobynumber(int);
515
extern struct protoent *getprotoent(void);
516
extern struct servent *getservbyname(const char *, const char *);
517
extern struct servent *getservbyport(int, const char *);
518
extern struct servent *getservent(void);
519
extern void setprotoent(int);
520
extern void setservent(int);
521
extern int *__h_errno_location(void);
522
11.3.24 netinet/in.h
523
struct semid_ds 524
{ 525
struct ipc_perm sem_perm;
526
time_t sem_otime;
527
time_t sem_ctime;
528
unsigned long int sem_nsems;
529
unsigned long int __unused3;
530
unsigned long int __unused4;
531
} 532
; 533
11.3.14 sys/shm.h
534
#define SHMLBA (__getpagesize()) 535
536
typedef unsigned long int shmatt_t;
537 538
struct shmid_ds 539
{ 540
struct ipc_perm shm_perm;
541
time_t shm_atime;
542
time_t shm_dtime;
543
time_t shm_ctime;
544
size_t shm_segsz;
545
pid_t shm_cpid;
546
pid_t shm_lpid;
547
shmatt_t shm_nattch;
548
unsigned long int __unused5;
549
unsigned long int __unused6;
550
} 551
552 ;
11.3.15 sys/socket.h
553
typedef uint64_t __ss_aligntype;
554 555
#define SO_RCVLOWAT 16 556
#define SO_SNDLOWAT 17 557
#define SO_RCVTIMEO 18 558
#define SO_SNDTIMEO 19 559
11.3.16 sys/stat.h
560
#define _STAT_VER 1 561
562
struct stat 563
564 {
dev_t st_dev;
565
ino_t st_ino;
566
nlink_t st_nlink;
567
mode_t st_mode;
568
uid_t st_uid;
569
gid_t st_gid;
570
int __pad2;
571
dev_t st_rdev;
572
off_t st_size;
573
blksize_t st_blksize;
574
blkcnt_t st_blocks;
575
struct timespec st_atim;
576
struct timespec st_mtim;
577
struct timespec st_ctim;
578
unsigned long int __unused4;
579
unsigned long int __unused5;
580
unsigned long int __unused6;
581
} 582
; 583
struct stat64 584
{ 585
dev_t st_dev;
586
ino64_t st_ino;
587
nlink_t st_nlink;
588
mode_t st_mode;
589
uid_t st_uid;
590
gid_t st_gid;
591
int __pad2;
592
dev_t st_rdev;
593
off64_t st_size;
594
blksize_t st_blksize;
595
blkcnt64_t st_blocks;
596
struct timespec st_atim;
597
struct timespec st_mtim;
598
struct timespec st_ctim;
599
unsigned long int __unused4;
600
unsigned long int __unused5;
601
unsigned long int __unused6;
602
} 603
604 ;
11.3.17 sys/statvfs.h
extern int bindresvport(int, struct sockaddr_in *);
605
11.3.25 netinet/ip.h
606
/*
607
* This header is architecture neutral 608
* Please refer to the generic specification for details 609
610 */
11.3.26 netinet/tcp.h
611
/*
612
* This header is architecture neutral 613
* Please refer to the generic specification for details 614
*/
615
11.3.27 netinet/udp.h
616
/*
617
* This header is architecture neutral 618
* Please refer to the generic specification for details 619
*/
620
11.3.28 nl_types.h
621
extern int catclose(nl_catd);
622
extern char *catgets(nl_catd, int, int, const char *);
623
extern nl_catd catopen(const char *, int);
624
11.3.29 poll.h
625
extern int poll(struct pollfd *, nfds_t, int);
626
11.3.30 pty.h
627
extern int openpty(int *, int *, char *, struct termios *, 628
struct winsize *);
629
extern int forkpty(int *, char *, struct termios *, struct winsize *);
630
11.3.31 pwd.h
631
extern void endpwent(void);
632
extern struct passwd *getpwent(void);
633
extern struct passwd *getpwnam(char *);
634
extern struct passwd *getpwuid(uid_t);
635
extern void setpwent(void);
636
extern int getpwnam_r(char *, struct passwd *, char *, size_t, 637
struct passwd **);
638
extern int getpwuid_r(uid_t, struct passwd *, char *, size_t, 639
struct passwd **);
640
11.3.32 regex.h
641
struct statvfs 642
{ 643
unsigned long int f_bsize;
644
unsigned long int f_frsize;
645
fsblkcnt_t f_blocks;
646
fsblkcnt_t f_bfree;
647
fsblkcnt_t f_bavail;
648
fsfilcnt_t f_files;
649
fsfilcnt_t f_ffree;
650
fsfilcnt_t f_favail;
651
unsigned long int f_fsid;
652
unsigned long int f_flag;
653
unsigned long int f_namemax;
654
int __f_spare[6];
655
} 656
; 657
struct statvfs64 658
{ 659
unsigned long int f_bsize;
660
unsigned long int f_frsize;
661
fsblkcnt64_t f_blocks;
662
fsblkcnt64_t f_bfree;
663
fsblkcnt64_t f_bavail;
664
fsfilcnt64_t f_files;
665
fsfilcnt64_t f_ffree;
666
fsfilcnt64_t f_favail;
667
unsigned long int f_fsid;
668
unsigned long int f_flag;
669
unsigned long int f_namemax;
670
int __f_spare[6];
671
} 672
; 673
11.3.18 sys/types.h
674
typedef long int int64_t;
675 676
typedef int64_t ssize_t;
677 678
#define __FDSET_LONGS 16 679
11.3.19 termios.h
680
#define TAB1 1024 681
#define CR3 12288 682
#define CRDLY 12288 683
#define FF1 16384 684
#define FFDLY 16384 685
#define XCASE 16384 686
#define ONLCR 2 687
#define TAB2 2048 688
#define TAB3 3072 689
#define TABDLY 3072 690
#define BS1 32768 691
#define BSDLY 32768 692
#define OLCUC 4 693
#define CR1 4096 694
#define IUCLC 4096 695
#define VT1 65536 696
#define VTDLY 65536 697
#define NLDLY 768 698
#define CR2 8192 699
700
#define VWERASE 10 701
#define VREPRINT 11 702
#define VSUSP 12 703
#define VSTART 13 704
#define VSTOP 14 705
#define VDISCARD 16 706
#define VMIN 5 707
#define VEOL 6 708
#define VEOL2 8 709
#define VSWTC 9 710
711
#define IXOFF 1024 712
#define IXON 512 713
714
#define CSTOPB 1024 715
#define HUPCL 16384 716
#define CREAD 2048 717
#define CS6 256 718
#define CLOCAL 32768 719
#define PARENB 4096 720
#define CS7 512 721
#define VTIME 7 722
#define CS8 768 723
#define CSIZE 768 724
#define PARODD 8192 725
726
#define NOFLSH 0x80000000 727
#define ECHOKE 1 728
#define IEXTEN 1024 729
#define ISIG 128 730
#define ECHONL 16 731
#define ECHOE 2 732
#define ICANON 256 733
#define ECHOPRT 32 734
#define ECHOK 4 735
#define TOSTOP 4194304 736
#define PENDIN 536870912 737
#define ECHOCTL 64 738
#define FLUSHO 8388608 739
11.3.20 ucontext.h
extern int regcomp(regex_t *, const char *, int);
740
extern size_t regerror(int, const regex_t *, char *, size_t);
741
extern int regexec(const regex_t *, const char *, size_t, regmatch_t, 742
int);
743
extern void regfree(regex_t *);
744
11.3.33 rpc/auth.h
745
extern struct AUTH *authnone_create(void);
746
extern int key_decryptsession(char *, union des_block *);
747
extern bool_t xdr_opaque_auth(XDR *, struct opaque_auth *);
748
11.3.34 rpc/clnt.h
749
extern struct CLIENT *clnt_create(const char *, const u_long, const 750
u_long, 751
const char *);
752
extern void clnt_pcreateerror(const char *);
753
extern void clnt_perrno(enum clnt_stat);
754
extern void clnt_perror(struct CLIENT *, const char *);
755
extern char *clnt_spcreateerror(const char *);
756
extern char *clnt_sperrno(enum clnt_stat);
757
extern char *clnt_sperror(struct CLIENT *, const char *);
758
11.3.35 rpc/pmap_clnt.h
759
extern u_short pmap_getport(struct sockaddr_in *, const u_long, 760
const u_long, u_int);
761
extern bool_t pmap_set(const u_long, const u_long, int, u_short);
762
extern bool_t pmap_unset(u_long, u_long);
763
11.3.36 rpc/rpc_msg.h
764
extern bool_t xdr_callhdr(XDR *, struct rpc_msg *);
765
11.3.37 rpc/svc.h
766
extern void svc_getreqset(fd_set *);
767
extern bool_t svc_register(SVCXPRT *, rpcprog_t, rpcvers_t, 768
__dispatch_fn_t, rpcprot_t);
769
extern void svc_run(void);
770
extern bool_t svc_sendreply(SVCXPRT *, xdrproc_t, caddr_t);
771
extern void svcerr_auth(SVCXPRT *, enum auth_stat);
772
extern void svcerr_decode(SVCXPRT *);
773
extern void svcerr_noproc(SVCXPRT *);
774
extern void svcerr_noprog(SVCXPRT *);
775
extern void svcerr_progvers(SVCXPRT *, rpcvers_t, rpcvers_t);
776
extern void svcerr_systemerr(SVCXPRT *);
777
extern void svcerr_weakauth(SVCXPRT *);
778
extern SVCXPRT *svctcp_create(int, u_int, u_int);
779
extern SVCXPRT *svcudp_create(int);
780
11.3.38 rpc/types.h
781
/*
782
* This header is architecture neutral 783
* Please refer to the generic specification for details 784
785 */
11.3.39 rpc/xdr.h
786
extern bool_t xdr_array(XDR *, caddr_t *, u_int *, u_int, u_int, 787
xdrproc_t);
788
extern bool_t xdr_bool(XDR *, bool_t *);
789
extern bool_t xdr_bytes(XDR *, char **, u_int *, u_int);
790
extern bool_t xdr_char(XDR *, char *);
791
extern bool_t xdr_double(XDR *, double *);
792
extern bool_t xdr_enum(XDR *, enum_t *);
793
extern bool_t xdr_float(XDR *, float *);
794
extern void xdr_free(xdrproc_t, char *);
795
extern bool_t xdr_int(XDR *, int *);
796
extern bool_t xdr_long(XDR *, long int *);
797
extern bool_t xdr_opaque(XDR *, caddr_t, u_int);
798
extern bool_t xdr_pointer(XDR *, char **, u_int, xdrproc_t);
799
extern bool_t xdr_reference(XDR *, caddr_t *, u_int, xdrproc_t);
800
extern bool_t xdr_short(XDR *, short *);
801
extern bool_t xdr_string(XDR *, char **, u_int);
802
extern bool_t xdr_u_char(XDR *, u_char *);
803
extern bool_t xdr_u_int(XDR *, u_int *);
804
extern bool_t xdr_u_long(XDR *, u_long *);
805
extern bool_t xdr_u_short(XDR *, u_short *);
806
extern bool_t xdr_union(XDR *, enum_t *, char *, 807
const struct xdr_discrim *, xdrproc_t);
808
extern bool_t xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t);
809
extern bool_t xdr_void(void);
810
extern bool_t xdr_wrapstring(XDR *, char **);
811
extern void xdrmem_create(XDR *, caddr_t, u_int, enum xdr_op);
812
extern void xdrrec_create(XDR *, u_int, u_int, caddr_t, 813
int (*__readit) (char *p1, char *p2, int p3) 814
, int (*__writeit) (char *p1, char *p2, int 815
816 p3)
);
817
extern typedef int bool_t xdrrec_eof(XDR *);
818
11.3.40 sched.h
819
extern int sched_get_priority_max(int);
820
extern int sched_get_priority_min(int);
821
extern int sched_getparam(pid_t, struct sched_param *);
822
extern int sched_getscheduler(pid_t);
823
extern int sched_rr_get_interval(pid_t, struct timespec *);
824
extern int sched_setparam(pid_t, const struct sched_param *);
825
extern int sched_setscheduler(pid_t, int, const struct sched_param *);
826
extern int sched_yield(void);
827
11.3.41 search.h
828
typedef struct _libc_vscr 829
{ 830
int __pad[3];
831
int vscr_word;
832
} 833
vscr_t;
834
typedef struct _libc_vrstate 835
{ 836
unsigned int vrregs[128];
837
vscr_t vscr;
838
unsigned int vrsave;
839
unsigned int __pad[3];
840
} 841
vrregset_t __attribute__ ((__aligned__ (16)));
842 843
#define NGREG 48 844
845
typedef unsigned long int gregset_t[48];
846 847
typedef double fpregset_t[33];
848 849
typedef struct 850
{ 851
unsigned long int __unused[4];
852
int signal;
853
int pad0;
854
unsigned long int handler;
855
unsigned long int oldmask;
856
struct pt_regs *regs;
857
gregset_t gp_regs;
858
fpregset_t fp_regs;
859
vrregset_t *v_regs;
860
long int vmx_reserve[69];
861 862 }
mcontext_t;
863 864
typedef struct ucontext 865
866 {
unsigned long int uc_flags;
867
struct ucontext *uc_link;
868
stack_t uc_stack;
869
sigset_t uc_sigmask;
870
mcontext_t uc_mcontext;
871 872 }
ucontext_t;
873
11.3.21 unistd.h
874
typedef long int intptr_t;
875
11.3.22 utmp.h
extern int hcreate(size_t);
876
extern ENTRY *hsearch(ENTRY, ACTION);
877
extern void insque(void *, void *);
878
extern void *lfind(const void *, const void *, size_t *, size_t, 879
__compar_fn_t);
880
extern void *lsearch(const void *, void *, size_t *, size_t, 881
__compar_fn_t);
882
extern void remque(void *);
883
extern void hdestroy(void);
884
extern void *tdelete(const void *, void **, __compar_fn_t);
885
extern void *tfind(const void *, void *const *, __compar_fn_t);
886
extern void *tsearch(const void *, void **, __compar_fn_t);
887
extern void twalk(const void *, __action_fn_t);
888
11.3.42 setjmp.h
889
typedef long int __jmp_buf[64] __attribute__ ((aligned(16)));
890 891
extern int __sigsetjmp(jmp_buf, int);
892
extern void longjmp(jmp_buf, int);
893
extern void siglongjmp(sigjmp_buf, int);
894
extern void _longjmp(jmp_buf, int);
895
extern int _setjmp(jmp_buf);
896
11.3.43 signal.h
897
struct pt_regs { 898
unsigned long int gpr[32];
899
unsigned long int nip;
900
unsigned long int msr;
901
unsigned long int orig_gpr3;
902
unsigned long int ctr;
903
unsigned long int link;
904
unsigned long int xer;
905
unsigned long int ccr;
906
unsigned long int softe;
907
unsigned long int trap;
908
unsigned long int dar;
909
unsigned long int dsisr;
910
unsigned long int result;
911 912 };
913
#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int))-4) 914
915
#define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int))-4) 916
917
struct sigaction { 918
union { 919
sighandler_t _sa_handler;
920
void (*_sa_sigaction) (int, siginfo_t *, void *);
921
} __sigaction_handler;
922
sigset_t sa_mask;
923
int sa_flags;
924
void (*sa_restorer) (void);
925
};
926 927
struct lastlog 928
929 {
int32_t ll_time;
930
char ll_line[UT_LINESIZE];
931
char ll_host[UT_HOSTSIZE];
932
} 933
; 934
935
struct utmp
char ut_line[UT_LINESIZE];
940
char ut_id[4];
941
char ut_user[UT_NAMESIZE];
942
char ut_host[UT_HOSTSIZE];
943
struct exit_status ut_exit;
944
int32_t ut_session;
945
int32_t ut_addr_v6[4];
952
11.3.23 utmpx.h
956
struct utmpx 957
char ut_line[UT_LINESIZE];
961
char ut_id[4];
962
char ut_user[UT_NAMESIZE];
963
char ut_host[UT_HOSTSIZE];
964
struct exit_status ut_exit;
965
int32_t ut_session;
966
int32_t ut_addr_v6[4];
973
struct sigcontext { 980
extern int __libc_current_sigrtmax(void);
989
extern int __libc_current_sigrtmin(void);
990
extern sighandler_t __sysv_signal(int, sighandler_t);
991
extern char *const _sys_siglist(void);
992
extern int killpg(pid_t, int);
993
extern void psignal(int, const char *);
994
extern int raise(int);
995
extern int sigaddset(sigset_t *, int);
996
extern int sigandset(sigset_t *, const sigset_t *, const sigset_t *);
997
extern int sigdelset(sigset_t *, int);
998
extern int sigemptyset(sigset_t *);
999
extern int sigfillset(sigset_t *);
1000
extern int sighold(int);
1001
extern int sigignore(int);
1002
extern int siginterrupt(int, int);
1003
extern int sigisemptyset(const sigset_t *);
1004
extern int sigismember(const sigset_t *, int);
1005
extern int sigorset(sigset_t *, const sigset_t *, const sigset_t *);
1006
extern int sigpending(sigset_t *);
1007
extern int sigrelse(int);
1008
extern sighandler_t sigset(int, sighandler_t);
1009
extern int pthread_kill(pthread_t, int);
1010
extern int pthread_sigmask(int, sigset_t *, sigset_t *);
1011
extern int sigaction(int, const struct sigaction *, struct sigaction *);
1012
extern int sigwait(sigset_t *, int *);
1013
extern int kill(pid_t, int);
1014
extern int sigaltstack(const struct sigaltstack *, struct sigaltstack 1015
*);
1016
extern sighandler_t signal(int, sighandler_t);
1017
extern int sigpause(int);
1018
extern int sigprocmask(int, const sigset_t *, sigset_t *);
1019
extern int sigreturn(struct sigcontext *);
1020
extern int sigsuspend(const sigset_t *);
1021
extern int sigqueue(pid_t, int, const union sigval);
1022
extern int sigwaitinfo(const sigset_t *, siginfo_t *);
1023
extern int sigtimedwait(const sigset_t *, siginfo_t *, 1024
const struct timespec *);
1025
extern sighandler_t bsd_signal(int, sighandler_t);
1026
11.3.44 stddef.h
1027
typedef unsigned long int size_t;
1028
typedef long int ptrdiff_t;
1029
11.3.45 stdio.h
1030
#define __IO_FILE_SIZE 216 1031
1032
extern char *const _sys_errlist(void);
1033
extern void clearerr(FILE *);
1034
extern int fclose(FILE *);
1035
extern FILE *fdopen(int, const char *);
1036
extern int fflush_unlocked(FILE *);
1037
extern int fileno(FILE *);
1038
extern FILE *fopen(const char *, const char *);
1039
extern int fprintf(FILE *, const char *, ...);
1040
extern int fputc(int, FILE *);
1041
extern FILE *freopen(const char *, const char *, FILE *);
1042
extern FILE *freopen64(const char *, const char *, FILE *);
1043
extern int fscanf(FILE *, const char *, ...);
1044
extern int fseek(FILE *, long int, int);
1045
extern int fseeko(FILE *, off_t, int);
1046
extern int fseeko64(FILE *, loff_t, int);
1047
extern off_t ftello(FILE *);
1048
extern loff_t ftello64(FILE *);
1049
extern int getchar(void);
1050
extern int getchar_unlocked(void);
1051
extern int getw(FILE *);
1052
extern int pclose(FILE *);
1053
extern void perror(const char *);
1054
extern FILE *popen(const char *, const char *);
1055
extern int printf(const char *, ...);
1056
extern int putc_unlocked(int, FILE *);
1057
extern int putchar(int);
1058
extern int putchar_unlocked(int);
1059
extern int putw(int, FILE *);
1060
extern int remove(const char *);
1061
extern void rewind(FILE *);
1062
extern int scanf(const char *, ...);
1063
extern void setbuf(FILE *, char *);
1064
extern int sprintf(char *, const char *, ...);
1065
extern int sscanf(const char *, const char *, ...);
1066
extern FILE *stderr(void);
1067
extern FILE *stdin(void);
1068
extern FILE *stdout(void);
1069
extern char *tempnam(const char *, const char *);
1070
extern FILE *tmpfile64(void);
1071
extern FILE *tmpfile(void);
1072
extern char *tmpnam(char *);
1073
extern int vfprintf(FILE *, const char *, va_list);
1074
extern int vprintf(const char *, va_list);
1075
extern int feof(FILE *);
1076
extern int ferror(FILE *);
1077
extern int fflush(FILE *);
1078
extern int fgetc(FILE *);
1079
extern int fgetpos(FILE *, fpos_t *);
1080
extern char *fgets(char *, int, FILE *);
1081
extern int fputs(const char *, FILE *);
1082
extern size_t fread(void *, size_t, size_t, FILE *);
1083
extern int fsetpos(FILE *, const fpos_t *);
1084
extern long int ftell(FILE *);
1085
extern size_t fwrite(const void *, size_t, size_t, FILE *);
1086
extern int getc(FILE *);
1087
extern int putc(int, FILE *);
1088
extern int puts(const char *);
1089
extern int setvbuf(FILE *, char *, int, size_t);
1090
extern int snprintf(char *, size_t, const char *, ...);
1091
extern int ungetc(int, FILE *);
1092
extern int vsnprintf(char *, size_t, const char *, va_list);
1093
extern int vsprintf(char *, const char *, va_list);
1094
extern void flockfile(FILE *);
1095
extern int asprintf(char **, const char *, ...);
1096
extern int fgetpos64(FILE *, fpos64_t *);
1097
extern FILE *fopen64(const char *, const char *);
1098
extern int fsetpos64(FILE *, const fpos64_t *);
1099
extern int ftrylockfile(FILE *);
1100
extern void funlockfile(FILE *);
1101
extern int getc_unlocked(FILE *);
1102
extern void setbuffer(FILE *, char *, size_t);
1103
extern int vasprintf(char **, const char *, va_list);
1104
extern int vdprintf(int, const char *, va_list);
1105
extern int vfscanf(FILE *, const char *, va_list);
1106
extern int vscanf(const char *, va_list);
1107
extern int vsscanf(const char *, const char *, va_list);
1108
extern size_t __fpending(FILE *);
1109
11.3.46 stdlib.h
1110
extern double __strtod_internal(const char *, char **, int);
1111
extern float __strtof_internal(const char *, char **, int);
1112
extern long int __strtol_internal(const char *, char **, int, int);
1113
extern long double __strtold_internal(const char *, char **, int);
1114
extern long long int __strtoll_internal(const char *, char **, int, int);
1115
extern unsigned long int __strtoul_internal(const char *, char **, int, 1116
int);
1117
extern unsigned long long int __strtoull_internal(const char *, char **, 1118
int, int);
1119
extern long int a64l(const char *);
1120
extern void abort(void);
1121
extern int abs(int);
1122
extern double atof(const char *);
1123
extern int atoi(char *);
1124
extern long int atol(char *);
1125
extern long long int atoll(const char *);
1126
extern void *bsearch(const void *, const void *, size_t, size_t, 1127
__compar_fn_t);
1128
extern div_t div(int, int);
1129
extern double drand48(void);
1130
extern char *ecvt(double, int, int *, int *);
1131
extern double erand48(unsigned short);
1132
extern void exit(int);
1133
extern char *fcvt(double, int, int *, int *);
1134
extern char *gcvt(double, int, char *);
1135
extern char *getenv(const char *);
1136
extern int getsubopt(char **, char *const *, char **);
1137
extern int grantpt(int);
1138
extern long int jrand48(unsigned short);
1139
extern char *l64a(long int);
1140
extern long int labs(long int);
1141
extern void lcong48(unsigned short);
1142
extern ldiv_t ldiv(long int, long int);
1143
extern long long int llabs(long long int);
1144
extern lldiv_t lldiv(long long int, long long int);
1145
extern long int lrand48(void);
1146
extern int mblen(const char *, size_t);
1147
extern size_t mbstowcs(wchar_t *, const char *, size_t);
1148
extern int mbtowc(wchar_t *, const char *, size_t);
1149
extern char *mktemp(char *);
1150
extern long int mrand48(void);
1151
extern long int nrand48(unsigned short);
1152
extern char *ptsname(int);
1153
extern int putenv(char *);
1154
extern void qsort(void *, size_t, size_t, __compar_fn_t);
1155
extern int rand(void);
1156
extern int rand_r(unsigned int *);
1157
extern unsigned short *seed48(unsigned short);
1158
extern void srand48(long int);
1159
extern int unlockpt(int);
1160
extern size_t wcstombs(char *, const wchar_t *, size_t);
1161
extern int wctomb(char *, wchar_t);
1162
extern int system(const char *);
1163
extern void *calloc(size_t, size_t);
1164
extern void free(void *);
1165
extern char *initstate(unsigned int, char *, size_t);
1166
extern void *malloc(size_t);
1167
extern long int random(void);
1168
extern void *realloc(void *, size_t);
1169
extern char *setstate(char *);
1170
extern void srand(unsigned int);
1171
extern void srandom(unsigned int);
1172
extern double strtod(char *, char **);
1173
extern float strtof(const char *, char **);
1174
extern long int strtol(char *, char **, int);
1175
extern long double strtold(const char *, char **);
1176
extern long long int strtoll(const char *, char **, int);
1177
extern long long int strtoq(const char *, char **, int);
1178
extern unsigned long int strtoul(const char *, char **, int);
1179
extern unsigned long long int strtoull(const char *, char **, int);
1180
extern unsigned long long int strtouq(const char *, char **, int);
1181
extern void _Exit(int);
1182
extern size_t __ctype_get_mb_cur_max(void);
1183
extern char **environ(void);
1184
extern char *realpath(const char *, char *);
1185
extern int setenv(const char *, const char *, int);
1186
extern int unsetenv(const char *);
1187
extern int getloadavg(double, int);
1188
extern int mkstemp64(char *);
1189
extern int posix_memalign(void **, size_t, size_t);
1190
extern int posix_openpt(int);
1191
11.3.47 string.h
1192
extern void *__mempcpy(void *, const void *, size_t);
1193
extern char *__stpcpy(char *, const char *);
1194
extern char *__strtok_r(char *, const char *, char **);
1195
extern void bcopy(void *, void *, size_t);
1196
extern void *memchr(void *, int, size_t);
1197
extern int memcmp(void *, void *, size_t);
1198
extern void *memcpy(void *, void *, size_t);
1199
extern void *memmem(const void *, size_t, const void *, size_t);
1200
extern void *memmove(void *, const void *, size_t);
1201
extern void *memset(void *, int, size_t);
1202
extern char *strcat(char *, const char *);
1203
extern char *strchr(char *, int);
1204
extern int strcmp(char *, char *);
1205
extern int strcoll(const char *, const char *);
1206
extern char *strcpy(char *, char *);
1207
extern size_t strcspn(const char *, const char *);
1208
extern char *strerror(int);
1209
extern size_t strlen(char *);
1210
extern char *strncat(char *, char *, size_t);
1211
extern int strncmp(char *, char *, size_t);
1212
extern char *strncpy(char *, char *, size_t);
1213
extern char *strpbrk(const char *, const char *);
1214
extern char *strrchr(char *, int);
1215
extern char *strsignal(int);
1216
extern size_t strspn(const char *, const char *);
1217
extern char *strstr(char *, char *);
1218
extern char *strtok(char *, const char *);
1219
extern size_t strxfrm(char *, const char *, size_t);
1220
extern int bcmp(void *, void *, size_t);
1221
extern void bzero(void *, size_t);
1222
extern int ffs(int);
1223
extern char *index(char *, int);
1224
extern void *memccpy(void *, const void *, int, size_t);
1225
extern char *rindex(char *, int);
1226
extern int strcasecmp(char *, char *);
1227
extern char *strdup(char *);
1228
extern int strncasecmp(char *, char *, size_t);
1229
extern char *strndup(const char *, size_t);
1230
extern size_t strnlen(const char *, size_t);
1231
extern char *strsep(char **, const char *);
1232
extern char *strerror_r(int, char *, size_t);
1233
extern char *strtok_r(char *, const char *, char **);
1234
extern char *strcasestr(const char *, const char *);
1235
extern char *stpcpy(char *, const char *);
1236
extern char *stpncpy(char *, const char *, size_t);
1237
extern void *memrchr(const void *, int, size_t);
1238
11.3.48 sys/file.h
1239
extern int flock(int, int);
1240
11.3.49 sys/ioctl.h
1241
#define TIOCGWINSZ 0x40087468 1242
#define FIONREAD 1074030207 1243
#define TIOCNOTTY 21538 1244
1245
extern int ioctl(int, unsigned long int, ...);
1246
11.3.50 sys/ipc.h
1247
struct ipc_perm { 1248
key_t __key;
1249
uid_t uid;
uid_t uid;