• No results found

Data Definitions for libc11.1 Program Interpreter/Dynamic Linker33

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;

Related documents