1 Linux Standard Base Core Specification 2.0 2 3 Copyright ? 2004 Free Standards Group 4 5 Permission is granted to copy, distribute and/or modify this document under the 6 terms of the GNU Free Documentation License, Version 1.1; with no Invariant 7 Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of 8 the license is included in the section entitled "GNU Free Documentation 9 License". 10 11 Portions of the text are copyrighted by the following parties: 12 13 * The Regents of the University of California 14 15 * Free Software Foundation 16 17 * Ian F. Darwin 18 19 * Paul Vixie 20 21 * BSDI (now Wind River) 22 23 * Andrew G Morgan 24 25 * Jean-loup Gailly and Mark Adler 26 27 * Massachusetts Institute of Technology 28 29 These excerpts are being used in accordance with their respective licenses. 30 31 Linux is a trademark of Linus Torvalds. 32 33 UNIX a registered trademark of the Open Group in the United States and other 34 countries. 35 36 LSB is a trademark of the Free Standards Group in the USA and other countries. 37 38 AMD is a trademark of Advanced Micro Devices, Inc. 39 40 Intel and Itanium are registered trademarks and Intel386 is a trademarks of 41 Intel Corporation. 42 43 OpenGL is a registered trademark of Silicon Graphics, Inc. 44 45 Table of Contents 46 Specification Introduction 47 ELF Specification 48 Linux Standard Base Specification 49 Linux Packaging Specification 50 51 Specification Introduction 52 53 ------------------------------------------------------------------------------- 54 55 Table of Contents 56 Foreword 57 Introduction 58 I. Introductory Elements 59 60 1. Scope 61 62 General 63 Module Specific Scope 64 65 2. Normative References 66 3. Requirements 67 68 Relevant Libraries 69 LSB Implementation Conformance 70 LSB Application Conformance 71 72 4. Definitions 73 5. Terminology 74 75 List of Tables 76 2-1. Normative References 77 3-1. Standard Library Names 78 3-2. Standard Library Names defined in the Architecture Specific Supplement 79 80 ------------------------------------------------------------------------------- 81 82 Foreword 83 84 This is version 2.0 of the Linux Standard Base Core Specification. An 85 implementation of this version of the specification may not claim to be an 86 implementation of the Linux Standard Base unless it has successfully completed 87 the compliance process as defined by the Free Standards Group. 88 89 ------------------------------------------------------------------------------- 90 91 Introduction 92 93 The LSB defines a binary interface for application programs that are compiled 94 and packaged for LSB-conforming implementations on many different hardware 95 architectures. Since a binary specification shall include information specific 96 to the computer processor architecture for which it is intended, it is not 97 possible for a single document to specify the interface for all possible 98 LSB-conforming implementations. Therefore, the LSB is a family of 99 specifications, rather than a single one. 100 101 This document should be used in conjunction with the documents it references. 102 This document enumerates the system components it includes, but descriptions of 103 those components may be included entirely or partly in this document, partly in 104 other documents, or entirely in other reference documents. For example, the 105 section that describes system service routines includes a list of the system 106 routines supported in this interface, formal declarations of the data 107 structures they use that are visible to applications, and a pointer to the 108 underlying referenced specification for information about the syntax and 109 semantics of each call. Only those routines not described in standards 110 referenced by this document, or extensions to those standards, are described in 111 the detail. Information referenced in this way is as much a part of this 112 document as is the information explicitly included here. 113 114 I. Introductory Elements 115 116 Table of Contents 117 1. Scope 118 2. Normative References 119 3. Requirements 120 4. Definitions 121 5. Terminology 122 123 ------------------------------------------------------------------------------- 124 125 Chapter 1. Scope 126 127 General 128 129 The Linux Standard Base (LSB) defines a system interface for compiled 130 applications and a minimal environment for support of installation scripts. Its 131 purpose is to enable a uniform industry standard environment for high-volume 132 applications conforming to the LSB. 133 134 These specifications are composed of two basic parts: A common specification 135 ("LSB-generic") describing those parts of the interface that remain constant 136 across all implementations of the LSB, and an architecture-specific 137 specification ("LSB-arch") describing the parts of the interface that vary by 138 processor architecture. Together, the LSB-generic and the architecture-specific 139 supplement for a single hardware architecture provide a complete interface 140 specification for compiled application programs on systems that share a common 141 hardware architecture. 142 143 The LSB-generic document shall be used in conjunction with an 144 architecture-specific supplement. Whenever a section of the LSB-generic 145 specification shall be supplemented by architecture-specific information, the 146 LSB-generic document includes a reference to the architecture supplement. 147 Architecture supplements may also contain additional information that is not 148 referenced in the LSB-generic document. 149 150 The LSB contains both a set of Application Program Interfaces (APIs) and 151 Application Binary Interfaces (ABIs). APIs may appear in the source code of 152 portable applications, while the compiled binary of that application may use 153 the larger set of ABIs. A conforming implementation shall provide all of the 154 ABIs listed here. The compilation system may replace (e.g. by macro definition) 155 certain APIs with calls to one or more of the underlying binary interfaces, and 156 may insert calls to binary interfaces as needed. 157 158 The LSB is primarily a binary interface definition. Not all of the source level 159 APIs available to applications may be contained in this specification. 160 161 ------------------------------------------------------------------------------- 162 163 Module Specific Scope 164 165 This is the Core module of the Linux Standards Base (LSB). This module provides 166 the fundemental system interfaces, libraries, and runtime environment upon 167 which all conforming applications and libraries depend. 168 169 Interfaces described in this module are mandatory except where explicitly 170 listed otherwise. Core interfaces may be supplemented by other modules; all 171 modules are built upon the core. 172 173 ------------------------------------------------------------------------------- 174 175 Chapter 2. Normative References 176 177 The specifications listed below are referenced in whole or in part by the Linux 178 Standard Base. In this specification, where only a particular section of one of 179 these references is identified, then the normative reference is to that section 180 alone, and the rest of the referenced document is informative. 181 182 Table 2-1. Normative References 183 184 +-----------------------------------------------------------------------------+ 185 |System V Application Binary Interface - DRAFT - |http://www.caldera.com/ | 186 |17 December 2003 |developers/gabi/2003-12-17/ | 187 | |contents.html | 188 |------------------------------------------------+----------------------------| 189 |DWARF Debugging Information Format, Revision |http://www.eagercon.com/ | 190 |2.0.0 (July 27, 1993) |dwarf/dwarf-2.0.0.pdf | 191 |------------------------------------------------+----------------------------| 192 |Filesystem Hierarchy Standard (FHS) 2.3 |http://www.pathname.com/fhs/| 193 |------------------------------------------------+----------------------------| 194 |IEEE Standard 754 for Binary Floating-Point |http://www.ieee.org/ | 195 |Arithmetic | | 196 |------------------------------------------------+----------------------------| 197 |System V Application Binary Interface, Edition |http://www.caldera.com/ | 198 |4.1 |developers/devspecs/ | 199 | |gabi41.pdf | 200 |------------------------------------------------+----------------------------| 201 |ISO/IEC 9899: 1999, Programming Languages --C | | 202 |------------------------------------------------+----------------------------| 203 |Linux Assigned Names And Numbers Authority |http://www.lanana.org/ | 204 |------------------------------------------------+----------------------------| 205 | |http://www.UNIX-systems.org/| 206 |Large File Support |version2/whatsnew/ | 207 | |lfs20mar.html | 208 |------------------------------------------------+----------------------------| 209 |LI18NUX 2000 Globalization Specification, |http://www.li18nux.org/docs/| 210 |Version 1.0 with Amendment 4 |html/LI18NUX-2000-amd4.htm | 211 |------------------------------------------------+----------------------------| 212 |Linux Standard Base |http://www.linuxbase.org/ | 213 | |spec/ | 214 |------------------------------------------------+----------------------------| 215 | |http://www.opengroup.org/ | 216 |OSF-RFC 86.0 |tech/rfc/mirror-rfc/ | 217 | |rfc86.0.txt | 218 |------------------------------------------------+----------------------------| 219 |RFC 1833: Binding Protocols for ONC RPC Version |http://www.ietf.org/rfc/ | 220 |2 |rfc1833.txt | 221 |------------------------------------------------+----------------------------| 222 |RFC 1952: GZIP file format specification version|http://www.ietf.org/rfc/ | 223 |4.3 |rfc1952.txt | 224 |------------------------------------------------+----------------------------| 225 |RFC 2440: OpenPGP Message Format |http://www.ietf.org/rfc/ | 226 | |rfc2440.txt | 227 |------------------------------------------------+----------------------------| 228 |CAE Specification, May 1996, X/Open Curses, |http://www.opengroup.org/ | 229 |Issue 4, Version 2 (ISBN: 1-85912-171-3, C610), |publications/catalog/un.htm | 230 |plus Corrigendum U018 | | 231 |------------------------------------------------+----------------------------| 232 |The Single UNIX Specification(SUS) Version 2, |http://www.opengroup.org/ | 233 |Commands and Utilities (XCU), Issue 5 (ISBN: |publications/catalog/un.htm | 234 |1-85912-191-8, C604) | | 235 |------------------------------------------------+----------------------------| 236 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 237 |Interfaces and Headers (XSH),Issue 5 (ISBN: |publications/catalog/un.htm | 238 |1-85912-181-0, C606) | | 239 |------------------------------------------------+----------------------------| 240 |ISO/IEC 9945:2003 Portable Operating System |http://www.unix.org/version3| 241 |(POSIX)and The Single UNIX Specification(SUS) |/ | 242 |V3 | | 243 |------------------------------------------------+----------------------------| 244 |System V Interface Definition, Issue 3 (ISBN | | 245 |0201566524) | | 246 |------------------------------------------------+----------------------------| 247 |System V Interface Definition,Fourth Edition | | 248 |------------------------------------------------+----------------------------| 249 |zlib 1.2 Manual |http://www.gzip.org/zlib/ | 250 +-----------------------------------------------------------------------------+ 251 ------------------------------------------------------------------------------- 252 253 Chapter 3. Requirements 254 255 Relevant Libraries 256 257 The libraries listed in Table 3-1 shall be available on a Linux Standard Base 258 system, with the specified runtime names. The libraries listed in Table 3-2 are 259 architecture specific, but shall be available on all LSB conforming systems. 260 This list may be supplemented or amended by the architecture-specific 261 specification. 262 263 Table 3-1. Standard Library Names 264 265 +---------------------------+ 266 | Library | Runtime Name | 267 |----------+----------------| 268 |libdl |libdl.so.2 | 269 |----------+----------------| 270 |libcrypt |libcrypt.so.1 | 271 |----------+----------------| 272 |libz |libz.so.1 | 273 |----------+----------------| 274 |libncurses|libncurses.so.5 | 275 |----------+----------------| 276 |libutil |libutil.so.1 | 277 |----------+----------------| 278 |libpthread|libpthread.so.0 | 279 |----------+----------------| 280 |libpam |libpam.so.0 | 281 |----------+----------------| 282 |libgcc_s |libgcc_s.so.1 | 283 +---------------------------+ 284 285 Table 3-2. Standard Library Names defined in the Architecture Specific 286 Supplement 287 288 +------------------------+ 289 | Library |Runtime Name | 290 |----------+-------------| 291 |libm |See archLSB | 292 |----------+-------------| 293 |libc |See archLSB | 294 |----------+-------------| 295 |proginterp|See archLSB | 296 +------------------------+ 297 298 These libraries will be in an implementation-defined directory which the 299 dynamic linker shall search by default. 300 301 ------------------------------------------------------------------------------- 302 303 LSB Implementation Conformance 304 305 An implementation shall satisfy the following requirements: 306 307 * The implementation shall implement fully the architecture described in the 308 hardware manual for the target processor architecture. 309 310 * The implementation shall be capable of executing compiled applications 311 having the format and using the system interfaces described in this 312 document. 313 314 * The implementation shall provide libraries containing the interfaces 315 specified by this document, and shall provide a dynamic linking mechanism 316 that allows these interfaces to be attached to applications at runtime. All 317 the interfaces shall behave as specified in this document. 318 319 * The map of virtual memory provided by the implementation shall conform to 320 the requirements of this document. 321 322 * The implementation's low-level behavior with respect to function call 323 linkage, system traps, signals, and other such activities shall conform to 324 the formats described in this document. 325 326 * The implementation shall provide all of the mandatory interfaces in their 327 entirety. 328 329 * The implementation may provide one or more of the optional interfaces. Each 330 optional interface that is provided shall be provided in its entirety. The 331 product documentation shall state which optional interfaces are provided. 332 333 * The implementation shall provide all files and utilities specified as part 334 of this document in the format defined here and in other referenced 335 documents. All commands and utilities shall behave as required by this 336 document. The implementation shall also provide all mandatory components of 337 an application's runtime environment that are included or referenced in 338 this document. 339 340 * The implementation, when provided with standard data formats and values at 341 a named interface, shall provide the behavior defined for those values and 342 data formats at that interface. However, a conforming implementation may 343 consist of components which are separately packaged and/or sold. For 344 example, a vendor of a conforming implementation might sell the hardware, 345 operating system, and windowing system as separately packaged items. 346 347 * The implementation may provide additional interfaces with different names. 348 It may also provide additional behavior corresponding to data values 349 outside the standard ranges, for standard named interfaces. 350 351 352 353 ------------------------------------------------------------------------------- 354 355 LSB Application Conformance 356 357 An application shall satisfy the following requirements: 358 359 360 361 * Its executable files are either shell scripts or object files in the format 362 defined for the Object File Format system interface. 363 364 * Its object files participate in dynamic linking as defined in the Program 365 Loading and Linking System interface. 366 367 * It employs only the instructions, traps, and other low-level facilities 368 defined in the Low-Level System interface as being for use by applications. 369 370 * If it requires any optional interface defined in this document in order to 371 be installed or to execute successfully, the requirement for that optional 372 interface is stated in the application's documentation. 373 374 * It does not use any interface or data format that is not required to be 375 provided by a conforming implementation, unless: 376 377 + If such an interface or data format is supplied by another application 378 through direct invocation of that application during execution, that 379 application is in turn an LSB conforming application. 380 381 + The use of that interface or data format, as well as its source, is 382 identified in the documentation of the application. 383 384 * It shall not use any values for a named interface that are reserved for 385 vendor extensions. 386 387 A strictly conforming application does not require or use any interface, 388 facility, or implementation-defined extension that is not defined in this 389 document in order to be installed or to execute successfully. 390 391 ------------------------------------------------------------------------------- 392 393 Chapter 4. Definitions 394 395 For the purposes of this document, the following definitions, as specified in 396 the ISO/IEC Directives, Part 2, 2001, 4th Edition, apply: 397 398 can 399 400 be able to; there is a possibility of; it is possible to 401 402 cannot 403 404 be unable to; there is no possibilty of; it is not possible to 405 406 may 407 408 is permitted; is allowed; is permissible 409 410 need not 411 412 it is not required that; no...is required 413 414 shall 415 416 is to; is required to; it is required that; has to; only...is permitted; it 417 is necessary 418 419 shall not 420 421 is not allowed [permitted] [acceptable] [permissible]; is required to be 422 not; is required that...be not; is not to be 423 424 should 425 426 it is recommended that; ought to 427 428 should not 429 430 it is not recommended that; ought not to 431 432 ------------------------------------------------------------------------------- 433 434 Chapter 5. Terminology 435 436 For the purposes of this document, the following terms apply: 437 438 archLSB 439 440 The architectural part of the LSB Specification which describes the 441 specific parts of the interface that are platform specific. The archLSB is 442 complementary to the gLSB. 443 444 Binary Standard 445 446 The total set of interfaces that are available to be used in the compiled 447 binary code of a conforming application. 448 449 gLSB 450 451 The common part of the LSB Specification that describes those parts of the 452 interface that remain constant across all hardware implementations of the 453 LSB. 454 455 implementation-defined 456 457 Describes a value or behavior that is not defined by this document but is 458 selected by an implementor. The value or behavior may vary among 459 implementations that conform to this document. An application should not 460 rely on the existence of the value or behavior. An application that relies 461 on such a value or behavior cannot be assured to be portable across 462 conforming implementations. The implementor shall document such a value or 463 behavior so that it can be used correctly by an application. 464 465 Shell Script 466 467 A file that is read by an interpreter (e.g., awk). The first line of the 468 shell script includes a reference to its interpreter binary. 469 470 Source Standard 471 472 The set of interfaces that are available to be used in the source code of a 473 conforming application. 474 475 undefined 476 477 Describes the nature of a value or behavior not defined by this document 478 which results from use of an invalid program construct or invalid data 479 input. The value or behavior may vary among implementations that conform to 480 this document. An application should not rely on the existence or validity 481 of the value or behavior. An application that relies on any particular 482 value or behavior cannot be assured to be portable across conforming 483 implementations. 484 485 unspecified 486 487 Describes the nature of a value or behavior not specified by this document 488 which results from use of a valid program construct or valid data input. 489 The value or behavior may vary among implementations that conform to this 490 document. An application should not rely on the existence or validity of 491 the value or behavior. An application that relies on any particular value 492 or behavior cannot be assured to be portable across conforming 493 implementations. 494 495 ELF Specification 496 497 ------------------------------------------------------------------------------- 498 499 Table of Contents 500 I. Low Level System Information 501 502 1. Operating System Interface 503 504 II. Object Format 505 506 2. Object Files 507 3. Sections 508 509 Sections Types 510 511 4. Special Sections 512 513 Special Sections 514 515 5. Symbol Mapping 516 517 Symbol Mapping 518 519 6. DWARF Extensions 520 7. EH Frame Header 521 522 DWARF Exception Header Encoding 523 524 8. Symbol Versioning 525 526 Symbol Version Table 527 Version Definitions 528 Version Requirements 529 Startup Sequence 530 Symbol Resolution 531 532 9. ABI note tag 533 534 III. Dynamic Linking 535 536 10. Program Loading and Dynamic Linking 537 11. Program Header 538 12. Dynamic Entries 539 540 Dynamic Entries 541 542 List of Tables 543 3-1. ELF Section Types 544 3-2. Additional Section Types 545 4-1. ELF Special Sections 546 4-2. Additional Special Sections 547 6-1. Additional DWARF Call Frame Instructions 548 7-1. .eh_frame_hdr Section Format 549 7-2. DWARF Exception Header value format 550 7-3. DWARF Exception Header application 551 11-1. Linux Segment Types 552 553 List of Figures 554 8-1. Version Definition Entries 555 8-2. Version Definition Auxiliary Entries 556 8-3. Version Needed Entries 557 8-4. Version Needed Auxiliary Entries 558 559 I. Low Level System Information 560 561 Table of Contents 562 1. Operating System Interface 563 564 ------------------------------------------------------------------------------- 565 566 Chapter 1. Operating System Interface 567 568 LSB-conforming applications shall assume that stack, heap and other allocated 569 memory regions will be non-executable. The application must take steps to make 570 them executable if needed. 571 572 II. Object Format 573 574 Table of Contents 575 2. Object Files 576 3. Sections 577 4. Special Sections 578 5. Symbol Mapping 579 6. DWARF Extensions 580 7. EH Frame Header 581 8. Symbol Versioning 582 9. ABI note tag 583 584 ------------------------------------------------------------------------------- 585 586 Chapter 2. Object Files 587 588 LSB-conforming implementations shall support the object file Executable and 589 Linking Format (ELF), which is defined by the following documents: 590 591 * System V Application Binary Interface, Edition 4.1 592 593 * System V Application Binary Interface - DRAFT - 17 December 2003 594 595 * this document 596 597 * an architecture-specific LSB specification 598 599 Conforming implementations may also support other unspecified object file 600 formats. 601 602 ------------------------------------------------------------------------------- 603 604 Chapter 3. Sections 605 606 ------------------------------------------------------------------------------- 607 608 Sections Types 609 610 A section header's sh_type member specifies the sections's semantics. 611 612 ------------------------------------------------------------------------------- 613 614 ELF Section Types 615 616 The following section types are defined in the System V Application Binary 617 Interface, Edition 4.1 and the System V Application Binary Interface - DRAFT - 618 17 December 2003. 619 620 Table 3-1. ELF Section Types 621 622 +-----------------------------------------------------------------------------+ 623 | Name | Value | Description | 624 |-----------------+----------+------------------------------------------------| 625 | | |The section holds information for dynamic | 626 | | |linking. Currently, an object file shall have | 627 |SHT_DYNAMIC |0x6 |only one dynamic section, but this restriction | 628 | | |may be relaxed in the future. See `Dynamic | 629 | | |Section' in Chapter 5 for details. | 630 |-----------------+----------+------------------------------------------------| 631 |SHT_DYNSYM |0xb | | 632 |-----------------+----------+------------------------------------------------| 633 | | |This section contains an array of pointers to | 634 | | |termination functions, as described in | 635 |SHT_FINI_ARRAY |0xf |`Initialization and Termination Functions' in | 636 | | |Chapter 5. Each pointer in the array is taken as| 637 | | |a parameterless procedure with a void return. | 638 |-----------------+----------+------------------------------------------------| 639 | | |The section holds a symbol hash table. | 640 | | |Currently, an object file shall have only one | 641 |SHT_HASH |0x5 |hash table, but this restriction may be relaxed | 642 | | |in the future. See `Hash Table' in the Chapter 5| 643 | | |for details. | 644 |-----------------+----------+------------------------------------------------| 645 |SHT_HIPROC |0x7fffffff|Values in this inclusive range are reserved for | 646 | | |processor-specific semantics. | 647 |-----------------+----------+------------------------------------------------| 648 | | |This value specifies the upper bound of the | 649 | | |range of indexes reserved for application | 650 |SHT_HIUSER |0xffffffff|programs. Section types between SHT_LOUSER and | 651 | | |SHT_HIUSER can be used by the application, | 652 | | |without conflicting with current or future | 653 | | |system-defined section types. | 654 |-----------------+----------+------------------------------------------------| 655 | | |This section contains an array of pointers to | 656 | | |initialization functions, as described in | 657 |SHT_INIT_ARRAY |0xe |`Initialization and Termination Functions' in | 658 | | |Chapter 5. Each pointer in the array is taken as| 659 | | |a parameterless procedure with a void return. | 660 |-----------------+----------+------------------------------------------------| 661 |SHT_LOPROC |0x70000000|Values in this inclusive range are reserved for | 662 | | |processor-specific semantics. | 663 |-----------------+----------+------------------------------------------------| 664 | | |This value specifies the lower bound of the | 665 |SHT_LOUSER |0x80000000|range of indexes reserved for application | 666 | | |programs. | 667 |-----------------+----------+------------------------------------------------| 668 | | |A section of this type occupies no space in the | 669 | | |file but otherwise resembles SHT_PROGBITS. | 670 |SHT_NOBITS |0x8 |Although this section contains no bytes, the | 671 | | |sh_offset member contains the conceptual file | 672 | | |offset. | 673 |-----------------+----------+------------------------------------------------| 674 | | |The section holds information that marks the | 675 |SHT_NOTE |0x7 |file in some way. See `Note Section' in Chapter | 676 | | |5 for details. | 677 |-----------------+----------+------------------------------------------------| 678 | | |This value marks the section header as inactive;| 679 |SHT_NULL |0x0 |it does not have an associated section. Other | 680 | | |members of the section header have undefined | 681 | | |values. | 682 |-----------------+----------+------------------------------------------------| 683 | | |This section contains an array of pointers to | 684 | | |functions that are invoked before all other | 685 |SHT_PREINIT_ARRAY|0x10 |initialization functions, as described in | 686 | | |`Initialization and Termination Functions' in | 687 | | |Chapter 5. Each pointer in the array is taken as| 688 | | |a parameterless proceure with a void return. | 689 |-----------------+----------+------------------------------------------------| 690 | | |The section holds information defined by the | 691 |SHT_PROGBITS |0x1 |program, whose format and meaning are determined| 692 | | |solely by the program. | 693 |-----------------+----------+------------------------------------------------| 694 | | |The section holds relocation entries without | 695 | | |explicit addends, such as type Elf32_Rel for the| 696 |SHT_REL |0x9 |32-bit class of object files or type Elf64_Rel | 697 | | |for the 64-bit class of object files. An object | 698 | | |file may have multiple relocation sections. See | 699 | | |"Relocation" | 700 |-----------------+----------+------------------------------------------------| 701 | | |The section holds relocation entries with | 702 | | |explicit addends, such as type Elf32_Rela for | 703 |SHT_RELA |0x4 |the 32-bit class of object files or type | 704 | | |Elf64_Rela for the 64-bit class of object files.| 705 | | |An object file may have multiple relocation | 706 | | |sections. `Relocation' b | 707 |-----------------+----------+------------------------------------------------| 708 |SHT_SHLIB |0xa |This section type is reserved but has | 709 | | |unspecified semantics. | 710 |-----------------+----------+------------------------------------------------| 711 | | |The section holds a string table. An object file| 712 |SHT_STRTAB |0x3 |may have multiple string table sections. See | 713 | | |`String Table' below for details. | 714 |-----------------+----------+------------------------------------------------| 715 | | |These sections hold a symbol table. Currently, | 716 | | |an object file shall have only one section of | 717 |SHT_SYMTAB |0x2 |each type, but this restriction may be relaxed | 718 | | |in the future. Typically, SHT_SYMTAB provides | 719 | | |symbols for link editing, though it may also be | 720 | | |used for dynamic linking. | 721 +-----------------------------------------------------------------------------+ 722 723 724 ------------------------------------------------------------------------------- 725 726 Additional Section Types 727 728 The following additional section types are defined here. 729 730 Table 3-2. Additional Section Types 731 732 +-----------------------------------------------------------------------------+ 733 | Name | Value | Description | 734 |---------------+----------+--------------------------------------------------| 735 |SHT_GNU_verdef |0x6ffffffd|This section contains the symbol versions that are| 736 | | |provided. | 737 |---------------+----------+--------------------------------------------------| 738 |SHT_GNU_verneed|0x6ffffffe|This section contains the symbol versions that are| 739 | | |required. | 740 |---------------+----------+--------------------------------------------------| 741 |SHT_GNU_versym |0x6fffffff|This section contains the Symbol Version Table. | 742 +-----------------------------------------------------------------------------+ 743 744 745 ------------------------------------------------------------------------------- 746 747 Chapter 4. Special Sections 748 749 Special Sections 750 751 Various sections hold program and control information. Sections in the lists 752 below are used by the system and have the indicated types and attributes. 753 754 ------------------------------------------------------------------------------- 755 756 ELF Special Sections 757 758 The following sections are defined in the System V Application Binary 759 Interface, Edition 4.1 and the System V Application Binary Interface - DRAFT - 760 17 December 2003. 761 762 Table 4-1. ELF Special Sections 763 764 +--------------------------------------------------------+ 765 | Name | Type | Attributes | 766 |--------------+-----------------+-----------------------| 767 |.bss |SHT_NOBITS |SHF_ALLOC+SHF_WRITE | 768 |--------------+-----------------+-----------------------| 769 |.comment |SHT_PROGBITS |0 | 770 |--------------+-----------------+-----------------------| 771 |.data |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE | 772 |--------------+-----------------+-----------------------| 773 |.data1 |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE | 774 |--------------+-----------------+-----------------------| 775 |.debug |SHT_PROGBITS |0 | 776 |--------------+-----------------+-----------------------| 777 |.dynamic |SHT_DYNAMIC |SHF_ALLOC+SHF_WRITE | 778 |--------------+-----------------+-----------------------| 779 |.dynstr |SHT_STRTAB |SHF_ALLOC | 780 |--------------+-----------------+-----------------------| 781 |.dynsym |SHT_DYNSYM |SHF_ALLOC | 782 |--------------+-----------------+-----------------------| 783 |.fini |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR| 784 |--------------+-----------------+-----------------------| 785 |.fini_array |SHT_FINI_ARRAY |SHF_ALLOC+SHF_WRITE | 786 |--------------+-----------------+-----------------------| 787 |.hash |SHT_HASH |SHF_ALLOC | 788 |--------------+-----------------+-----------------------| 789 |.init |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR| 790 |--------------+-----------------+-----------------------| 791 |.init_array |SHT_INIT_ARRAY |SHF_ALLOC+SHF_WRITE | 792 |--------------+-----------------+-----------------------| 793 |.interp |SHT_PROGBITS |SHF_ALLOC | 794 |--------------+-----------------+-----------------------| 795 |.line |SHT_PROGBITS |0 | 796 |--------------+-----------------+-----------------------| 797 |.note |SHT_NOTE |0 | 798 |--------------+-----------------+-----------------------| 799 |.preinit_array|SHT_PREINIT_ARRAY|SHF_ALLOC+SHF_WRITE | 800 |--------------+-----------------+-----------------------| 801 |.rodata |SHT_PROGBITS |SHF_ALLOC | 802 |--------------+-----------------+-----------------------| 803 |.rodata1 |SHT_PROGBITS |SHF_ALLOC | 804 |--------------+-----------------+-----------------------| 805 |.shstrtab |SHT_STRTAB |0 | 806 |--------------+-----------------+-----------------------| 807 |.strtab |SHT_STRTAB |SHF_ALLOC | 808 |--------------+-----------------+-----------------------| 809 |.symtab |SHT_SYMTAB |SHF_ALLOC | 810 |--------------+-----------------+-----------------------| 811 |.text |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR| 812 +--------------------------------------------------------+ 813 814 .bss 815 816 This section holds data that contributes to the program's memory image. The 817 program may treat this data as uninitialized. However, the system shall 818 initialize this data with zeroes when the program begins to run. The 819 section occupies no file space, as indicated by the section type, 820 SHT_NOBITS 821 822 .comment 823 824 This section holds version control information. 825 826 .data 827 828 This section holds initialized data that contribute to the program's memory 829 image. 830 831 .data1 832 833 This section holds initialized data that contribute to the program's memory 834 image. 835 836 .debug 837 838 This section holds information for symbolic debugging. The contents are 839 unspecified. All section names with the prefix .debug hold information for 840 symbolic debugging. The contents of these sections are unspecified. 841 842 .dynamic 843 844 This section holds dynamic linking information. The section's attributes 845 will include the SHF_ALLOC bit. Whether the SHF_WRITE bit is set is 846 processor specific. See Chapter 5 for more information. 847 848 .dynstr 849 850 This section holds strings needed for dynamic linking, most commonly the 851 strings that represent the names associated with symbol table entries. See 852 Chapter 5 for more information. 853 854 .dynsym 855 856 This section holds the dynamic linking symbol table, as described in 857 `Symbol Table'. See Chapter 5 for more information. 858 859 .fini 860 861 This section holds executable instructions that contribute to the process 862 termination code. That is, when a program exits normally, the system 863 arranges to execute the code in this section. 864 865 .fini_array 866 867 This section holds an array of function pointers that contributes to a 868 single termination array for the executable or shared object containing the 869 section. 870 871 .hash 872 873 This section holds a symbol hash table. See `Hash Table' in Chapter 5 for 874 more information. 875 876 .init 877 878 This section holds executable instructions that contribute to the process 879 initialization code. When a program starts to run, the system arranges to 880 execute the code in this section before calling the main program entry 881 point (called main for C programs) 882 883 .init_array 884 885 This section holds an array of function pointers that contributes to a 886 single initialization array for the executable or shared object containing 887 the section. 888 889 .interp 890 891 This section holds the path name of a program interpreter. If the file has 892 a loadable segment that includes relocation, the sections' attributes will 893 include the SHF_ALLOC bit; otherwise, that bit will be off. See Chapter 5 894 for more information. 895 896 .line 897 898 This section holds line number information for symbolic debugging, which 899 describes the correspondence between the source program and the machine 900 code. The contents are unspecified. 901 902 .note 903 904 This section holds information in the format that `Note Section' in Chapter 905 5 describes of the System V Application Binary Interface, Edition 4.1. 906 907 .preinit_array 908 909 This section holds an array of function pointers that contributes to a 910 single pre-initialization array for the executable or shared object 911 containing the section. 912 913 .rodata 914 915 This section holds read-only data that typically contribute to a 916 non-writable segment in the process image. See `Program Header' in Chapter 917 5 for more information. 918 919 .rodata1 920 921 This section hold sread-only data that typically contribute to a 922 non-writable segment in the process image. See `Program Header' in Chapter 923 5 for more information. 924 925 .shstrtab 926 927 This section holds section names. 928 929 .strtab 930 931 This section holds strings, most commonly the strings that represent the 932 names associated with symbol table entries. If the file has a loadable 933 segment that includes the symbol string table, the section's attributes 934 will include the SHF_ALLOC bit; otherwi 935 936 .symtab 937 938 This section holds a symbol table, as `Symbol Table'. in this chapter 939 describes. If the file has a loadable segment that includes the symbol 940 table, the section's attributes will include the SHF_ALLOC bit; otherwise, 941 that bit will be off. 942 943 .text 944 945 This section holds the `text,' or executable instructions, of a program. 946 947 948 949 ------------------------------------------------------------------------------- 950 951 Additional Special Sections 952 953 Object files in an LSB conforming application may also contain one or more of 954 the additional special sections described below. 955 956 Table 4-2. Additional Special Sections 957 958 +--------------------------------------------------+ 959 | Name | Type | Attributes | 960 |--------------+---------------+-------------------| 961 |.ctors |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 962 |--------------+---------------+-------------------| 963 |.dtors |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 964 |--------------+---------------+-------------------| 965 |.eh_frame |SHT_PROGBITS |SHF_ALLOC | 966 |--------------+---------------+-------------------| 967 |.eh_frame_hdr |SHT_PROGBITS |SHF_ALLOC | 968 |--------------+---------------+-------------------| 969 |.gnu.version |SHT_GNU_versym |SHF_ALLOC | 970 |--------------+---------------+-------------------| 971 |.gnu.version_d|SHT_GNU_verdef |SHF_ALLOC | 972 |--------------+---------------+-------------------| 973 |.gnu.version_r|SHT_GNU_verneed|SHF_ALLOC | 974 |--------------+---------------+-------------------| 975 |.jcr |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 976 |--------------+---------------+-------------------| 977 |.note.ABI-tag |SHT_NOTE |SHF_ALLOC | 978 |--------------+---------------+-------------------| 979 |.stab |SHT_PROGBITS |0 | 980 |--------------+---------------+-------------------| 981 |.stabstr |SHT_STRTAB |0 | 982 +--------------------------------------------------+ 983 984 .ctors 985 986 This section contains a list of global constructor function pointers. 987 988 .dtors 989 990 This section contains a list of global destructor function pointers. 991 992 .eh_frame 993 994 This section contains information necessary for frame unwinding during 995 exception handling. 996 997 .eh_frame_hdr 998 999 This section contains a pointer to the .eh_frame section which is 1000 accessible to the runtime support code of a C++ application. This section 1001 may also contain a binary search table which may be used by the runtime 1002 support code to more efficiently access records in the .eh_frame section. 1003 1004 .gnu.version 1005 1006 This section contains the Symbol Version Table. 1007 1008 .gnu.version_d 1009 1010 This section contains the Version Definitions. 1011 1012 .gnu.version_r 1013 1014 This section contains the Version Requirments. 1015 1016 .jcr 1017 1018 This section contains information necessary for registering compiled Java 1019 classes. The contents are compiler-specific and used by compiler 1020 initialization functions. 1021 1022 .note.ABI-tag 1023 1024 Specify ABI details. 1025 1026 .stab 1027 1028 This section contains debugging information. The contents are not specified 1029 as part of the LSB. 1030 1031 .stabstr 1032 1033 This section contains strings associated with the debugging infomation 1034 contained in the .stab section. 1035 1036 1037 1038 ------------------------------------------------------------------------------- 1039 1040 Chapter 5. Symbol Mapping 1041 1042 This chapter defines how names are mapped from the source symbol to the object 1043 symbol. 1044 1045 ------------------------------------------------------------------------------- 1046 1047 Symbol Mapping 1048 1049 Symbols in a source program are translated by the compilation system into 1050 symbols that exist in the object file. The rules for this translation are 1051 defined here. 1052 1053 ------------------------------------------------------------------------------- 1054 1055 C Language 1056 1057 External C symbols have the same names in C and object files' symbol tables. 1058 1059 ------------------------------------------------------------------------------- 1060 1061 C++ Language 1062 1063 External symbol names in a C++ object file shall be encoded according to the 1064 "name mangling" rules described in the . 1065 1066 ------------------------------------------------------------------------------- 1067 1068 Chapter 6. DWARF Extensions 1069 1070 In addition to the Call Frame Instructions defined in section 6.4.2 of DWARF 1071 Debugging Information Format, Revision 2.0.0 (July 27, 1993), the following 1072 Call Frame Instructions may also be used. 1073 1074 Table 6-1. Additional DWARF Call Frame Instructions 1075 1076 +-----------------------------------------------------------------------------+ 1077 | Name |Value| Meaning | 1078 |-----------------------------------+-----+-----------------------------------| 1079 | | |The DW_CFA_expression instruction | 1080 | | |takes two operands: an unsigned | 1081 | | |LEB128 value representing a | 1082 | | |register number, and a | 1083 | | |DW_FORM_block value representing a | 1084 | | |DWARF expression. The required | 1085 | | |action is to establish the DWARF | 1086 | | |expression as the means by which | 1087 | | |the address in which the given | 1088 | | |register contents are found may be | 1089 |DW_CFA_expression |0x10 |computed. The value of the CFA is | 1090 | | |pushed on the DWARF evaluation | 1091 | | |stack prior to execution of the | 1092 | | |DWARF expression. The DW_OP_call2, | 1093 | | |DW_OP_call4, DW_OP_call_ref and | 1094 | | |DW_OP_push_object_address DWARF | 1095 | | |operators (see Section 2.4.1 of | 1096 | | |DWARF Debugging Information Format,| 1097 | | |Revision 2.0.0 (July 27, 1993)) | 1098 | | |cannot be used in such a DWARF | 1099 | | |expression. | 1100 |-----------------------------------+-----+-----------------------------------| 1101 | | |The DW_CFA_offset_extended_sf | 1102 | | |instruction takes two operands: an | 1103 | | |unsigned LEB128 value representing | 1104 |DW_CFA_offset_extended_sf |0x11 |a register number and a signed | 1105 | | |LEB128 factored offset. This | 1106 | | |instruction is identical to | 1107 | | |DW_CFA_offset_extended except that | 1108 | | |the second operand is signed. | 1109 |-----------------------------------+-----+-----------------------------------| 1110 | | |The DW_CFA_def_cfa_sf instruction | 1111 | | |takes two operands: an unsigned | 1112 | | |LEB128 value representing a | 1113 |DW_CFA_def_cfa_sf |0x12 |register number and a signed LEB128| 1114 | | |factored offset. This instruction | 1115 | | |is identical to DW_CFA_def_cfa | 1116 | | |except that the second operand is | 1117 | | |signed and factored. | 1118 |-----------------------------------+-----+-----------------------------------| 1119 | | |The DW_CFA_def_cfa_offset_sf | 1120 | | |instruction takes a signed LEB128 | 1121 | | |operand representing a factored | 1122 |DW_CFA_def_cfa_offset_sf |0x13 |offset. This instruction is | 1123 | | |identical to DW_CFA_def_cfa_offset | 1124 | | |except that the operand is signed | 1125 | | |and factored. | 1126 |-----------------------------------+-----+-----------------------------------| 1127 | | |The DW_CFA_def_cfa_offset_sf | 1128 |DW_CFA_GNU_args_size |0x2e |instruction takes an unsigned | 1129 | | |LEB128 operand representing an | 1130 | | |argument size. | 1131 |-----------------------------------+-----+-----------------------------------| 1132 | | |The DW_CFA_def_cfa_sf instruction | 1133 | | |takes two operands: an unsigned | 1134 | | |LEB128 value representing a | 1135 | | |register number and an unsigned | 1136 | | |LEB128 which represents the | 1137 |DW_CFA_GNU_negative_offset_extended|0x2f |magnitude of the offset. This | 1138 | | |instruction is identical to | 1139 | | |DW_CFA_offset_extended_sf except | 1140 | | |that the operand is subtracted to | 1141 | | |produce the offset. This | 1142 | | |instructions is obsoleted by | 1143 | | |DW_CFA_offset_extended_sf. | 1144 +-----------------------------------------------------------------------------+ 1145 ------------------------------------------------------------------------------- 1146 1147 Chapter 7. EH Frame Header 1148 1149 The .eh_frame_hdr section contains additional information about the .eh_frame 1150 section. A pointer to the start of the .eh_frame data, and optionally, a binary 1151 search table of pointers to the .eh_frame records are found in this section. 1152 1153 Data in this section is encoded according to the DWARF Exception Header 1154 Encoding described below. 1155 1156 Table 7-1. .eh_frame_hdr Section Format 1157 1158 +---------------------------------+ 1159 | Encoding | Field | 1160 |-------------+-------------------| 1161 |unsigned byte|version | 1162 |-------------+-------------------| 1163 |unsigned byte|eh_frame_ptr_enc | 1164 |-------------+-------------------| 1165 |unsigned byte|fde_count_enc | 1166 |-------------+-------------------| 1167 |unsigned byte|table_enc | 1168 |-------------+-------------------| 1169 |encoded |eh_frame_ptr | 1170 |-------------+-------------------| 1171 |encoded |fde_count | 1172 |-------------+-------------------| 1173 | |binary search table| 1174 +---------------------------------+ 1175 1176 version 1177 1178 Version of the .eh_frame_hdr format. This value shall be 1. 1179 1180 eh_frame_ptr_enc 1181 1182 The encoding format of the eh_frame_ptr field. 1183 1184 fde_count_enc 1185 1186 The encoding format of the fde_count field. A value of DW_EH_PE_omit 1187 indicates the binary search table is not present. 1188 1189 table_enc 1190 1191 The encoding format of the entries in the binary search table. A value of 1192 DW_EH_PE_omit indicates the binary search table is not present. 1193 1194 eh_frame_ptr 1195 1196 The encoded value of the pointer to the start of the .eh_frame section. 1197 1198 fde_count 1199 1200 The encoded value of the count of entries in the binary search table. 1201 1202 binary search table 1203 1204 A binary search table containing fde_count entries. Each entry of the table 1205 consist of two encoded values, the initial location, and the address. The 1206 entries are sorted in an increasing order by the initial location value. 1207 1208 ------------------------------------------------------------------------------- 1209 1210 DWARF Exception Header Encoding 1211 1212 The DWARF Exception Header Encoding is used to describe the type of data used 1213 in the .eh_frame_hdr section. The upper 4 bits indicate how the value is to be 1214 applied. The lower 4 bits indicate the format of the data. 1215 1216 Table 7-2. DWARF Exception Header value format 1217 1218 +-----------------------------------------------------------------------------+ 1219 | Name |Value| Meaning | 1220 |----------------+-----+------------------------------------------------------| 1221 |DW_EH_PE_omit |0xff |No value is present. | 1222 |----------------+-----+------------------------------------------------------| 1223 | | |Unsigned value is encoded using the Little Endian Base| 1224 |DW_EH_PE_uleb128|0x01 |128 (LEB128) as defined by DWARF Debugging Information| 1225 | | |Format, Revision 2.0.0 (July 27, 1993). | 1226 |----------------+-----+------------------------------------------------------| 1227 |DW_EH_PE_udata2 |0x02 |A 2 bytes unsigned value. | 1228 |----------------+-----+------------------------------------------------------| 1229 |DW_EH_PE_udata4 |0x03 |A 4 bytes unsigned value. | 1230 |----------------+-----+------------------------------------------------------| 1231 |DW_EH_PE_udata8 |0x04 |An 8 bytes unsigned value. | 1232 |----------------+-----+------------------------------------------------------| 1233 | | |Signed value is encoded using the Little Endian Base | 1234 |DW_EH_PE_sleb128|0x09 |128 (LEB128) as defined by DWARF Debugging Information| 1235 | | |Format, Revision 2.0.0 (July 27, 1993). | 1236 |----------------+-----+------------------------------------------------------| 1237 |DW_EH_PE_sdata2 |0x0A |A 2 bytes signed value. | 1238 |----------------+-----+------------------------------------------------------| 1239 |DW_EH_PE_sdata4 |0x0B |A 4 bytes signed value. | 1240 |----------------+-----+------------------------------------------------------| 1241 |DW_EH_PE_sdata8 |0x0C |An 8 bytes signed value. | 1242 +-----------------------------------------------------------------------------+ 1243 1244 Table 7-3. DWARF Exception Header application 1245 1246 +-----------------------------------------------------------------------------+ 1247 | Name |Value| Meaning | 1248 |----------------+-----+------------------------------------------------------| 1249 |DW_EH_PE_absptr |0x00 |Value is used with no modification. | 1250 |----------------+-----+------------------------------------------------------| 1251 |DW_EH_PE_pcrel |0x10 |Value is reletive to the current program counter. | 1252 |----------------+-----+------------------------------------------------------| 1253 |DW_EH_PE_datarel|0x30 |Value is reletive to the beginning of the | 1254 | | |.eh_frame_hdr section. | 1255 |----------------+-----+------------------------------------------------------| 1256 |DW_EH_PE_omit |0xff |No value is present. | 1257 +-----------------------------------------------------------------------------+ 1258 ------------------------------------------------------------------------------- 1259 1260 Chapter 8. Symbol Versioning 1261 1262 This chapter describes the Symbol Versioning mechanism. All ELF objects may 1263 provide or depend on versioned symbols. Symbol Versioning is implemented by 3 1264 section types: SHT_GNU_versym, SHT_GNU_verdef, and SHT_GNU_verneed. 1265 1266 The prefix Elfxx in the following descriptions and code fragments stands for 1267 either "Elf32" or "Elf64", depending on the architecture. 1268 1269 Versions are described by strings. The structures that are used for symbol 1270 versions also contain a member that holds the ELF hashing values of the 1271 strings. This allows for more efficient processing. 1272 1273 ------------------------------------------------------------------------------- 1274 1275 Symbol Version Table 1276 1277 The Symbol Version Table is contained in the special section .gnu.version which 1278 has a section type of SHT_GNU_versym. This section has the same number of 1279 entries as the Dynamic Symbol Table. 1280 1281 This section contains an array of elements of type Elfxx_Half. Each entry 1282 specifies the version defined for or required by the corresponding symbol in 1283 the Dynamic Symbol Table. 1284 1285 The values in the Symbol Version Table are unique to the object in which they 1286 are located. These values are identifiers that are provided by the the 1287 vna_other member of the Elfxx_Vernaux structure or the vd_ndx member of the 1288 Elfxx_Verdef structure. 1289 1290 The values 0 and 1 are reserved. 1291 1292 0 1293 1294 The symbol is local, not available outside the object. 1295 1296 1 1297 1298 The symbol is defined in this object and is globally available. 1299 1300 All other values are used to identify version strings located in one of the 1301 other Symbol Version sections. The value itself is not the version associated 1302 with the symbol. The string identified by the value defines the version of the 1303 symbol. 1304 1305 ------------------------------------------------------------------------------- 1306 1307 Version Definitions 1308 1309 Symbol definitions are contained in the special section .gnu.version_d which 1310 has a section type of SHT_GNU_verdef. The number of entries in this section is 1311 contained in the DT_VERDEFNUM entry of the Dynamic Section. The sh_link member 1312 of the section header points to the section that contains the strings 1313 referenced by this section. 1314 1315 Figure 8-1. Version Definition Entries 1316 1317 typedef struct { 1318 Elfxx_Half vd_version; 1319 Elfxx_Half vd_flags; 1320 Elfxx_Half vd_ndx; 1321 Elfxx_Half vd_cnt; 1322 Elfxx_Word vd_hash; 1323 Elfxx_Word vd_aux; 1324 Elfxx_Word vd_next; 1325 } Elfxx_Verdef; 1326 1327 vd_version 1328 1329 Version revision. This value is currently set to 1, and will be reset if 1330 the versioning implementation is incompatibly altered. 1331 1332 vd_flags 1333 1334 Version information flag bitmask. 1335 1336 vd_ndx 1337 1338 Version index numeric value referencing the SHT_GNU_versym section. 1339 1340 vd_cnt 1341 1342 Number of associated verdaux array entries. 1343 1344 vd_hash 1345 1346 Version name hash value (ELF hash function). 1347 1348 vd_aux 1349 1350 Offset to a corresponding entry in the verdaux array, in bytes. 1351 1352 vd_next 1353 1354 Offset to the next verdef entry, in bytes. 1355 1356 Figure 8-2. Version Definition Auxiliary Entries 1357 1358 typedef struct { 1359 Elfxx_Word vda_name; 1360 Elfxx_Word vda_next; 1361 } Elfxx_Verdaux; 1362 1363 vda_name 1364 1365 Offset to the version or dependency name string in the section header, in 1366 bytes. 1367 1368 vda_next 1369 1370 Offset to the next verdaux entry, in bytes. 1371 1372 ------------------------------------------------------------------------------- 1373 1374 Version Requirements 1375 1376 Symbol definitions are contained in the special section .gnu.version_r which 1377 has a section type of SHT_GNU_verneed. The number of entries in this section is 1378 contained in the DT_VERNEEDNUM entry of the Dynamic Section. The sh_link member 1379 of the section header points to the section that contains the strings 1380 referenced by this section. 1381 1382 Figure 8-3. Version Needed Entries 1383 1384 typedef struct { 1385 Elfxx_Half vn_version; 1386 Elfxx_Half vn_cnt; 1387 Elfxx_Word vn_file; 1388 Elfxx_Word vn_aux; 1389 Elfxx_Word vn_next; 1390 } Elfxx_Verneed; 1391 1392 vn_version 1393 1394 Version of structure. This value is currently set to 1, and will be reset 1395 if the versioning implementation is incompatibly altered. 1396 1397 vn_cnt 1398 1399 Number of associated verneed array entries. 1400 1401 vn_file 1402 1403 Offset to the file name string in the section header, in bytes. 1404 1405 vn_aux 1406 1407 Offset to a corresponding entry in the vernaux array, in bytes. 1408 1409 vn_next 1410 1411 Offset to the next verneed entry, in bytes. 1412 1413 Figure 8-4. Version Needed Auxiliary Entries 1414 1415 typedef struct { 1416 Elfxx_Word vna_hash; 1417 Elfxx_Half vna_flags; 1418 Elfxx_Half vna_other; 1419 Elfxx_Word vna_name; 1420 Elfxx_Word vna_next; 1421 } Elfxx_Vernaux; 1422 1423 vna_hash 1424 1425 Dependency name hash value (ELF hash function). 1426 1427 vna_flags 1428 1429 Dependency information flag bitmask. 1430 1431 vna_other 1432 1433 Object file version identifier used in the .gnu.version symbol version 1434 array. Bit number 15 controls whether or not the object is hidden; if this 1435 bit is set, the object cannot be used and the static linker will ignore the 1436 symbol's presence in the object. 1437 1438 vna_name 1439 1440 Offset to the dependency name string in the section header, in bytes. 1441 1442 vna_next 1443 1444 Offset to the next vernaux entry, in bytes. 1445 1446 ------------------------------------------------------------------------------- 1447 1448 Startup Sequence 1449 1450 When loading a sharable object, version definition data from the loaded object 1451 is analyzed to assure that it meets the version requirements of the calling 1452 object. The dynamic loader retrieves the entries in the caller's Elfxx_Verneed 1453 array and attempts to find matching definition information in the loaded 1454 Elfxx_Verdef table. 1455 1456 Each object and dependency is tested in turn. If a symbol definition is 1457 missing, the loader returns an error. A warning is issued instead of a hard 1458 error when the vna_flags bit for VER_FLG_WEAK is set in the Elfxx_Vernaux 1459 entry. 1460 1461 When the versions referenced by undefined symbols in the loaded object are 1462 found, version availability is certified. The test completes without error and 1463 the object is made available. 1464 1465 ------------------------------------------------------------------------------- 1466 1467 Symbol Resolution 1468 1469 When symbol versioning is used in an object, relocations extend the performance 1470 of definition testing beyond the simple match of symbol name strings: the 1471 version of the reference shall also equal the name of the definition. The same 1472 index that is used in the symbol table can be referenced in the SHT_GNU_versym 1473 section, and the value of this index is then used to acquire name data. The 1474 corresponding requirement string is retrieved from the Elfxx_Verneed array, and 1475 likewise, the corresponding definition string from the Elfxx_Verdef table. 1476 1477 Bit number 15 of the version symbol controls whether or not the object is 1478 hidden; if this bit is set, the object cannot be used and the static linker 1479 will ignore the symbol's presence in the object. 1480 1481 Results differ in the interaction of objects that variously use symbol 1482 versioning. 1483 1484 * The object with the reference and the object with the definitions may both 1485 use versioning. All described matching is processed in this case. A fatal 1486 error is triggered when no matching definition can be found in the object 1487 whose name is the one referenced by the vn_name element in the 1488 Elfxx_Verneed entry. 1489 1490 * The object with the reference may not use versioning, while the object with 1491 the definitions does. In this instance, only the definition with index 1492 numbers 1 and 2 will be used in the reference match, the same identified by 1493 the static linker as the base definition. In infrequent cases where the 1494 static linker was not used, as in calls to dlopen(), a version that does 1495 not have the base definition index is acceptable as long as it is the only 1496 version for which the symbol is defined. 1497 1498 * The object with the reference may use versioning, but the object with the 1499 definitions specifies none. A matching symbol is accepted in this case. A 1500 fatal error is triggered in the unlikely event that a corruption in the 1501 required symbols list obscured an outdated object file and caused a match 1502 on the object filename in the Elfxx_Verneed entry. 1503 1504 * Finally, both the object with the reference and the object with the 1505 definitions may not use versioning. The behavior in this instance defaults 1506 to pre-existing symbol rules. 1507 1508 ------------------------------------------------------------------------------- 1509 1510 Chapter 9. ABI note tag 1511 1512 Every executable shall contain a section named .note.ABI-tag of type SHT_NOTE. 1513 This section is structured as a note section as documented in the ELF spec. The 1514 section shall contain at least the following entry. The name field (namesz/ 1515 name) contains the string "GNU". The type field shall be 1. The descsz field 1516 shall be at least 16, and the first 16 bytes of the desc field shall be as 1517 follows. 1518 1519 The first 32-bit word of the desc field shall be 0 (this signifies a Linux 1520 executable). The second, third, and fourth 32-bit words of the desc field 1521 contain the earliest compatible kernel version. For example, if the 3 words are 1522 2, 2, and 5, this signifies a 2.2.5 kernel. 1523 1524 III. Dynamic Linking 1525 1526 Table of Contents 1527 10. Program Loading and Dynamic Linking 1528 11. Program Header 1529 12. Dynamic Entries 1530 1531 ------------------------------------------------------------------------------- 1532 1533 Chapter 10. Program Loading and Dynamic Linking 1534 1535 LSB-conforming implementations shall support the object file information and 1536 system actions that create running programs as specified in the System V 1537 Application Binary Interface, Edition 4.1 and System V Application Binary 1538 Interface - DRAFT - 17 December 2003 and as supplemented by this document and 1539 an architecture-specific LSB specification. 1540 1541 Any shared object that is loaded shall contain sufficient DT_NEEDED records to 1542 satisfy the symbols on the shared library. 1543 1544 ------------------------------------------------------------------------------- 1545 1546 Chapter 11. Program Header 1547 1548 In addition to the Segment Types defined in the System V Application Binary 1549 Interface, Edition 4.1 and System V Application Binary Interface - DRAFT - 17 1550 December 2003 the following Segment Types shall also be supported. 1551 1552 Table 11-1. Linux Segment Types 1553 1554 +---------------------------+ 1555 | Name | Value | 1556 |----------------+----------| 1557 |PT_GNU_EH_FRAME |0x6474e550| 1558 |----------------+----------| 1559 |PT_GNU_STACK |0x6474e551| 1560 +---------------------------+ 1561 1562 PT_GNU_EH_FRAME 1563 1564 The array element specifies the location and size of the exception handling 1565 information as defined by the .eh_frame_hdr section. 1566 1567 PT_GNU_STACK 1568 1569 The p_flags member specifies the permissions on the segment containing the 1570 stack and is used to indicate wether the stack should be executable. The 1571 absense of this header indicates indicates that the stack will be 1572 executable. 1573 1574 ------------------------------------------------------------------------------- 1575 1576 Chapter 12. Dynamic Entries 1577 1578 A dynamic entry's d_tag member control the interpretation of d_un. 1579 1580 ------------------------------------------------------------------------------- 1581 1582 Dynamic Entries 1583 1584 ------------------------------------------------------------------------------- 1585 1586 ELF Dynamic Entries 1587 1588 The following dynamic entries are defined in the System V Application Binary 1589 Interface, Edition 4.1 and System V Application Binary Interface - DRAFT - 17 1590 December 2003. 1591 1592 DT_BIND_NOW 1593 1594 Process relocations of object 1595 1596 DT_DEBUG 1597 1598 For debugging; unspecified 1599 1600 DT_FINI 1601 1602 Address of termination function 1603 1604 DT_HASH 1605 1606 Address of symbol hash table 1607 1608 DT_HIPROC 1609 1610 End of processor-specific 1611 1612 DT_INIT 1613 1614 Address of init function 1615 1616 DT_JMPREL 1617 1618 Address of PLT relocs 1619 1620 DT_LOPROC 1621 1622 Start of processor-specific 1623 1624 DT_NEEDED 1625 1626 Name of needed library 1627 1628 DT_NULL 1629 1630 Marks end of dynamic section 1631 1632 DT_PLTREL 1633 1634 Type of reloc in PLT 1635 1636 DT_PLTRELSZ 1637 1638 Size in bytes of PLT relocs 1639 1640 DT_REL 1641 1642 Address of Rel relocs 1643 1644 DT_RELA 1645 1646 Address of Rela relocs 1647 1648 DT_RELAENT 1649 1650 Size of one Rela reloc 1651 1652 DT_RELASZ 1653 1654 Total size of Rela relocs 1655 1656 DT_RELENT 1657 1658 Size of one Rel reloc 1659 1660 DT_RELSZ 1661 1662 Total size of Rel relocs 1663 1664 DT_RPATH 1665 1666 Library search path 1667 1668 DT_SONAME 1669 1670 Name of shared object 1671 1672 DT_STRSZ 1673 1674 Size of string table 1675 1676 DT_STRTAB 1677 1678 Address of string table 1679 1680 DT_SYMBOLIC 1681 1682 Start symbol search here 1683 1684 DT_SYMENT 1685 1686 Size of one symbol table entry 1687 1688 DT_SYMTAB 1689 1690 Address of symbol table 1691 1692 DT_TEXTREL 1693 1694 Reloc might modify .text 1695 1696 1697 1698 ------------------------------------------------------------------------------- 1699 1700 Additional Dynamic Entries 1701 1702 The following dynamic entries are defined here. 1703 1704 DT_ADDRRNGHI 1705 1706 Values from DT_ADDRRNGLO through DT_ADDRRNGHI are reserved for definition 1707 by an archLSB. 1708 1709 DT_ADDRRNGLO 1710 1711 Values from DT_ADDRRNGLO through DT_ADDRRNGHI are reserved for definition 1712 by an archLSB. 1713 1714 DT_AUXILIARY 1715 1716 Shared object to load before self 1717 1718 DT_FILTER 1719 1720 Shared object to get values from 1721 1722 DT_FINI_ARRAY 1723 1724 The address of an array of pointers to termination functions. 1725 1726 DT_FINI_ARRAYSZ 1727 1728 Size in bytes of DT_FINI_ARRAY 1729 1730 DT_HIOS 1731 1732 Values from DT_LOOS through DT_HIOS are reserved for definition by specific 1733 operating systems. 1734 1735 DT_INIT_ARRAY 1736 1737 The address of an array of pointers to initialization functions. 1738 1739 DT_INIT_ARRAYSZ 1740 1741 Size in bytes of DT_INIT_ARRAY 1742 1743 DT_LOOS 1744 1745 Values from DT_LOOS through DT_HIOS are reserved for definition by specific 1746 operating systems. 1747 1748 DT_NUM 1749 1750 Number of dynamic entry tags defined (excepting reserved ranges). 1751 1752 DT_POSFLAG_1 1753 1754 Flags for DT_* entries, effecting the following DT_* entry 1755 1756 DT_RELCOUNT 1757 1758 All Elf32_Rel R_*_RELATIVE relocations have been placed into a single block 1759 and this entry specifies the number of entries in that block. This permits 1760 ld.so.1 to streamline the processing of RELATIVE relocations. 1761 1762 DT_SYMINENT 1763 1764 Entry size of syminfo 1765 1766 DT_SYMINFO 1767 1768 Address of the Syminfo table. 1769 1770 DT_SYMINSZ 1771 1772 Size of syminfo table (in bytes) 1773 1774 DT_VALRNGHI 1775 1776 Entries which fall between DT_VALRNGHI & DT_VALRNGLO use the Dyn.d_un.d_val 1777 field of the Elf*_Dyn structure. 1778 1779 DT_VALRNGLO 1780 1781 Entries which fall between DT_VALRNGHI & DT_VALRNGLO use the Dyn.d_un.d_val 1782 field of the Elf*_Dyn structure. 1783 1784 DT_VERDEF 1785 1786 Address of version definition table 1787 1788 DT_VERDEFNUM 1789 1790 Number of version definitions 1791 1792 DT_VERNEED 1793 1794 Address of table with needed versions 1795 1796 DT_VERNEEDNUM 1797 1798 Number of needed versions 1799 1800 DT_VERSYM 1801 1802 Address of the table provided by the .gnu.version section. 1803 1804 1805 1806 Linux Standard Base Specification 1807 1808 ------------------------------------------------------------------------------- 1809 1810 Table of Contents 1811 I. Base Libraries 1812 1813 1. Libraries 1814 1815 Program Interpreter 1816 Interfaces for libc 1817 Data Definitions for libc 1818 Interface Definitions for libc 1819 Interfaces for libm 1820 Data Definitions for libm 1821 Interfaces for libpthread 1822 Data Definitions for libpthread 1823 Interface Definitions for libpthread 1824 Interfaces for libgcc_s 1825 Data Definitions for libgcc_s 1826 Interfaces for libdl 1827 Data Definitions for libdl 1828 Interface Definitions for libdl 1829 Interfaces for libcrypt 1830 Interfaces for libpam 1831 Data Definitions for libpam 1832 Interface Definitions for libpam 1833 1834 II. Utility Libraries 1835 1836 2. Libraries 1837 1838 Interfaces for libz 1839 Data Definitions for libz 1840 Interfaces for libncurses 1841 Data Definitions for libncurses 1842 Interfaces for libutil 1843 Interface Definitions for libutil 1844 1845 III. Commands and Utilities 1846 1847 3. Commands and Utilities 1848 1849 Commands and Utilities 1850 Command Behavior 1851 1852 IV. Execution Environment 1853 1854 4. File System Hierarchy 1855 1856 /dev 1857 1858 5. Additional Recommendations 1859 1860 Minimal granted Directory and File permissions 1861 Recommendations for applications on ownership and permissions 1862 1863 6. Additional Behaviors 1864 1865 Mandatory Optional Behaviors 1866 1867 7. Localization 1868 1869 Regular Expressions 1870 Filename Globbing 1871 1872 V. System Initialization 1873 1874 8. System Initialization 1875 1876 Cron Jobs 1877 Init Script Actions 1878 Comment Conventions for Init Scripts 1879 Installation and Removal of init.d Files 1880 Run Levels 1881 Facility Names 1882 Script Names 1883 Init Script Functions 1884 1885 VI. Users & Groups 1886 1887 9. Users & Groups 1888 1889 User and Group Database 1890 User & Group Names 1891 UID Ranges 1892 Rationale 1893 1894 A. Alphabetical Listing of Interfaces 1895 1896 libX11 1897 libXt 1898 libm 1899 libGL 1900 libXext 1901 libICE 1902 libSM 1903 libdl 1904 libcrypt 1905 libz 1906 libncurses 1907 libutil 1908 libc 1909 libpthread 1910 libpam 1911 1912 List of Tables 1913 1-1. libc Definition 1914 1-2. libc - RPC Function Interfaces 1915 1-3. libc - System Calls Function Interfaces 1916 1-4. libc - Standard I/O Function Interfaces 1917 1-5. libc - Standard I/O Data Interfaces 1918 1-6. libc - Signal Handling Function Interfaces 1919 1-7. libc - Signal Handling Data Interfaces 1920 1-8. libc - Localization Functions Function Interfaces 1921 1-9. libc - Localization Functions Data Interfaces 1922 1-10. libc - Socket Interface Function Interfaces 1923 1-11. libc - Socket Interface Deprecated Function Interfaces 1924 1-12. libc - Wide Characters Function Interfaces 1925 1-13. libc - String Functions Function Interfaces 1926 1-14. libc - IPC Functions Function Interfaces 1927 1-15. libc - Regular Expressions Function Interfaces 1928 1-16. libc - Regular Expressions Deprecated Function Interfaces 1929 1-17. libc - Regular Expressions Deprecated Data Interfaces 1930 1-18. libc - Character Type Functions Function Interfaces 1931 1-19. libc - Time Manipulation Function Interfaces 1932 1-20. libc - Time Manipulation Deprecated Function Interfaces 1933 1-21. libc - Time Manipulation Data Interfaces 1934 1-22. libc - Terminal Interface Functions Function Interfaces 1935 1-23. libc - System Database Interface Function Interfaces 1936 1-24. libc - Language Support Function Interfaces 1937 1-25. libc - Large File Support Function Interfaces 1938 1-26. libc - Standard Library Function Interfaces 1939 1-27. libc - Standard Library Data Interfaces 1940 1-28. libm Definition 1941 1-29. libm - Math Function Interfaces 1942 1-30. libm - Math Data Interfaces 1943 1-31. libpthread Definition 1944 1-32. libpthread - Posix Threads Function Interfaces 1945 1-33. libgcc_s Definition 1946 1-34. libdl Definition 1947 1-35. libdl - Dynamic Loader Function Interfaces 1948 1-36. libcrypt Definition 1949 1-37. libcrypt - Encryption Function Interfaces 1950 1-38. libpam Definition 1951 1-39. libpam - Pluggable Authentication API Function Interfaces 1952 2-1. libz Definition 1953 2-2. libz - Compression Library Function Interfaces 1954 2-3. libncurses Definition 1955 2-4. libncurses - Curses Function Interfaces 1956 2-5. libncurses - Curses Data Interfaces 1957 2-6. libutil Definition 1958 2-7. libutil - Utility Functions Function Interfaces 1959 3-1. Commands and Utilities 1960 9-1. Required User & Group Names 1961 9-2. Optional User & Group Names 1962 A-1. libX11 Function Interfaces 1963 A-2. libX11 Data Interfaces 1964 A-3. libXt Function Interfaces 1965 A-4. libXt Data Interfaces 1966 A-5. libm Function Interfaces 1967 A-6. libm Data Interfaces 1968 A-7. libGL Function Interfaces 1969 A-8. libXext Function Interfaces 1970 A-9. libICE Function Interfaces 1971 A-10. libSM Function Interfaces 1972 A-11. libdl Function Interfaces 1973 A-12. libcrypt Function Interfaces 1974 A-13. libz Function Interfaces 1975 A-14. libncurses Function Interfaces 1976 A-15. libncurses Data Interfaces 1977 A-16. libutil Function Interfaces 1978 A-17. libc Function Interfaces 1979 A-18. libc Data Interfaces 1980 A-19. libpthread Function Interfaces 1981 A-20. libpam Function Interfaces 1982 1983 I. Base Libraries 1984 1985 Table of Contents 1986 1. Libraries 1987 1988 ------------------------------------------------------------------------------- 1989 1990 Chapter 1. Libraries 1991 1992 An LSB-conforming implementation shall support some base libraries which 1993 provide interfaces for accessing the operating system, processor and other 1994 hardware in the system. 1995 1996 ------------------------------------------------------------------------------- 1997 1998 Program Interpreter 1999 2000 The Program Interpreter is specified in the appropriate architecture-specific 2001 LSB specification. 2002 2003 ------------------------------------------------------------------------------- 2004 2005 Interfaces for libc 2006 2007 Table 1-1 defines the library name and shared object name for the libc library 2008 2009 Table 1-1. libc Definition 2010 2011 +----------------------+ 2012 |Library:|libc | 2013 |--------+-------------| 2014 |SONAME: |See archLSB. | 2015 +----------------------+ 2016 2017 The behavior of the interfaces in this library is specified by the following 2018 specifications: 2019 2020 Large File Support 2021 Linux Standard Base 2022 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 2023 (ISBN: 1-85912-181-0, C606) 2024 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2025 Specification(SUS) V3 2026 System V Interface Definition, Issue 3 (ISBN 0201566524) 2027 System V Interface Definition,Fourth Edition 2028 2029 ------------------------------------------------------------------------------- 2030 2031 RPC 2032 2033 ------------------------------------------------------------------------------- 2034 2035 Interfaces for RPC 2036 2037 An LSB conforming implementation shall provide the generic functions for RPC 2038 specified in Table 1-2, with the full functionality as described in the 2039 referenced underlying specification. 2040 2041 Table 1-2. libc - RPC Function Interfaces 2042 2043 +----------------------------------------------------------------------------------------+ 2044 |authnone_create |pmap_unset [2] |svcerr_weakauth |xdr_float [3] |xdr_u_char [3]| 2045 |[1] | |[3] | | | 2046 |------------------+----------------+------------------+------------------+--------------| 2047 |clnt_create [1] |setdomainname |svctcp_create [2] |xdr_free [3] |xdr_u_int [2] | 2048 | |[2] | | | | 2049 |------------------+----------------+------------------+------------------+--------------| 2050 |clnt_pcreateerror |svc_getreqset |svcudp_create [2] |xdr_int [3] |xdr_u_long [3]| 2051 |[1] |[3] | | | | 2052 |------------------+----------------+------------------+------------------+--------------| 2053 |clnt_perrno [1] |svc_register [2]|xdr_accepted_reply|xdr_long [3] |xdr_u_short | 2054 | | |[3] | |[3] | 2055 |------------------+----------------+------------------+------------------+--------------| 2056 |clnt_perror [1] |svc_run [2] |xdr_array [3] |xdr_opaque [3] |xdr_union [3] | 2057 |------------------+----------------+------------------+------------------+--------------| 2058 |clnt_spcreateerror|svc_sendreply |xdr_bool [3] |xdr_opaque_auth |xdr_vector [3]| 2059 |[1] |[2] | |[3] | | 2060 |------------------+----------------+------------------+------------------+--------------| 2061 |clnt_sperrno [1] |svcerr_auth [3] |xdr_bytes [3] |xdr_pointer [3] |xdr_void [3] | 2062 |------------------+----------------+------------------+------------------+--------------| 2063 |clnt_sperror [1] |svcerr_decode |xdr_callhdr [3] |xdr_reference [3] |xdr_wrapstring| 2064 | |[3] | | |[3] | 2065 |------------------+----------------+------------------+------------------+--------------| 2066 |getdomainname [2] |svcerr_noproc |xdr_callmsg [3] |xdr_rejected_reply|xdrmem_create | 2067 | |[3] | |[3] |[3] | 2068 |------------------+----------------+------------------+------------------+--------------| 2069 |key_decryptsession|svcerr_noprog |xdr_char [3] |xdr_replymsg [3] |xdrrec_create | 2070 |[3] |[3] | | |[3] | 2071 |------------------+----------------+------------------+------------------+--------------| 2072 |pmap_getport [2] |svcerr_progvers |xdr_double [3] |xdr_short [3] |xdrrec_eof [3]| 2073 | |[3] | | | | 2074 |------------------+----------------+------------------+------------------+--------------| 2075 |pmap_set [2] |svcerr_systemerr|xdr_enum [3] |xdr_string [3] | | 2076 | |[3] | | | | 2077 +----------------------------------------------------------------------------------------+ 2078 2079 Referenced Specification(s) 2080 2081 [1]. System V Interface Definition,Fourth Edition 2082 2083 [2]. Linux Standard Base 2084 2085 [3]. System V Interface Definition, Issue 3 (ISBN 0201566524) 2086 2087 ------------------------------------------------------------------------------- 2088 2089 System Calls 2090 2091 ------------------------------------------------------------------------------- 2092 2093 Interfaces for System Calls 2094 2095 An LSB conforming implementation shall provide the generic functions for System 2096 Calls specified in Table 1-3, with the full functionality as described in the 2097 referenced underlying specification. 2098 2099 Table 1-3. libc - System Calls Function Interfaces 2100 2101 +-----------------------------------------------------------------------------+ 2102 |__fxstat [1]|fchmod [2] |getwd [2] |read [2] |setrlimit [2]| 2103 |------------+-------------+------------+-----------------------+-------------| 2104 |__getpgid |fchown [2] |initgroups |readdir [2] |setrlimit64 | 2105 |[1] | |[1] | |[3] | 2106 |------------+-------------+------------+-----------------------+-------------| 2107 |__lxstat [1]|fcntl [1] |ioctl [1] |readdir_r [2] |setsid [2] | 2108 |------------+-------------+------------+-----------------------+-------------| 2109 |__xmknod [1]|fdatasync [2]|kill [1] |readlink [2] |setuid [2] | 2110 |------------+-------------+------------+-----------------------+-------------| 2111 |__xstat [1] |flock [1] |killpg [2] |readv [2] |sleep [2] | 2112 |------------+-------------+------------+-----------------------+-------------| 2113 |access [2] |fork [2] |lchown [2] |rename [2] |statvfs [2] | 2114 |------------+-------------+------------+-----------------------+-------------| 2115 |acct [1] |fstatvfs [2] |link [2] |rmdir [2] |stime [1] | 2116 |------------+-------------+------------+-----------------------+-------------| 2117 |alarm [2] |fsync [2] |lockf [2] |sbrk [4] |symlink [2] | 2118 |------------+-------------+------------+-----------------------+-------------| 2119 |brk [4] |ftime [2] |lseek [2] |sched_get_priority_max |sync [2] | 2120 | | | |[2] | | 2121 |------------+-------------+------------+-----------------------+-------------| 2122 |chdir [2] |ftruncate [2]|mkdir [2] |sched_get_priority_min |sysconf [2] | 2123 | | | |[2] | | 2124 |------------+-------------+------------+-----------------------+-------------| 2125 |chmod [2] |getcontext |mkfifo [2] |sched_getparam [2] |time [2] | 2126 | |[2] | | | | 2127 |------------+-------------+------------+-----------------------+-------------| 2128 |chown [2] |getegid [2] |mlock [2] |sched_getscheduler [2] |times [2] | 2129 |------------+-------------+------------+-----------------------+-------------| 2130 |chroot [4] |geteuid [2] |mlockall [2]|sched_rr_get_interval |truncate [2] | 2131 | | | |[2] | | 2132 |------------+-------------+------------+-----------------------+-------------| 2133 |clock [2] |getgid [2] |mmap [2] |sched_setparam [2] |ulimit [2] | 2134 |------------+-------------+------------+-----------------------+-------------| 2135 |close [2] |getgroups [2]|mprotect [2]|sched_setscheduler [2] |umask [2] | 2136 |------------+-------------+------------+-----------------------+-------------| 2137 |closedir [2]|getitimer [2]|msync [2] |sched_yield [2] |uname [2] | 2138 |------------+-------------+------------+-----------------------+-------------| 2139 |creat [1] |getloadavg |munlock [2] |select [2] |unlink [1] | 2140 | |[1] | | | | 2141 |------------+-------------+------------+-----------------------+-------------| 2142 |dup [2] |getpagesize |munlockall |setcontext [2] |utime [2] | 2143 | |[4] |[2] | | | 2144 |------------+-------------+------------+-----------------------+-------------| 2145 |dup2 [2] |getpgid [2] |munmap [2] |setegid [2] |utimes [2] | 2146 |------------+-------------+------------+-----------------------+-------------| 2147 |execl [2] |getpgrp [2] |nanosleep |seteuid [2] |vfork [2] | 2148 | | |[2] | | | 2149 |------------+-------------+------------+-----------------------+-------------| 2150 |execle [2] |getpid [2] |nice [2] |setgid [2] |wait [2] | 2151 |------------+-------------+------------+-----------------------+-------------| 2152 |execlp [2] |getppid [2] |open [1] |setitimer [2] |wait3 [1] | 2153 |------------+-------------+------------+-----------------------+-------------| 2154 |execv [2] |getpriority |opendir [2] |setpgid [2] |wait4 [1] | 2155 | |[2] | | | | 2156 |------------+-------------+------------+-----------------------+-------------| 2157 |execve [2] |getrlimit [2]|pathconf [2]|setpgrp [2] |waitpid [1] | 2158 |------------+-------------+------------+-----------------------+-------------| 2159 |execvp [2] |getrusage [2]|pause [2] |setpriority [2] |write [2] | 2160 |------------+-------------+------------+-----------------------+-------------| 2161 |exit [2] |getsid [2] |pipe [2] |setregid [2] |writev [2] | 2162 |------------+-------------+------------+-----------------------+-------------| 2163 |fchdir [2] |getuid [2] |poll [2] |setreuid [2] | | 2164 +-----------------------------------------------------------------------------+ 2165 2166 Referenced Specification(s) 2167 2168 [1]. Linux Standard Base 2169 2170 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2171 Specification(SUS) V3 2172 2173 [3]. Large File Support 2174 2175 [4]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2176 5 (ISBN: 1-85912-181-0, C606) 2177 2178 ------------------------------------------------------------------------------- 2179 2180 Standard I/O 2181 2182 ------------------------------------------------------------------------------- 2183 2184 Interfaces for Standard I/O 2185 2186 An LSB conforming implementation shall provide the generic functions for 2187 Standard I/O specified in Table 1-4, with the full functionality as described 2188 in the referenced underlying specification. 2189 2190 Table 1-4. libc - Standard I/O Function Interfaces 2191 2192 +-----------------------------------------------------------------------------+ 2193 |_IO_feof [1] |fgetpos [2] |fsetpos [2] |putchar [2] |sscanf [2] | 2194 |---------------+---------------+----------------+----------------+-----------| 2195 |_IO_getc [1] |fgets [2] |ftell [2] |putchar_unlocked|telldir [2]| 2196 | | | |[2] | | 2197 |---------------+---------------+----------------+----------------+-----------| 2198 |_IO_putc [1] |fgetwc_unlocked|ftello [2] |puts [2] |tempnam [2]| 2199 | |[1] | | | | 2200 |---------------+---------------+----------------+----------------+-----------| 2201 |_IO_puts [1] |fileno [2] |fwrite [2] |putw [3] |ungetc [2] | 2202 |---------------+---------------+----------------+----------------+-----------| 2203 |asprintf [1] |flockfile [2] |getc [2] |remove [2] |vasprintf | 2204 | | | | |[1] | 2205 |---------------+---------------+----------------+----------------+-----------| 2206 |clearerr [2] |fopen [1] |getc_unlocked |rewind [2] |vdprintf | 2207 | | |[2] | |[1] | 2208 |---------------+---------------+----------------+----------------+-----------| 2209 |ctermid [2] |fprintf [2] |getchar [2] |rewinddir [2] |vfprintf | 2210 | | | | |[2] | 2211 |---------------+---------------+----------------+----------------+-----------| 2212 |fclose [2] |fputc [2] |getchar_unlocked|scanf [2] |vprintf [2]| 2213 | | |[2] | | | 2214 |---------------+---------------+----------------+----------------+-----------| 2215 |fdopen [2] |fputs [2] |getw [3] |seekdir [2] |vsnprintf | 2216 | | | | |[2] | 2217 |---------------+---------------+----------------+----------------+-----------| 2218 |feof [2] |fread [2] |pclose [2] |setbuf [2] |vsprintf | 2219 | | | | |[2] | 2220 |---------------+---------------+----------------+----------------+-----------| 2221 |ferror [2] |freopen [1] |popen [2] |setbuffer [1] | | 2222 |---------------+---------------+----------------+----------------+-----------| 2223 |fflush [2] |fscanf [2] |printf [2] |setvbuf [2] | | 2224 |---------------+---------------+----------------+----------------+-----------| 2225 |fflush_unlocked|fseek [2] |putc [2] |snprintf [2] | | 2226 |[1] | | | | | 2227 |---------------+---------------+----------------+----------------+-----------| 2228 |fgetc [2] |fseeko [2] |putc_unlocked |sprintf [2] | | 2229 | | |[2] | | | 2230 +-----------------------------------------------------------------------------+ 2231 2232 Referenced Specification(s) 2233 2234 [1]. Linux Standard Base 2235 2236 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2237 Specification(SUS) V3 2238 2239 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2240 5 (ISBN: 1-85912-181-0, C606) 2241 2242 An LSB conforming implementation shall provide the generic data interfaces for 2243 Standard I/O specified in Table 1-5, with the full functionality as described 2244 in the referenced underlying specification. 2245 2246 Table 1-5. libc - Standard I/O Data Interfaces 2247 2248 +-----------------------------------+ 2249 |stderr [1]|stdin [1]|stdout [1]| | | 2250 +-----------------------------------+ 2251 2252 Referenced Specification(s) 2253 2254 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2255 Specification(SUS) V3 2256 2257 ------------------------------------------------------------------------------- 2258 2259 Signal Handling 2260 2261 ------------------------------------------------------------------------------- 2262 2263 Interfaces for Signal Handling 2264 2265 An LSB conforming implementation shall provide the generic functions for Signal 2266 Handling specified in Table 1-6, with the full functionality as described in 2267 the referenced underlying specification. 2268 2269 Table 1-6. libc - Signal Handling Function Interfaces 2270 2271 +-----------------------------------------------------------------------------+ 2272 |__libc_current_sigrtmax|sigaddset |sighold [2] |sigpause [2]|sigsuspend | 2273 |[1] |[2] | | |[2] | 2274 |-----------------------+------------+-------------+------------+-------------| 2275 |__libc_current_sigrtmin|sigaltstack |sigignore [2]|sigpending |sigtimedwait | 2276 |[1] |[2] | |[2] |[2] | 2277 |-----------------------+------------+-------------+------------+-------------| 2278 |__sigsetjmp [1] |sigandset |siginterrupt |sigprocmask |sigwait [2] | 2279 | |[1] |[2] |[2] | | 2280 |-----------------------+------------+-------------+------------+-------------| 2281 |__sysv_signal [1] |sigblock [1]|sigisemptyset|sigqueue [2]|sigwaitinfo | 2282 | | |[1] | |[2] | 2283 |-----------------------+------------+-------------+------------+-------------| 2284 |bsd_signal [2] |sigdelset |sigismember |sigrelse [2]| | 2285 | |[2] |[2] | | | 2286 |-----------------------+------------+-------------+------------+-------------| 2287 |psignal [1] |sigemptyset |siglongjmp |sigreturn | | 2288 | |[2] |[2] |[1] | | 2289 |-----------------------+------------+-------------+------------+-------------| 2290 |raise [2] |sigfillset |signal [2] |sigset [2] | | 2291 | |[2] | | | | 2292 |-----------------------+------------+-------------+------------+-------------| 2293 |sigaction [2] |siggetmask |sigorset [1] |sigstack [3]| | 2294 | |[1] | | | | 2295 +-----------------------------------------------------------------------------+ 2296 2297 Referenced Specification(s) 2298 2299 [1]. Linux Standard Base 2300 2301 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2302 Specification(SUS) V3 2303 2304 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2305 5 (ISBN: 1-85912-181-0, C606) 2306 2307 An LSB conforming implementation shall provide the generic data interfaces for 2308 Signal Handling specified in Table 1-7, with the full functionality as 2309 described in the referenced underlying specification. 2310 2311 Table 1-7. libc - Signal Handling Data Interfaces 2312 2313 +-------------------------+ 2314 |_sys_siglist [1] | | | | | 2315 +-------------------------+ 2316 2317 Referenced Specification(s) 2318 2319 [1]. Linux Standard Base 2320 2321 ------------------------------------------------------------------------------- 2322 2323 Localization Functions 2324 2325 ------------------------------------------------------------------------------- 2326 2327 Interfaces for Localization Functions 2328 2329 An LSB conforming implementation shall provide the generic functions for 2330 Localization Functions specified in Table 1-8, with the full functionality as 2331 described in the referenced underlying specification. 2332 2333 Table 1-8. libc - Localization Functions Function Interfaces 2334 2335 +-----------------------------------------------------------------------------+ 2336 |bind_textdomain_codeset|catopen [2] |dngettext [1]|iconv_open |setlocale | 2337 |[1] | | |[2] |[2] | 2338 |-----------------------+------------+-------------+-------------+------------| 2339 |bindtextdomain [1] |dcgettext |gettext [1] |localeconv |textdomain | 2340 | |[1] | |[2] |[1] | 2341 |-----------------------+------------+-------------+-------------+------------| 2342 |catclose [2] |dcngettext |iconv [2] |ngettext [1] | | 2343 | |[1] | | | | 2344 |-----------------------+------------+-------------+-------------+------------| 2345 |catgets [2] |dgettext [1]|iconv_close |nl_langinfo | | 2346 | | |[2] |[2] | | 2347 +-----------------------------------------------------------------------------+ 2348 2349 Referenced Specification(s) 2350 2351 [1]. Linux Standard Base 2352 2353 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2354 Specification(SUS) V3 2355 2356 An LSB conforming implementation shall provide the generic data interfaces for 2357 Localization Functions specified in Table 1-9, with the full functionality as 2358 described in the referenced underlying specification. 2359 2360 Table 1-9. libc - Localization Functions Data Interfaces 2361 2362 +-----------------------------+ 2363 |_nl_msg_cat_cntr [1] | | | | | 2364 +-----------------------------+ 2365 2366 Referenced Specification(s) 2367 2368 [1]. Linux Standard Base 2369 2370 ------------------------------------------------------------------------------- 2371 2372 Socket Interface 2373 2374 ------------------------------------------------------------------------------- 2375 2376 Interfaces for Socket Interface 2377 2378 An LSB conforming implementation shall provide the generic functions for Socket 2379 Interface specified in Table 1-10, with the full functionality as described in 2380 the referenced underlying specification. 2381 2382 Table 1-10. libc - Socket Interface Function Interfaces 2383 2384 +-----------------------------------------------------------------------------+ 2385 |__h_errno_location |gethostid [2] |listen [2] |sendmsg [2] |socketpair | 2386 |[1] | | | |[2] | 2387 |---------------------+--------------+------------+-------------+-------------| 2388 |accept [2] |gethostname |recv [2] |sendto [2] | | 2389 | |[2] | | | | 2390 |---------------------+--------------+------------+-------------+-------------| 2391 |bind [2] |getpeername |recvfrom [2]|setsockopt | | 2392 | |[2] | |[1] | | 2393 |---------------------+--------------+------------+-------------+-------------| 2394 |bindresvport [1] |getsockname |recvmsg [2] |shutdown [2] | | 2395 | |[2] | | | | 2396 |---------------------+--------------+------------+-------------+-------------| 2397 |connect [2] |getsockopt [2]|send [2] |socket [2] | | 2398 +-----------------------------------------------------------------------------+ 2399 2400 Referenced Specification(s) 2401 2402 [1]. Linux Standard Base 2403 2404 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2405 Specification(SUS) V3 2406 2407 An LSB conforming implementation shall provide the generic deprecated functions 2408 for Socket Interface specified in Table 1-11, with the full functionality as 2409 described in the referenced underlying specification. 2410 2411 Note: These interfaces are deprecated, and applications should avoid using 2412 them. These interfaces may be withdrawn in future releases of this 2413 specification. 2414 2415 Table 1-11. libc - Socket Interface Deprecated Function Interfaces 2416 2417 +----------------------------+ 2418 |gethostbyname_r [1] | | | | | 2419 +----------------------------+ 2420 2421 Referenced Specification(s) 2422 2423 [1]. Linux Standard Base 2424 2425 ------------------------------------------------------------------------------- 2426 2427 Wide Characters 2428 2429 ------------------------------------------------------------------------------- 2430 2431 Interfaces for Wide Characters 2432 2433 An LSB conforming implementation shall provide the generic functions for Wide 2434 Characters specified in Table 1-12, with the full functionality as described in 2435 the referenced underlying specification. 2436 2437 Table 1-12. libc - Wide Characters Function Interfaces 2438 2439 +-----------------------------------------------------------------------------+ 2440 |__wcstod_internal [1]|mbsinit [2] |vwscanf [2] |wcsnlen [1] |wcstoumax | 2441 | | | | |[2] | 2442 |---------------------+-------------+--------------+-------------+------------| 2443 |__wcstof_internal [1]|mbsnrtowcs |wcpcpy [1] |wcsnrtombs |wcstouq [1] | 2444 | |[1] | |[1] | | 2445 |---------------------+-------------+--------------+-------------+------------| 2446 |__wcstol_internal [1]|mbsrtowcs [2]|wcpncpy [1] |wcspbrk [2] |wcswcs [2] | 2447 |---------------------+-------------+--------------+-------------+------------| 2448 |__wcstold_internal |mbstowcs [2] |wcrtomb [2] |wcsrchr [2] |wcswidth [2]| 2449 |[1] | | | | | 2450 |---------------------+-------------+--------------+-------------+------------| 2451 |__wcstoul_internal |mbtowc [2] |wcscasecmp [1]|wcsrtombs [2]|wcsxfrm [2] | 2452 |[1] | | | | | 2453 |---------------------+-------------+--------------+-------------+------------| 2454 |btowc [2] |putwc [2] |wcscat [2] |wcsspn [2] |wctob [2] | 2455 |---------------------+-------------+--------------+-------------+------------| 2456 |fgetwc [2] |putwchar [2] |wcschr [2] |wcsstr [2] |wctomb [2] | 2457 |---------------------+-------------+--------------+-------------+------------| 2458 |fgetws [2] |swprintf [2] |wcscmp [2] |wcstod [2] |wctrans [2] | 2459 |---------------------+-------------+--------------+-------------+------------| 2460 |fputwc [2] |swscanf [2] |wcscoll [2] |wcstof [2] |wctype [2] | 2461 |---------------------+-------------+--------------+-------------+------------| 2462 |fputws [2] |towctrans [2]|wcscpy [2] |wcstoimax [2]|wcwidth [2] | 2463 |---------------------+-------------+--------------+-------------+------------| 2464 |fwide [2] |towlower [2] |wcscspn [2] |wcstok [2] |wmemchr [2] | 2465 |---------------------+-------------+--------------+-------------+------------| 2466 |fwprintf [2] |towupper [2] |wcsdup [1] |wcstol [2] |wmemcmp [2] | 2467 |---------------------+-------------+--------------+-------------+------------| 2468 |fwscanf [2] |ungetwc [2] |wcsftime [2] |wcstold [2] |wmemcpy [2] | 2469 |---------------------+-------------+--------------+-------------+------------| 2470 |getwc [2] |vfwprintf [2]|wcslen [2] |wcstoll [2] |wmemmove [2]| 2471 |---------------------+-------------+--------------+-------------+------------| 2472 |getwchar [2] |vfwscanf [2] |wcsncasecmp |wcstombs [2] |wmemset [2] | 2473 | | |[1] | | | 2474 |---------------------+-------------+--------------+-------------+------------| 2475 |mblen [2] |vswprintf [2]|wcsncat [2] |wcstoq [1] |wprintf [2] | 2476 |---------------------+-------------+--------------+-------------+------------| 2477 |mbrlen [2] |vswscanf [2] |wcsncmp [2] |wcstoul [2] |wscanf [2] | 2478 |---------------------+-------------+--------------+-------------+------------| 2479 |mbrtowc [2] |vwprintf [2] |wcsncpy [2] |wcstoull [2] | | 2480 +-----------------------------------------------------------------------------+ 2481 2482 Referenced Specification(s) 2483 2484 [1]. Linux Standard Base 2485 2486 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2487 Specification(SUS) V3 2488 2489 ------------------------------------------------------------------------------- 2490 2491 String Functions 2492 2493 ------------------------------------------------------------------------------- 2494 2495 Interfaces for String Functions 2496 2497 An LSB conforming implementation shall provide the generic functions for String 2498 Functions specified in Table 1-13, with the full functionality as described in 2499 the referenced underlying specification. 2500 2501 Table 1-13. libc - String Functions Function Interfaces 2502 2503 +-----------------------------------------------------------------------------+ 2504 |__mempcpy [1] |bzero [2] |strcasestr |strncasecmp |strtoimax [2]| 2505 | | |[1] |[2] | | 2506 |---------------------+-------------+-------------+-------------+-------------| 2507 |__rawmemchr [1] |ffs [2] |strcat [2] |strncat [2] |strtok [2] | 2508 |---------------------+-------------+-------------+-------------+-------------| 2509 |__stpcpy [1] |index [2] |strchr [2] |strncmp [2] |strtok_r [1] | 2510 |---------------------+-------------+-------------+-------------+-------------| 2511 |__strdup [1] |memccpy [2] |strcmp [2] |strncpy [2] |strtold [2] | 2512 |---------------------+-------------+-------------+-------------+-------------| 2513 |__strtod_internal [1]|memchr [2] |strcoll [2] |strndup [1] |strtoll [2] | 2514 |---------------------+-------------+-------------+-------------+-------------| 2515 |__strtof_internal [1]|memcmp [2] |strcpy [2] |strnlen [1] |strtoq [1] | 2516 |---------------------+-------------+-------------+-------------+-------------| 2517 |__strtok_r [1] |memcpy [2] |strcspn [2] |strpbrk [2] |strtoull [2] | 2518 |---------------------+-------------+-------------+-------------+-------------| 2519 |__strtol_internal [1]|memmove [2] |strdup [2] |strptime [1] |strtoumax [2]| 2520 |---------------------+-------------+-------------+-------------+-------------| 2521 |__strtold_internal |memrchr [1] |strerror [2] |strrchr [2] |strtouq [1] | 2522 |[1] | | | | | 2523 |---------------------+-------------+-------------+-------------+-------------| 2524 |__strtoll_internal |memset [2] |strerror_r |strsep [1] |strverscmp | 2525 |[1] | |[1] | |[1] | 2526 |---------------------+-------------+-------------+-------------+-------------| 2527 |__strtoul_internal |rindex [2] |strfmon [2] |strsignal [1]|strxfrm [2] | 2528 |[1] | | | | | 2529 |---------------------+-------------+-------------+-------------+-------------| 2530 |__strtoull_internal |stpcpy [1] |strfry [1] |strspn [2] |swab [2] | 2531 |[1] | | | | | 2532 |---------------------+-------------+-------------+-------------+-------------| 2533 |bcmp [2] |stpncpy [1] |strftime [2] |strstr [2] | | 2534 |---------------------+-------------+-------------+-------------+-------------| 2535 |bcopy [2] |strcasecmp |strlen [2] |strtof [2] | | 2536 | |[2] | | | | 2537 +-----------------------------------------------------------------------------+ 2538 2539 Referenced Specification(s) 2540 2541 [1]. Linux Standard Base 2542 2543 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2544 Specification(SUS) V3 2545 2546 ------------------------------------------------------------------------------- 2547 2548 IPC Functions 2549 2550 ------------------------------------------------------------------------------- 2551 2552 Interfaces for IPC Functions 2553 2554 An LSB conforming implementation shall provide the generic functions for IPC 2555 Functions specified in Table 1-14, with the full functionality as described in 2556 the referenced underlying specification. 2557 2558 Table 1-14. libc - IPC Functions Function Interfaces 2559 2560 +---------------------------------------------+ 2561 |ftok [1] |msgrcv [1]|semget [1]|shmctl [1]| | 2562 |----------+----------+----------+----------+-| 2563 |msgctl [1]|msgsnd [1]|semop [1] |shmdt [1] | | 2564 |----------+----------+----------+----------+-| 2565 |msgget [1]|semctl [1]|shmat [1] |shmget [1]| | 2566 +---------------------------------------------+ 2567 2568 Referenced Specification(s) 2569 2570 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2571 Specification(SUS) V3 2572 2573 ------------------------------------------------------------------------------- 2574 2575 Regular Expressions 2576 2577 ------------------------------------------------------------------------------- 2578 2579 Interfaces for Regular Expressions 2580 2581 An LSB conforming implementation shall provide the generic functions for 2582 Regular Expressions specified in Table 1-15, with the full functionality as 2583 described in the referenced underlying specification. 2584 2585 Table 1-15. libc - Regular Expressions Function Interfaces 2586 2587 +--------------------------------------------------+ 2588 |regcomp [1]|regerror [1]|regexec [1]|regfree [1]| | 2589 +--------------------------------------------------+ 2590 2591 Referenced Specification(s) 2592 2593 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2594 Specification(SUS) V3 2595 2596 An LSB conforming implementation shall provide the generic deprecated functions 2597 for Regular Expressions specified in Table 1-16, with the full functionality as 2598 described in the referenced underlying specification. 2599 2600 Note: These interfaces are deprecated, and applications should avoid using 2601 them. These interfaces may be withdrawn in future releases of this 2602 specification. 2603 2604 Table 1-16. libc - Regular Expressions Deprecated Function Interfaces 2605 2606 +----------------------------------------------+ 2607 |advance [1]|re_comp [1]|re_exec [1]|step [1]| | 2608 +----------------------------------------------+ 2609 2610 Referenced Specification(s) 2611 2612 [1]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2613 5 (ISBN: 1-85912-181-0, C606) 2614 2615 An LSB conforming implementation shall provide the generic deprecated data 2616 interfaces for Regular Expressions specified in Table 1-17, with the full 2617 functionality as described in the referenced underlying specification. 2618 2619 Note: These interfaces are deprecated, and applications should avoid using 2620 them. These interfaces may be withdrawn in future releases of this 2621 specification. 2622 2623 Table 1-17. libc - Regular Expressions Deprecated Data Interfaces 2624 2625 +------------------------------+ 2626 |loc1 [1]|loc2 [1]|locs [1]| | | 2627 +------------------------------+ 2628 2629 Referenced Specification(s) 2630 2631 [1]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2632 5 (ISBN: 1-85912-181-0, C606) 2633 2634 ------------------------------------------------------------------------------- 2635 2636 Character Type Functions 2637 2638 ------------------------------------------------------------------------------- 2639 2640 Interfaces for Character Type Functions 2641 2642 An LSB conforming implementation shall provide the generic functions for 2643 Character Type Functions specified in Table 1-18, with the full functionality 2644 as described in the referenced underlying specification. 2645 2646 Table 1-18. libc - Character Type Functions Function Interfaces 2647 2648 +-----------------------------------------------------------------------------+ 2649 |__ctype_b_loc(GLIBC_2.3) [1] |isalpha |ispunct [2]|iswctype |iswupper | 2650 | |[2] | |[1] |[2] | 2651 |------------------------------+----------+-----------+-----------+-----------| 2652 |__ctype_get_mb_cur_max [1] |isascii |isspace [2]|iswdigit |iswxdigit | 2653 | |[2] | |[2] |[2] | 2654 |------------------------------+----------+-----------+-----------+-----------| 2655 |__ctype_tolower_loc(GLIBC_2.3)|iscntrl |isupper [2]|iswgraph |isxdigit | 2656 |[1] |[2] | |[2] |[2] | 2657 |------------------------------+----------+-----------+-----------+-----------| 2658 |__ctype_toupper_loc(GLIBC_2.3)|isdigit |iswalnum |iswlower |toascii [2]| 2659 |[1] |[2] |[2] |[2] | | 2660 |------------------------------+----------+-----------+-----------+-----------| 2661 |_tolower [2] |isgraph |iswalpha |iswprint |tolower [2]| 2662 | |[2] |[2] |[2] | | 2663 |------------------------------+----------+-----------+-----------+-----------| 2664 |_toupper [2] |islower |iswblank |iswpunct |toupper [2]| 2665 | |[2] |[2] |[2] | | 2666 |------------------------------+----------+-----------+-----------+-----------| 2667 |isalnum [2] |isprint |iswcntrl |iswspace | | 2668 | |[2] |[2] |[2] | | 2669 +-----------------------------------------------------------------------------+ 2670 2671 Referenced Specification(s) 2672 2673 [1]. Linux Standard Base 2674 2675 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2676 Specification(SUS) V3 2677 2678 ------------------------------------------------------------------------------- 2679 2680 Time Manipulation 2681 2682 ------------------------------------------------------------------------------- 2683 2684 Interfaces for Time Manipulation 2685 2686 An LSB conforming implementation shall provide the generic functions for Time 2687 Manipulation specified in Table 1-19, with the full functionality as described 2688 in the referenced underlying specification. 2689 2690 Table 1-19. libc - Time Manipulation Function Interfaces 2691 2692 +-------------------------------------------------------------------+ 2693 |adjtime [1] |ctime [2] |gmtime [2] |localtime_r [2]|ualarm [2]| 2694 |-------------+------------+-------------+---------------+----------| 2695 |asctime [2] |ctime_r [2] |gmtime_r [2] |mktime [2] | | 2696 |-------------+------------+-------------+---------------+----------| 2697 |asctime_r [2]|difftime [2]|localtime [2]|tzset [2] | | 2698 +-------------------------------------------------------------------+ 2699 2700 Referenced Specification(s) 2701 2702 [1]. Linux Standard Base 2703 2704 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2705 Specification(SUS) V3 2706 2707 An LSB conforming implementation shall provide the generic deprecated functions 2708 for Time Manipulation specified in Table 1-20, with the full functionality as 2709 described in the referenced underlying specification. 2710 2711 Note: These interfaces are deprecated, and applications should avoid using 2712 them. These interfaces may be withdrawn in future releases of this 2713 specification. 2714 2715 Table 1-20. libc - Time Manipulation Deprecated Function Interfaces 2716 2717 +---------------------+ 2718 |adjtimex [1] | | | | | 2719 +---------------------+ 2720 2721 Referenced Specification(s) 2722 2723 [1]. Linux Standard Base 2724 2725 An LSB conforming implementation shall provide the generic data interfaces for 2726 Time Manipulation specified in Table 1-21, with the full functionality as 2727 described in the referenced underlying specification. 2728 2729 Table 1-21. libc - Time Manipulation Data Interfaces 2730 2731 +--------------------------------------------+ 2732 |__daylight [1]|__tzname [1]|timezone [2]| | | 2733 |--------------+------------+------------+-+-| 2734 |__timezone [1]|daylight [2]|tzname [2] | | | 2735 +--------------------------------------------+ 2736 2737 Referenced Specification(s) 2738 2739 [1]. Linux Standard Base 2740 2741 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2742 Specification(SUS) V3 2743 2744 ------------------------------------------------------------------------------- 2745 2746 Terminal Interface Functions 2747 2748 ------------------------------------------------------------------------------- 2749 2750 Interfaces for Terminal Interface Functions 2751 2752 An LSB conforming implementation shall provide the generic functions for 2753 Terminal Interface Functions specified in Table 1-22, with the full 2754 functionality as described in the referenced underlying specification. 2755 2756 Table 1-22. libc - Terminal Interface Functions Function Interfaces 2757 2758 +-------------------------------------------------------------------------+ 2759 |cfgetispeed [1]|cfsetispeed [1]|tcdrain [1]|tcgetattr [1]|tcsendbreak [1]| 2760 |---------------+---------------+-----------+-------------+---------------| 2761 |cfgetospeed [1]|cfsetospeed [1]|tcflow [1] |tcgetpgrp [1]|tcsetattr [1] | 2762 |---------------+---------------+-----------+-------------+---------------| 2763 |cfmakeraw [2] |cfsetspeed [2] |tcflush [1]|tcgetsid [1] |tcsetpgrp [1] | 2764 +-------------------------------------------------------------------------+ 2765 2766 Referenced Specification(s) 2767 2768 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2769 Specification(SUS) V3 2770 2771 [2]. Linux Standard Base 2772 2773 ------------------------------------------------------------------------------- 2774 2775 System Database Interface 2776 2777 ------------------------------------------------------------------------------- 2778 2779 Interfaces for System Database Interface 2780 2781 An LSB conforming implementation shall provide the generic functions for System 2782 Database Interface specified in Table 1-23, with the full functionality as 2783 described in the referenced underlying specification. 2784 2785 Table 1-23. libc - System Database Interface Function Interfaces 2786 2787 +-----------------------------------------------------------------------------+ 2788 |endgrent [1] |getgrgid [1] |getprotobynumber |getservbyport |setgrent [1] | 2789 | | |[1] |[1] | | 2790 |-------------+---------------+-----------------+---------------+-------------| 2791 |endnetent [1]|getgrgid_r [1] |getprotoent [1] |getservent [1] |setgroups [2]| 2792 |-------------+---------------+-----------------+---------------+-------------| 2793 |endprotoent |getgrnam [1] |getpwent [1] |getutent [2] |setnetent [1]| 2794 |[1] | | | | | 2795 |-------------+---------------+-----------------+---------------+-------------| 2796 |endpwent [1] |getgrnam_r [1] |getpwnam [1] |getutent_r [2] |setprotoent | 2797 | | | | |[1] | 2798 |-------------+---------------+-----------------+---------------+-------------| 2799 |endservent |gethostbyaddr |getpwnam_r [1] |getutxent [1] |setpwent [1] | 2800 |[1] |[1] | | | | 2801 |-------------+---------------+-----------------+---------------+-------------| 2802 |endutent [3] |gethostbyname |getpwuid [1] |getutxid [1] |setservent | 2803 | |[1] | | |[1] | 2804 |-------------+---------------+-----------------+---------------+-------------| 2805 |endutxent [1]|getnetbyaddr |getpwuid_r [1] |getutxline [1] |setutent [2] | 2806 | |[1] | | | | 2807 |-------------+---------------+-----------------+---------------+-------------| 2808 |getgrent [1] |getprotobyname |getservbyname [1]|pututxline [1] |setutxent [1]| 2809 | |[1] | | | | 2810 +-----------------------------------------------------------------------------+ 2811 2812 Referenced Specification(s) 2813 2814 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2815 Specification(SUS) V3 2816 2817 [2]. Linux Standard Base 2818 2819 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2820 5 (ISBN: 1-85912-181-0, C606) 2821 2822 ------------------------------------------------------------------------------- 2823 2824 Language Support 2825 2826 ------------------------------------------------------------------------------- 2827 2828 Interfaces for Language Support 2829 2830 An LSB conforming implementation shall provide the generic functions for 2831 Language Support specified in Table 1-24, with the full functionality as 2832 described in the referenced underlying specification. 2833 2834 Table 1-24. libc - Language Support Function Interfaces 2835 2836 +---------------------------------------------------------------------------------+ 2837 |__libc_start_main|__register_atfork|_obstack_begin|_obstack_newchunk|obstack_free| 2838 |[1] |(GLIBC_2.3.2) [1]|[1] |[1] |[1] | 2839 +---------------------------------------------------------------------------------+ 2840 2841 Referenced Specification(s) 2842 2843 [1]. Linux Standard Base 2844 2845 ------------------------------------------------------------------------------- 2846 2847 Large File Support 2848 2849 ------------------------------------------------------------------------------- 2850 2851 Interfaces for Large File Support 2852 2853 An LSB conforming implementation shall provide the generic functions for Large 2854 File Support specified in Table 1-25, with the full functionality as described 2855 in the referenced underlying specification. 2856 2857 Table 1-25. libc - Large File Support Function Interfaces 2858 2859 +--------------------------------------------------------------------------+ 2860 |__fxstat64 [1]|fopen64 [2] |ftello64 [2] |lseek64 [2] |readdir64 [2] | 2861 |--------------+--------------+---------------+-------------+--------------| 2862 |__lxstat64 [1]|freopen64 [2] |ftruncate64 [2]|mkstemp64 [2]|statvfs64 [2] | 2863 |--------------+--------------+---------------+-------------+--------------| 2864 |__xstat64 [1] |fseeko64 [2] |ftw64 [2] |mmap64 [2] |tmpfile64 [2] | 2865 |--------------+--------------+---------------+-------------+--------------| 2866 |creat64 [2] |fsetpos64 [2] |getrlimit64 [2]|nftw64 [2] |truncate64 [2]| 2867 |--------------+--------------+---------------+-------------+--------------| 2868 |fgetpos64 [2] |fstatvfs64 [2]|lockf64 [2] |open64 [2] | | 2869 +--------------------------------------------------------------------------+ 2870 2871 Referenced Specification(s) 2872 2873 [1]. Linux Standard Base 2874 2875 [2]. Large File Support 2876 2877 ------------------------------------------------------------------------------- 2878 2879 Standard Library 2880 2881 ------------------------------------------------------------------------------- 2882 2883 Interfaces for Standard Library 2884 2885 An LSB conforming implementation shall provide the generic functions for 2886 Standard Library specified in Table 1-26, with the full functionality as 2887 described in the referenced underlying specification. 2888 2889 Table 1-26. libc - Standard Library Function Interfaces 2890 2891 +-----------------------------------------------------------------------------+ 2892 |_Exit [1] |dirname [1] |glob [1] |lsearch [1] |srand [1] | 2893 |-----------------+-----------------+------------+---------------+------------| 2894 |__assert_fail [2]|div [1] |glob64 [2] |makecontext [1]|srand48 [1] | 2895 |-----------------+-----------------+------------+---------------+------------| 2896 |__cxa_atexit [2] |drand48 [1] |globfree [1]|malloc [1] |srandom [1] | 2897 |-----------------+-----------------+------------+---------------+------------| 2898 |__errno_location |ecvt [1] |globfree64 |memmem [2] |strtod [1] | 2899 |[2] | |[2] | | | 2900 |-----------------+-----------------+------------+---------------+------------| 2901 |__fpending [2] |erand48 [1] |grantpt [1] |mkstemp [1] |strtol [1] | 2902 |-----------------+-----------------+------------+---------------+------------| 2903 |__getpagesize [2]|err [2] |hcreate [1] |mktemp [1] |strtoul [1] | 2904 |-----------------+-----------------+------------+---------------+------------| 2905 |__isinf [2] |error [2] |hdestroy [1]|mrand48 [1] |swapcontext | 2906 | | | | |[1] | 2907 |-----------------+-----------------+------------+---------------+------------| 2908 |__isinff [2] |errx [2] |hsearch [1] |nftw [1] |syslog [1] | 2909 |-----------------+-----------------+------------+---------------+------------| 2910 |__isinfl [2] |fcvt [1] |htonl [1] |nrand48 [1] |system [2] | 2911 |-----------------+-----------------+------------+---------------+------------| 2912 |__isnan [2] |fmtmsg [1] |htons [1] |ntohl [1] |tdelete [1] | 2913 |-----------------+-----------------+------------+---------------+------------| 2914 |__isnanf [2] |fnmatch [1] |imaxabs [1] |ntohs [1] |tfind [1] | 2915 |-----------------+-----------------+------------+---------------+------------| 2916 |__isnanl [2] |fpathconf [1] |imaxdiv [1] |openlog [1] |tmpfile [1] | 2917 |-----------------+-----------------+------------+---------------+------------| 2918 |__sysconf [2] |free [1] |inet_addr |perror [1] |tmpnam [1] | 2919 | | |[1] | | | 2920 |-----------------+-----------------+------------+---------------+------------| 2921 |_exit [1] |freeaddrinfo [1] |inet_ntoa |posix_memalign |tsearch [1] | 2922 | | |[1] |[1] | | 2923 |-----------------+-----------------+------------+---------------+------------| 2924 |_longjmp [1] |ftrylockfile [1] |inet_ntop |ptsname [1] |ttyname [1] | 2925 | | |[1] | | | 2926 |-----------------+-----------------+------------+---------------+------------| 2927 |_setjmp [1] |ftw [1] |inet_pton |putenv [1] |ttyname_r | 2928 | | |[1] | |[1] | 2929 |-----------------+-----------------+------------+---------------+------------| 2930 |a64l [1] |funlockfile [1] |initstate |qsort [1] |twalk [1] | 2931 | | |[1] | | | 2932 |-----------------+-----------------+------------+---------------+------------| 2933 |abort [1] |gai_strerror [1] |insque [1] |rand [1] |unlockpt [1]| 2934 |-----------------+-----------------+------------+---------------+------------| 2935 |abs [1] |gcvt [1] |isatty [1] |rand_r [1] |unsetenv [1]| 2936 |-----------------+-----------------+------------+---------------+------------| 2937 |atof [1] |getaddrinfo [1] |isblank [1] |random [1] |usleep [1] | 2938 |-----------------+-----------------+------------+---------------+------------| 2939 |atoi [1] |getcwd [1] |jrand48 [1] |random_r [2] |verrx [2] | 2940 |-----------------+-----------------+------------+---------------+------------| 2941 |atol [1] |getdate [1] |l64a [1] |realloc [1] |vfscanf [1] | 2942 |-----------------+-----------------+------------+---------------+------------| 2943 |atoll [1] |getenv [1] |labs [1] |realpath [1] |vscanf [1] | 2944 |-----------------+-----------------+------------+---------------+------------| 2945 |basename [1] |getlogin [1] |lcong48 [1] |remque [1] |vsscanf [1] | 2946 |-----------------+-----------------+------------+---------------+------------| 2947 |bsearch [1] |getnameinfo [1] |ldiv [1] |seed48 [1] |vsyslog [2] | 2948 |-----------------+-----------------+------------+---------------+------------| 2949 |calloc [1] |getopt [2] |lfind [1] |setenv [1] |warn [2] | 2950 |-----------------+-----------------+------------+---------------+------------| 2951 |closelog [1] |getopt_long [2] |llabs [1] |sethostid [2] |warnx [2] | 2952 |-----------------+-----------------+------------+---------------+------------| 2953 |confstr [1] |getopt_long_only |lldiv [1] |sethostname [2]|wordexp [1] | 2954 | |[2] | | | | 2955 |-----------------+-----------------+------------+---------------+------------| 2956 |cuserid [3] |getsubopt [1] |longjmp [1] |setlogmask [1] |wordfree [1]| 2957 |-----------------+-----------------+------------+---------------+------------| 2958 |daemon [2] |gettimeofday [1] |lrand48 [1] |setstate [1] | | 2959 +-----------------------------------------------------------------------------+ 2960 2961 Referenced Specification(s) 2962 2963 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2964 Specification(SUS) V3 2965 2966 [2]. Linux Standard Base 2967 2968 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2969 5 (ISBN: 1-85912-181-0, C606) 2970 2971 An LSB conforming implementation shall provide the generic data interfaces for 2972 Standard Library specified in Table 1-27, with the full functionality as 2973 described in the referenced underlying specification. 2974 2975 Table 1-27. libc - Standard Library Data Interfaces 2976 2977 +--------------------------------------------------------------------+ 2978 |__environ [1]|_sys_errlist [1]|getdate_err [2]|opterr [1]|optopt [1]| 2979 |-------------+----------------+---------------+----------+----------| 2980 |_environ [1] |environ [2] |optarg [2] |optind [1]| | 2981 +--------------------------------------------------------------------+ 2982 2983 Referenced Specification(s) 2984 2985 [1]. Linux Standard Base 2986 2987 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2988 Specification(SUS) V3 2989 2990 ------------------------------------------------------------------------------- 2991 2992 Data Definitions for libc 2993 2994 This section defines global identifiers and their values that are associated 2995 with interfaces contained in libc. These definitions are organized into groups 2996 that correspond to system headers. This convention is used as a convenience for 2997 the reader, and does not imply the existence of these headers, or their 2998 content. 2999 3000 These definitions are intended to supplement those provided in the referenced 3001 underlying specifications. 3002 3003 This specification uses ISO/IEC 9899 C Language as the reference programming 3004 language, and data definitions are specified in ISO C format. The C language is 3005 used here as a convenient notation. Using a C language description of these 3006 data objects does not preclude their use by other programming languages. 3007 3008 ------------------------------------------------------------------------------- 3009 3010 assert.h 3011 3012 The assert.h header shall define the assert macro. It refers to the macro 3013 NDEBUG, which is not defined in this header. If NDEBUG is defined before the 3014 inclusion of this header, the assert macro shall be defined as described below, 3015 otherwise the macro shall behave as described in assert in ISO/IEC 9945 POSIX. 3016 3017 #define assert(expr) ((void)0) 3018 3019 ------------------------------------------------------------------------------- 3020 3021 ctype.h 3022 3023 enum 3024 { 3025 _ISupper, _ISlower, _ISalpha, _ISdigit, _ISxdigit, _ISspace, _ISprint, 3026 _ISgraph, _ISblank, _IScntrl, _ISpunct, _ISalnum 3027 } 3028 ; 3029 3030 ------------------------------------------------------------------------------- 3031 3032 dirent.h 3033 3034 typedef struct __dirstream DIR; 3035 3036 struct dirent 3037 { 3038 long d_ino; 3039 off_t d_off; 3040 unsigned short d_reclen; 3041 unsigned char d_type; 3042 char d_name[256]; 3043 } 3044 ; 3045 struct dirent64 3046 { 3047 uint64_t d_ino; 3048 int64_t d_off; 3049 unsigned short d_reclen; 3050 unsigned char d_type; 3051 char d_name[256]; 3052 } 3053 ; 3054 3055 ------------------------------------------------------------------------------- 3056 3057 errno.h 3058 3059 #define errno (*__errno_location()) 3060 3061 #define EPERM 1 3062 #define ECHILD 10 3063 #define ENETDOWN 100 3064 #define ENETUNREACH 101 3065 #define ENETRESET 102 3066 #define ECONNABORTED 103 3067 #define ECONNRESET 104 3068 #define ENOBUFS 105 3069 #define EISCONN 106 3070 #define ENOTCONN 107 3071 #define ESHUTDOWN 108 3072 #define ETOOMANYREFS 109 3073 #define EAGAIN 11 3074 #define ETIMEDOUT 110 3075 #define ECONNREFUSED 111 3076 #define EHOSTDOWN 112 3077 #define EHOSTUNREACH 113 3078 #define EALREADY 114 3079 #define EINPROGRESS 115 3080 #define ESTALE 116 3081 #define EUCLEAN 117 3082 #define ENOTNAM 118 3083 #define ENAVAIL 119 3084 #define ENOMEM 12 3085 #define EISNAM 120 3086 #define EREMOTEIO 121 3087 #define EDQUOT 122 3088 #define ENOMEDIUM 123 3089 #define EMEDIUMTYPE 124 3090 #define ECANCELED 125 3091 #define EACCES 13 3092 #define EFAULT 14 3093 #define ENOTBLK 15 3094 #define EBUSY 16 3095 #define EEXIST 17 3096 #define EXDEV 18 3097 #define ENODEV 19 3098 #define ENOENT 2 3099 #define ENOTDIR 20 3100 #define EISDIR 21 3101 #define EINVAL 22 3102 #define ENFILE 23 3103 #define EMFILE 24 3104 #define ENOTTY 25 3105 #define ETXTBSY 26 3106 #define EFBIG 27 3107 #define ENOSPC 28 3108 #define ESPIPE 29 3109 #define ESRCH 3 3110 #define EROFS 30 3111 #define EMLINK 31 3112 #define EPIPE 32 3113 #define EDOM 33 3114 #define ERANGE 34 3115 #define EDEADLK 35 3116 #define ENAMETOOLONG 36 3117 #define ENOLCK 37 3118 #define ENOSYS 38 3119 #define ENOTEMPTY 39 3120 #define EINTR 4 3121 #define ELOOP 40 3122 #define ENOMSG 42 3123 #define EIDRM 43 3124 #define ECHRNG 44 3125 #define EL2NSYNC 45 3126 #define EL3HLT 46 3127 #define EL3RST 47 3128 #define ELNRNG 48 3129 #define EUNATCH 49 3130 #define EIO 5 3131 #define ENOANO 55 3132 #define EBADRQC 56 3133 #define EBADSLT 57 3134 #define EBFONT 59 3135 #define ENXIO 6 3136 #define ENOSTR 60 3137 #define ENODATA 61 3138 #define ETIME 62 3139 #define ENOSR 63 3140 #define ENONET 64 3141 #define ENOPKG 65 3142 #define EREMOTE 66 3143 #define ENOLINK 67 3144 #define EADV 68 3145 #define ESRMNT 69 3146 #define E2BIG 7 3147 #define ECOMM 70 3148 #define EPROTO 71 3149 #define EMULTIHOP 72 3150 #define EDOTDOT 73 3151 #define EBADMSG 74 3152 #define EOVERFLOW 75 3153 #define ENOTUNIQ 76 3154 #define EBADFD 77 3155 #define EREMCHG 78 3156 #define ELIBACC 79 3157 #define ENOEXEC 8 3158 #define ELIBBAD 80 3159 #define ELIBSCN 81 3160 #define ELIBMAX 82 3161 #define ELIBEXEC 83 3162 #define EILSEQ 84 3163 #define ERESTART 85 3164 #define ESTRPIPE 86 3165 #define EUSERS 87 3166 #define ENOTSOCK 88 3167 #define EDESTADDRREQ 89 3168 #define EBADF 9 3169 #define EMSGSIZE 90 3170 #define EPROTOTYPE 91 3171 #define ENOPROTOOPT 92 3172 #define EPROTONOSUPPORT 93 3173 #define ESOCKTNOSUPPORT 94 3174 #define EOPNOTSUPP 95 3175 #define EPFNOSUPPORT 96 3176 #define EAFNOSUPPORT 97 3177 #define EADDRINUSE 98 3178 #define EADDRNOTAVAIL 99 3179 #define EWOULDBLOCK EAGAIN 3180 #define ENOTSUP EOPNOTSUPP 3181 3182 ------------------------------------------------------------------------------- 3183 3184 fcntl.h 3185 3186 #define O_RDONLY 00 3187 #define O_ACCMODE 0003 3188 #define O_WRONLY 01 3189 #define O_CREAT 0100 3190 #define O_TRUNC 01000 3191 #define O_SYNC 010000 3192 #define O_RDWR 02 3193 #define O_EXCL 0200 3194 #define O_APPEND 02000 3195 #define O_ASYNC 020000 3196 #define O_NOCTTY 0400 3197 #define O_NDELAY 04000 3198 #define O_NONBLOCK 04000 3199 #define FD_CLOEXEC 1 3200 3201 struct flock 3202 { 3203 short l_type; 3204 short l_whence; 3205 off_t l_start; 3206 off_t l_len; 3207 pid_t l_pid; 3208 } 3209 ; 3210 struct flock64 3211 { 3212 short l_type; 3213 short l_whence; 3214 loff_t l_start; 3215 loff_t l_len; 3216 pid_t l_pid; 3217 } 3218 ; 3219 3220 #define F_DUPFD 0 3221 #define F_RDLCK 0 3222 #define F_GETFD 1 3223 #define F_WRLCK 1 3224 #define F_SETFD 2 3225 #define F_UNLCK 2 3226 #define F_GETFL 3 3227 #define F_SETFL 4 3228 #define F_GETLK 5 3229 #define F_SETLK 6 3230 #define F_SETLKW 7 3231 #define F_SETOWN 8 3232 #define F_GETOWN 9 3233 3234 ------------------------------------------------------------------------------- 3235 3236 fmtmsg.h 3237 3238 #define MM_HARD 1 3239 #define MM_NRECOV 128 3240 #define MM_UTIL 16 3241 #define MM_SOFT 2 3242 #define MM_OPSYS 32 3243 #define MM_FIRM 4 3244 #define MM_RECOVER 64 3245 #define MM_APPL 8 3246 3247 #define MM_NOSEV 0 3248 #define MM_HALT 1 3249 #define MM_ERROR 2 3250 3251 #define MM_NULLLBL ((char *) 0) 3252 3253 ------------------------------------------------------------------------------- 3254 3255 fnmatch.h 3256 3257 #define FNM_PATHNAME (1<<0) 3258 #define FNM_NOESCAPE (1<<1) 3259 #define FNM_PERIOD (1<<2) 3260 #define FNM_NOMATCH 1 3261 3262 ------------------------------------------------------------------------------- 3263 3264 ftw.h 3265 3266 #define FTW_D FTW_D 3267 #define FTW_DNR FTW_DNR 3268 #define FTW_DP FTW_DP 3269 #define FTW_F FTW_F 3270 #define FTW_NS FTW_NS 3271 #define FTW_SL FTW_SL 3272 #define FTW_SLN FTW_SLN 3273 3274 enum 3275 { 3276 FTW_F, FTW_D, FTW_DNR, FTW_NS, FTW_SL, FTW_DP, FTW_SLN 3277 } 3278 ; 3279 3280 enum 3281 { 3282 FTW_PHYS, FTW_MOUNT, FTW_CHDIR, FTW_DEPTH 3283 } 3284 ; 3285 3286 struct FTW 3287 { 3288 int base; 3289 int level; 3290 } 3291 ; 3292 3293 typedef int (*__ftw_func_t) (char *__filename, struct stat * __status, 3294 int __flag); 3295 typedef int (*__ftw64_func_t) (char *__filename, struct stat64 * __status, 3296 int __flag); 3297 typedef int (*__nftw_func_t) (char *__filename, struct stat * __status, 3298 int __flag, struct FTW * __info); 3299 typedef int (*__nftw64_func_t) (char *__filename, struct stat64 * __status, 3300 int __flag, struct FTW * __info); 3301 3302 ------------------------------------------------------------------------------- 3303 3304 getopt.h 3305 3306 #define no_argument 0 3307 #define required_argument 1 3308 #define optional_argument 2 3309 3310 struct option 3311 { 3312 char *name; 3313 int has_arg; 3314 int *flag; 3315 int val; 3316 } 3317 ; 3318 3319 ------------------------------------------------------------------------------- 3320 3321 glob.h 3322 3323 #define GLOB_ERR (1<<0) 3324 #define GLOB_MARK (1<<1) 3325 #define GLOB_BRACE (1<<10) 3326 #define GLOB_NOMAGIC (1<<11) 3327 #define GLOB_TILDE (1<<12) 3328 #define GLOB_ONLYDIR (1<<13) 3329 #define GLOB_TILDE_CHECK (1<<14) 3330 #define GLOB_NOSORT (1<<2) 3331 #define GLOB_DOOFFS (1<<3) 3332 #define GLOB_NOCHECK (1<<4) 3333 #define GLOB_APPEND (1<<5) 3334 #define GLOB_NOESCAPE (1<<6) 3335 #define GLOB_PERIOD (1<<7) 3336 #define GLOB_MAGCHAR (1<<8) 3337 #define GLOB_ALTDIRFUNC (1<<9) 3338 3339 #define GLOB_NOSPACE 1 3340 #define GLOB_ABORTED 2 3341 #define GLOB_NOMATCH 3 3342 #define GLOB_NOSYS 4 3343 3344 typedef struct 3345 { 3346 size_t gl_pathc; 3347 char **gl_pathv; 3348 size_t gl_offs; 3349 int gl_flags; 3350 void (*gl_closedir) (void *); 3351 struct dirent *(*gl_readdir) (void *); 3352 void *(*gl_opendir) (const char *); 3353 int (*gl_lstat) (const char *, struct stat *); 3354 int (*gl_stat) (const char *, struct stat *); 3355 } 3356 glob_t; 3357 3358 typedef struct 3359 { 3360 size_t gl_pathc; 3361 char **gl_pathv; 3362 size_t gl_offs; 3363 int gl_flags; 3364 void (*gl_closedir) (void *); 3365 struct dirent64 *(*gl_readdir64) (void *); 3366 void *(*gl_opendir) (const char *); 3367 int (*gl_lstat) (const char *, struct stat *); 3368 int (*gl_stat) (const char *, struct stat *); 3369 } 3370 glob64_t; 3371 3372 ------------------------------------------------------------------------------- 3373 3374 grp.h 3375 3376 struct group 3377 { 3378 char *gr_name; 3379 char *gr_passwd; 3380 gid_t gr_gid; 3381 char **gr_mem; 3382 } 3383 ; 3384 3385 ------------------------------------------------------------------------------- 3386 3387 iconv.h 3388 3389 typedef void *iconv_t; 3390 3391 ------------------------------------------------------------------------------- 3392 3393 inttypes.h 3394 3395 typedef lldiv_t imaxdiv_t; 3396 typedef unsigned char uint8_t; 3397 typedef unsigned short uint16_t; 3398 typedef unsigned int uint32_t; 3399 3400 ------------------------------------------------------------------------------- 3401 3402 langinfo.h 3403 3404 #define ABDAY_1 0x20000 3405 #define ABDAY_2 0x20001 3406 #define ABDAY_3 0x20002 3407 #define ABDAY_4 0x20003 3408 #define ABDAY_5 0x20004 3409 #define ABDAY_6 0x20005 3410 #define ABDAY_7 0x20006 3411 3412 #define DAY_1 0x20007 3413 #define DAY_2 0x20008 3414 #define DAY_3 0x20009 3415 #define DAY_4 0x2000A 3416 #define DAY_5 0x2000B 3417 #define DAY_6 0x2000C 3418 #define DAY_7 0x2000D 3419 3420 #define ABMON_1 0x2000E 3421 #define ABMON_2 0x2000F 3422 #define ABMON_3 0x20010 3423 #define ABMON_4 0x20011 3424 #define ABMON_5 0x20012 3425 #define ABMON_6 0x20013 3426 #define ABMON_7 0x20014 3427 #define ABMON_8 0x20015 3428 #define ABMON_9 0x20016 3429 #define ABMON_10 0x20017 3430 #define ABMON_11 0x20018 3431 #define ABMON_12 0x20019 3432 3433 #define MON_1 0x2001A 3434 #define MON_2 0x2001B 3435 #define MON_3 0x2001C 3436 #define MON_4 0x2001D 3437 #define MON_5 0x2001E 3438 #define MON_6 0x2001F 3439 #define MON_7 0x20020 3440 #define MON_8 0x20021 3441 #define MON_9 0x20022 3442 #define MON_10 0x20023 3443 #define MON_11 0x20024 3444 #define MON_12 0x20025 3445 3446 #define AM_STR 0x20026 3447 #define PM_STR 0x20027 3448 3449 #define D_T_FMT 0x20028 3450 #define D_FMT 0x20029 3451 #define T_FMT 0x2002A 3452 #define T_FMT_AMPM 0x2002B 3453 3454 #define ERA 0x2002C 3455 #define ERA_D_FMT 0x2002E 3456 #define ALT_DIGITS 0x2002F 3457 #define ERA_D_T_FMT 0x20030 3458 #define ERA_T_FMT 0x20031 3459 3460 #define CODESET 14 3461 3462 #define CRNCYSTR 0x4000F 3463 3464 #define RADIXCHAR 0x10000 3465 #define THOUSEP 0x10001 3466 #define YESEXPR 0x50000 3467 #define NOEXPR 0x50001 3468 #define YESSTR 0x50002 3469 #define NOSTR 0x50003 3470 3471 ------------------------------------------------------------------------------- 3472 3473 limits.h 3474 3475 #define LLONG_MIN (-LLONG_MAX-1LL) 3476 #define ULLONG_MAX 18446744073709551615ULL 3477 #define OPEN_MAX 256 3478 #define PATH_MAX 4096 3479 #define LLONG_MAX 9223372036854775807LL 3480 #define SSIZE_MAX LONG_MAX 3481 3482 #define MB_LEN_MAX 16 3483 3484 #define SCHAR_MIN (-128) 3485 #define SCHAR_MAX 127 3486 #define UCHAR_MAX 255 3487 #define CHAR_BIT 8 3488 3489 #define SHRT_MIN (-32768) 3490 #define SHRT_MAX 32767 3491 #define USHRT_MAX 65535 3492 3493 #define INT_MIN (-INT_MAX-1) 3494 #define INT_MAX 2147483647 3495 #define __INT_MAX__ 2147483647 3496 #define UINT_MAX 4294967295U 3497 3498 #define LONG_MIN (-LONG_MAX-1L) 3499 3500 ------------------------------------------------------------------------------- 3501 3502 locale.h 3503 3504 #define LC_CTYPE 0 3505 #define LC_NUMERIC 1 3506 #define LC_TELEPHONE 10 3507 #define LC_MEASUREMENT 11 3508 #define LC_IDENTIFICATION 12 3509 #define LC_TIME 2 3510 #define LC_COLLATE 3 3511 #define LC_MONETARY 4 3512 #define LC_MESSAGES 5 3513 #define LC_ALL 6 3514 #define LC_PAPER 7 3515 #define LC_NAME 8 3516 #define LC_ADDRESS 9 3517 3518 struct lconv 3519 { 3520 char *decimal_point; 3521 char *thousands_sep; 3522 char *grouping; 3523 char *int_curr_symbol; 3524 char *currency_symbol; 3525 char *mon_decimal_point; 3526 char *mon_thousands_sep; 3527 char *mon_grouping; 3528 char *positive_sign; 3529 char *negative_sign; 3530 char int_frac_digits; 3531 char frac_digits; 3532 char p_cs_precedes; 3533 char p_sep_by_space; 3534 char n_cs_precedes; 3535 char n_sep_by_space; 3536 char p_sign_posn; 3537 char n_sign_posn; 3538 char int_p_cs_precedes; 3539 char int_p_sep_by_space; 3540 char int_n_cs_precedes; 3541 char int_n_sep_by_space; 3542 char int_p_sign_posn; 3543 char int_n_sign_posn; 3544 } 3545 ; 3546 3547 typedef struct __locale_struct 3548 { 3549 struct locale_data *__locales[13]; 3550 const unsigned short *__ctype_b; 3551 const int *__ctype_tolower; 3552 const int *__ctype_toupper; 3553 const char *__names[13]; 3554 } 3555 *__locale_t; 3556 3557 ------------------------------------------------------------------------------- 3558 3559 net/if.h 3560 3561 #define IF_NAMESIZE 16 3562 3563 #define IFF_UP 0x01 3564 #define IFF_BROADCAST 0x02 3565 #define IFF_DEBUG 0x04 3566 #define IFF_LOOPBACK 0x08 3567 #define IFF_POINTOPOINT 0x10 3568 #define IFF_PROMISC 0x100 3569 #define IFF_MULTICAST 0x1000 3570 #define IFF_NOTRAILERS 0x20 3571 #define IFF_RUNNING 0x40 3572 #define IFF_NOARP 0x80 3573 3574 struct ifaddr 3575 { 3576 struct sockaddr ifa_addr; 3577 union 3578 { 3579 struct sockaddr ifu_broadaddr; 3580 struct sockaddr ifu_dstaddr; 3581 } 3582 ifa_ifu; 3583 void *ifa_ifp; 3584 void *ifa_next; 3585 } 3586 ; 3587 #define IFNAMSIZ IF_NAMESIZE 3588 3589 struct ifreq 3590 { 3591 union 3592 { 3593 char ifrn_name[IFNAMSIZ]; 3594 } 3595 ifr_ifrn; 3596 union 3597 { 3598 struct sockaddr ifru_addr; 3599 struct sockaddr ifru_dstaddr; 3600 struct sockaddr ifru_broadaddr; 3601 struct sockaddr ifru_netmask; 3602 struct sockaddr ifru_hwaddr; 3603 short ifru_flags; 3604 int ifru_ivalue; 3605 int ifru_mtu; 3606 char ifru_slave[IFNAMSIZ]; 3607 char ifru_newname[IFNAMSIZ]; 3608 caddr_t ifru_data; 3609 struct ifmap ifru_map; 3610 } 3611 ifr_ifru; 3612 } 3613 ; 3614 3615 struct ifconf 3616 { 3617 int ifc_len; 3618 union 3619 { 3620 caddr_t ifcu_buf; 3621 struct ifreq *ifcu_req; 3622 } 3623 ifc_ifcu; 3624 } 3625 ; 3626 3627 ------------------------------------------------------------------------------- 3628 3629 netdb.h 3630 3631 #define h_errno (*__h_errno_location ()) 3632 #define NETDB_INTERNAL -1 3633 #define NETDB_SUCCESS 0 3634 #define HOST_NOT_FOUND 1 3635 #define IPPORT_RESERVED 1024 3636 #define NI_MAXHOST 1025 3637 #define TRY_AGAIN 2 3638 #define NO_RECOVERY 3 3639 #define NI_MAXSERV 32 3640 #define NO_DATA 4 3641 #define h_addr h_addr_list[0] 3642 #define NO_ADDRESS NO_DATA 3643 3644 struct servent 3645 { 3646 char *s_name; 3647 char **s_aliases; 3648 int s_port; 3649 char *s_proto; 3650 } 3651 ; 3652 struct hostent 3653 { 3654 char *h_name; 3655 char **h_aliases; 3656 int h_addrtype; 3657 int h_length; 3658 char **h_addr_list; 3659 } 3660 ; 3661 struct protoent 3662 { 3663 char *p_name; 3664 char **p_aliases; 3665 int p_proto; 3666 } 3667 ; 3668 struct netent 3669 { 3670 char *n_name; 3671 char **n_aliases; 3672 int n_addrtype; 3673 unsigned int n_net; 3674 } 3675 ; 3676 #define AI_PASSIVE 0x0001 3677 #define AI_CANONNAME 0x0002 3678 #define AI_NUMERICHOST 0x0004 3679 3680 struct addrinfo 3681 { 3682 int ai_flags; 3683 int ai_family; 3684 int ai_socktype; 3685 int ai_protocol; 3686 socklen_t ai_addrlen; 3687 struct sockaddr *ai_addr; 3688 char *ai_canonname; 3689 struct addrinfo *ai_next; 3690 } 3691 ; 3692 #define NI_NUMERICHOST 1 3693 #define NI_DGRAM 16 3694 #define NI_NUMERICSERV 2 3695 #define NI_NOFQDN 4 3696 #define NI_NAMEREQD 8 3697 3698 #define EAI_BADFLAGS -1 3699 #define EAI_MEMORY -10 3700 #define EAI_SYSTEM -11 3701 #define EAI_NONAME -2 3702 #define EAI_AGAIN -3 3703 #define EAI_FAIL -4 3704 #define EAI_NODATA -5 3705 #define EAI_FAMILY -6 3706 #define EAI_SOCKTYPE -7 3707 #define EAI_SERVICE -8 3708 #define EAI_ADDRFAMILY -9 3709 3710 ------------------------------------------------------------------------------- 3711 3712 netinet/in.h 3713 3714 #define IPPROTO_IP 0 3715 #define IPPROTO_ICMP 1 3716 #define IPPROTO_UDP 17 3717 #define IPPROTO_IGMP 2 3718 #define IPPROTO_RAW 255 3719 #define IPPROTO_IPV6 41 3720 #define IPPROTO_ICMPV6 58 3721 #define IPPROTO_TCP 6 3722 3723 typedef uint16_t in_port_t; 3724 3725 struct in_addr 3726 { 3727 uint32_t s_addr; 3728 } 3729 ; 3730 typedef uint32_t in_addr_t; 3731 #define INADDR_NONE ((in_addr_t) 0xffffffff) 3732 #define INADDR_BROADCAST (0xffffffff) 3733 #define INADDR_ANY 0 3734 3735 struct in6_addr 3736 { 3737 union 3738 { 3739 uint8_t u6_addr8[16]; 3740 uint16_t u6_addr16[8]; 3741 uint32_t u6_addr32[4]; 3742 } 3743 in6_u; 3744 } 3745 ; 3746 #define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } 3747 #define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } 3748 3749 #define INET_ADDRSTRLEN 16 3750 3751 struct sockaddr_in 3752 { 3753 sa_family_t sin_family; 3754 unsigned short sin_port; 3755 struct in_addr sin_addr; 3756 unsigned char sin_zero[8]; 3757 } 3758 ; 3759 #define INET6_ADDRSTRLEN 46 3760 3761 struct sockaddr_in6 3762 { 3763 unsigned short sin6_family; 3764 uint16_t sin6_port; 3765 uint32_t sin6_flowinfo; 3766 struct in6_addr sin6_addr; 3767 uint32_t sin6_scope_id; 3768 } 3769 ; 3770 #define SOL_IP 0 3771 #define IP_TOS 1 3772 #define IPV6_UNICAST_HOPS 16 3773 #define IPV6_MULTICAST_IF 17 3774 #define IPV6_MULTICAST_HOPS 18 3775 #define IPV6_MULTICAST_LOOP 19 3776 #define IPV6_JOIN_GROUP 20 3777 #define IPV6_LEAVE_GROUP 21 3778 #define IPV6_V6ONLY 26 3779 #define IP_MULTICAST_IF 32 3780 #define IP_MULTICAST_TTL 33 3781 #define IP_MULTICAST_LOOP 34 3782 #define IP_ADD_MEMBERSHIP 35 3783 #define IP_DROP_MEMBERSHIP 36 3784 3785 struct ipv6_mreq 3786 { 3787 struct in6_addr ipv6mr_multiaddr; 3788 int ipv6mr_interface; 3789 } 3790 ; 3791 struct ip_mreq 3792 { 3793 struct in_addr imr_multiaddr; 3794 struct in_addr imr_interface; 3795 } 3796 ; 3797 3798 ------------------------------------------------------------------------------- 3799 3800 netinet/tcp.h 3801 3802 #define TCP_NODELAY 1 3803 #define SOL_TCP 6 3804 3805 ------------------------------------------------------------------------------- 3806 3807 netinet/udp.h 3808 3809 #define SOL_UDP 17 3810 3811 ------------------------------------------------------------------------------- 3812 3813 nl_types.h 3814 3815 #define NL_CAT_LOCALE 1 3816 #define NL_SETD 1 3817 3818 typedef void *nl_catd; 3819 3820 typedef int nl_item; 3821 3822 ------------------------------------------------------------------------------- 3823 3824 pty.h 3825 3826 struct winsize 3827 { 3828 unsigned short ws_row; 3829 unsigned short ws_col; 3830 unsigned short ws_xpixel; 3831 unsigned short ws_ypixel; 3832 } 3833 ; 3834 3835 ------------------------------------------------------------------------------- 3836 3837 pwd.h 3838 3839 struct passwd 3840 { 3841 char *pw_name; 3842 char *pw_passwd; 3843 uid_t pw_uid; 3844 gid_t pw_gid; 3845 char *pw_gecos; 3846 char *pw_dir; 3847 char *pw_shell; 3848 } 3849 ; 3850 3851 ------------------------------------------------------------------------------- 3852 3853 regex.h 3854 3855 #define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int)1) 3856 #define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS<<1) 3857 #define RE_SYNTAX_AWK (RE_BACKSLASH_ESCAPE_IN_LISTS|RE_DOT_NOT_NULL|RE_NO_BK_PARENS| RE_NO_BK_REFS| RE_NO_BK_VBAR| RE_NO_EMPTY_RANGES| RE_DOT_NEWLINE| RE_CONTEXT_INDEP_ANCHORS| RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) 3858 #define RE_CHAR_CLASSES (RE_BK_PLUS_QM<<1) 3859 #define RE_SYNTAX_GREP (RE_BK_PLUS_QM|RE_CHAR_CLASSES|RE_HAT_LISTS_NOT_NEWLINE|RE_INTERVALS|RE_NEWLINE_ALT) 3860 #define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES<<1) 3861 #define RE_SYNTAX_EGREP (RE_CHAR_CLASSES|RE_CONTEXT_INDEP_ANCHORS| RE_CONTEXT_INDEP_OPS|RE_HAT_LISTS_NOT_NEWLINE|RE_NEWLINE_ALT|RE_NO_BK_PARENS|RE_NO_BK_VBAR) 3862 #define _RE_SYNTAX_POSIX_COMMON (RE_CHAR_CLASSES|RE_DOT_NEWLINE|RE_DOT_NOT_NULL|RE_INTERVALS|RE_NO_EMPTY_RANGES) 3863 #define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS<<1) 3864 #define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS<<1) 3865 #define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS<<1) 3866 #define RE_INVALID_INTERVAL_ORD (RE_DEBUG<<1) 3867 #define RE_DOT_NOT_NULL (RE_DOT_NEWLINE<<1) 3868 #define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL<<1) 3869 #define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE<<1) 3870 #define RE_LIMITED_OPS (RE_INTERVALS<<1) 3871 #define RE_NEWLINE_ALT (RE_LIMITED_OPS<<1) 3872 #define RE_NO_BK_BRACES (RE_NEWLINE_ALT<<1) 3873 #define RE_NO_BK_PARENS (RE_NO_BK_BRACES<<1) 3874 #define RE_NO_BK_REFS (RE_NO_BK_PARENS<<1) 3875 #define RE_NO_BK_VBAR (RE_NO_BK_REFS<<1) 3876 #define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR<<1) 3877 #define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES<<1) 3878 #define RE_DEBUG (RE_NO_GNU_OPS<<1) 3879 #define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING<<1) 3880 #define RE_SYNTAX_POSIX_EGREP (RE_SYNTAX_EGREP|RE_INTERVALS|RE_NO_BK_BRACES|RE_INVALID_INTERVAL_ORD) 3881 #define RE_SYNTAX_POSIX_AWK (RE_SYNTAX_POSIX_EXTENDED|RE_BACKSLASH_ESCAPE_IN_LISTS|RE_INTERVALS|RE_NO_GNU_OPS) 3882 #define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD<<1) 3883 #define RE_SYNTAX_POSIX_BASIC (_RE_SYNTAX_POSIX_COMMON|RE_BK_PLUS_QM) 3884 #define RE_SYNTAX_POSIX_EXTENDED (_RE_SYNTAX_POSIX_COMMON|RE_CONTEXT_INDEP_ANCHORS|RE_CONTEXT_INDEP_OPS|RE_NO_BK_BRACES|RE_NO_BK_PARENS|RE_NO_BK_VBAR|RE_CONTEXT_INVALID_OPS|RE_UNMATCHED_RIGHT_PAREN_ORD) 3885 #define RE_SYNTAX_POSIX_MINIMAL_EXTENDED (_RE_SYNTAX_POSIX_COMMON|RE_CONTEXT_INDEP_ANCHORS|RE_CONTEXT_INVALID_OPS|RE_NO_BK_BRACES|RE_NO_BK_PARENS|RE_NO_BK_REFS|RE_NO_BK_VBAR|RE_UNMATCHED_RIGHT_PAREN_ORD) 3886 #define RE_SYNTAX_POSIX_MINIMAL_BASIC (_RE_SYNTAX_POSIX_COMMON|RE_LIMITED_OPS) 3887 #define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC 3888 #define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC 3889 3890 typedef unsigned long reg_syntax_t; 3891 3892 typedef struct re_pattern_buffer 3893 { 3894 unsigned char *buffer; 3895 unsigned long allocated; 3896 unsigned long used; 3897 reg_syntax_t syntax; 3898 char *fastmap; 3899 char *translate; 3900 size_t re_nsub; 3901 unsigned int can_be_null:1; 3902 unsigned int regs_allocated:2; 3903 unsigned int fastmap_accurate:1; 3904 unsigned int no_sub:1; 3905 unsigned int not_bol:1; 3906 unsigned int not_eol:1; 3907 unsigned int newline_anchor:1; 3908 } 3909 regex_t; 3910 typedef int regoff_t; 3911 typedef struct 3912 { 3913 regoff_t rm_so; 3914 regoff_t rm_eo; 3915 } 3916 regmatch_t; 3917 #define REG_NOTEOL (1<<1) 3918 #define REG_ICASE (REG_EXTENDED<<1) 3919 #define REG_NEWLINE (REG_ICASE<<1) 3920 #define REG_NOSUB (REG_NEWLINE<<1) 3921 #define REG_NOMATCH -1 3922 #define REG_EXTENDED 1 3923 #define REG_NOTBOL 1 3924 3925 ------------------------------------------------------------------------------- 3926 3927 rpc/auth.h 3928 3929 enum auth_stat 3930 { 3931 AUTH_OK, AUTH_BADCRED = 1, AUTH_REJECTEDCRED = 2, AUTH_BADVERF = 3932 3, AUTH_REJECTEDVERF = 4, AUTH_TOOWEAK = 5, AUTH_INVALIDRESP = 3933 6, AUTH_FAILED = 7 3934 } 3935 ; 3936 3937 union des_block 3938 { 3939 struct 3940 { 3941 u_int32_t high; 3942 u_int32_t low; 3943 } 3944 key; 3945 char c[8]; 3946 } 3947 ; 3948 3949 struct opaque_auth 3950 { 3951 enum_t oa_flavor; 3952 caddr_t oa_base; 3953 u_int oa_length; 3954 } 3955 ; 3956 3957 typedef struct AUTH 3958 { 3959 struct opaque_auth ah_cred; 3960 struct opaque_auth ah_verf; 3961 union des_block ah_key; 3962 struct auth_ops *ah_ops; 3963 caddr_t ah_private; 3964 } 3965 AUTH; 3966 3967 struct auth_ops 3968 { 3969 void (*ah_nextverf) (struct AUTH *); 3970 int (*ah_marshal) (struct AUTH *, XDR *); 3971 int (*ah_validate) (struct AUTH *, struct opaque_auth *); 3972 int (*ah_refresh) (struct AUTH *); 3973 void (*ah_destroy) (struct AUTH *); 3974 } 3975 ; 3976 3977 ------------------------------------------------------------------------------- 3978 3979 rpc/clnt.h 3980 3981 #define clnt_control(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in)) 3982 #define clnt_abort(rh) ((*(rh)->cl_ops->cl_abort)(rh)) 3983 #define clnt_call(rh, proc, xargs, argsp, xres, resp, secs) ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs)) 3984 #define clnt_destroy(rh) ((*(rh)->cl_ops->cl_destroy)(rh)) 3985 #define clnt_freeres(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp)) 3986 #define clnt_geterr(rh,errp) ((*(rh)->cl_ops->cl_geterr)(rh, errp)) 3987 #define NULLPROC ((u_long)0) 3988 #define CLSET_TIMEOUT 1 3989 #define CLGET_XID 10 3990 #define CLSET_XID 11 3991 #define CLGET_VERS 12 3992 #define CLSET_VERS 13 3993 #define CLGET_PROG 14 3994 #define CLSET_PROG 15 3995 #define CLGET_TIMEOUT 2 3996 #define CLGET_SERVER_ADDR 3 3997 #define CLSET_RETRY_TIMEOUT 4 3998 #define CLGET_RETRY_TIMEOUT 5 3999 #define CLGET_FD 6 4000 #define CLGET_SVC_ADDR 7 4001 #define CLSET_FD_CLOSE 8 4002 #define CLSET_FD_NCLOSE 9 4003 4004 enum clnt_stat 4005 { 4006 RPC_SUCCESS, RPC_CANTENCODEARGS = 1, RPC_CANTDECODERES = 2, RPC_CANTSEND = 4007 3, RPC_CANTRECV = 4, RPC_TIMEDOUT = 5, RPC_VERSMISMATCH = 4008 6, RPC_AUTHERROR = 7, RPC_PROGUNAVAIL = 8, RPC_PROGVERSMISMATCH = 4009 9, RPC_PROCUNAVAIL = 10, RPC_CANTDECODEARGS = 11, RPC_SYSTEMERROR = 4010 12, RPC_NOBROADCAST = 21, RPC_UNKNOWNHOST = 13, RPC_UNKNOWNPROTO = 4011 17, RPC_UNKNOWNADDR = 19, RPC_RPCBFAILURE = 14, RPC_PROGNOTREGISTERED = 4012 15, RPC_N2AXLATEFAILURE = 22, RPC_FAILED = 16, RPC_INTR = 4013 18, RPC_TLIERROR = 20, RPC_UDERROR = 23, RPC_INPROGRESS = 4014 24, RPC_STALERACHANDLE = 25 4015 } 4016 ; 4017 struct rpc_err 4018 { 4019 enum clnt_stat re_status; 4020 union 4021 { 4022 int RE_errno; 4023 enum auth_stat RE_why; 4024 struct 4025 { 4026 u_long low; 4027 u_long high; 4028 } 4029 RE_vers; 4030 struct 4031 { 4032 long s1; 4033 long s2; 4034 } 4035 RE_lb; 4036 } 4037 ru; 4038 } 4039 ; 4040 4041 typedef struct CLIENT 4042 { 4043 struct AUTH *cl_auth; 4044 struct clnt_ops *cl_ops; 4045 caddr_t cl_private; 4046 } 4047 CLIENT; 4048 4049 struct clnt_ops 4050 { 4051 enum clnt_stat (*cl_call) (struct CLIENT *, u_long, xdrproc_t, caddr_t, 4052 xdrproc_t, caddr_t, struct timeval); 4053 void (*cl_abort) (void); 4054 void (*cl_geterr) (struct CLIENT *, struct rpc_err *); 4055 bool_t (*cl_freeres) (struct CLIENT *, xdrproc_t, caddr_t); 4056 void (*cl_destroy) (struct CLIENT *); 4057 bool_t (*cl_control) (struct CLIENT *, int, char *); 4058 } 4059 ; 4060 4061 ------------------------------------------------------------------------------- 4062 4063 rpc/rpc_msg.h 4064 4065 enum msg_type 4066 { 4067 CALL, REPLY = 1 4068 } 4069 ; 4070 enum reply_stat 4071 { 4072 MSG_ACCEPTED, MSG_DENIED = 1 4073 } 4074 ; 4075 enum accept_stat 4076 { 4077 SUCCESS, PROG_UNAVAIL = 1, PROG_MISMATCH = 2, PROC_UNAVAIL = 4078 3, GARBAGE_ARGS = 4, SYSTEM_ERR = 5 4079 } 4080 ; 4081 enum reject_stat 4082 { 4083 RPC_MISMATCH, AUTH_ERROR = 1 4084 } 4085 ; 4086 4087 struct accepted_reply 4088 { 4089 struct opaque_auth ar_verf; 4090 enum accept_stat ar_stat; 4091 union 4092 { 4093 struct 4094 { 4095 unsigned long low; 4096 unsigned long high; 4097 } 4098 AR_versions; 4099 struct 4100 { 4101 caddr_t where; 4102 xdrproc_t proc; 4103 } 4104 AR_results; 4105 } 4106 ru; 4107 } 4108 ; 4109 4110 struct rejected_reply 4111 { 4112 enum reject_stat rj_stat; 4113 union 4114 { 4115 struct 4116 { 4117 unsigned long low; 4118 unsigned long high; 4119 } 4120 RJ_versions; 4121 enum auth_stat RJ_why; 4122 } 4123 ru; 4124 } 4125 ; 4126 4127 struct reply_body 4128 { 4129 enum reply_stat rp_stat; 4130 union 4131 { 4132 struct accepted_reply RP_ar; 4133 struct rejected_reply RP_dr; 4134 } 4135 ru; 4136 } 4137 ; 4138 4139 struct call_body 4140 { 4141 unsigned long cb_rpcvers; 4142 unsigned long cb_prog; 4143 unsigned long cb_vers; 4144 unsigned long cb_proc; 4145 struct opaque_auth cb_cred; 4146 struct opaque_auth cb_verf; 4147 } 4148 ; 4149 4150 struct rpc_msg 4151 { 4152 unsigned long rm_xid; 4153 enum msg_type rm_direction; 4154 union 4155 { 4156 struct call_body RM_cmb; 4157 struct reply_body RM_rmb; 4158 } 4159 ru; 4160 } 4161 ; 4162 4163 ------------------------------------------------------------------------------- 4164 4165 rpc/svc.h 4166 4167 #define svc_freeargs(xprt,xargs, argsp) (*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp)) 4168 #define svc_getargs(xprt,xargs, argsp) (*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp)) 4169 #define RPC_ANYSOCK -1 4170 4171 typedef struct SVCXPRT 4172 { 4173 int xp_sock; 4174 u_short xp_port; 4175 struct xp_ops *xp_ops; 4176 int xp_addrlen; 4177 struct sockaddr_in xp_raddr; 4178 struct opaque_auth xp_verf; 4179 caddr_t xp_p1; 4180 caddr_t xp_p2; 4181 char xp_pad[256]; 4182 } 4183 SVCXPRT; 4184 4185 struct svc_req 4186 { 4187 rpcprog_t rq_prog; 4188 rpcvers_t rq_vers; 4189 rpcproc_t rq_proc; 4190 struct opaque_auth rq_cred; 4191 caddr_t rq_clntcred; 4192 SVCXPRT *rq_xprt; 4193 } 4194 ; 4195 4196 typedef void (*__dispatch_fn_t) (struct svc_req *, SVCXPRT *); 4197 4198 struct xp_ops 4199 { 4200 bool_t (*xp_recv) (SVCXPRT * __xprt, struct rpc_msg * __msg); 4201 enum xprt_stat (*xp_stat) (SVCXPRT * __xprt); 4202 bool_t (*xp_getargs) (SVCXPRT * __xprt, xdrproc_t __xdr_args, 4203 caddr_t args_ptr); 4204 bool_t (*xp_reply) (SVCXPRT * __xprt, struct rpc_msg * __msg); 4205 bool_t (*xp_freeargs) (SVCXPRT * __xprt, xdrproc_t __xdr_args, 4206 caddr_t args_ptr); 4207 void (*xp_destroy) (SVCXPRT * __xprt); 4208 } 4209 ; 4210 4211 ------------------------------------------------------------------------------- 4212 4213 rpc/types.h 4214 4215 typedef int bool_t; 4216 typedef int enum_t; 4217 typedef unsigned long rpcprog_t; 4218 typedef unsigned long rpcvers_t; 4219 typedef unsigned long rpcproc_t; 4220 typedef unsigned long rpcprot_t; 4221 4222 ------------------------------------------------------------------------------- 4223 4224 rpc/xdr.h 4225 4226 enum xdr_op 4227 { 4228 XDR_ENCODE, XDR_DECODE, XDR_FREE 4229 } 4230 ; 4231 typedef struct XDR 4232 { 4233 enum xdr_op x_op; 4234 struct xdr_ops *x_ops; 4235 caddr_t x_public; 4236 caddr_t x_private; 4237 caddr_t x_base; 4238 int x_handy; 4239 } 4240 XDR; 4241 4242 struct xdr_ops 4243 { 4244 bool_t (*x_getlong) (XDR * __xdrs, long *__lp); 4245 bool_t (*x_putlong) (XDR * __xdrs, long *__lp); 4246 bool_t (*x_getbytes) (XDR * __xdrs, caddr_t __addr, u_int __len); 4247 bool_t (*x_putbytes) (XDR * __xdrs, char *__addr, u_int __len); 4248 u_int (*x_getpostn) (XDR * __xdrs); 4249 bool_t (*x_setpostn) (XDR * __xdrs, u_int __pos); 4250 int32_t *(*x_inline) (XDR * __xdrs, int __len); 4251 void (*x_destroy) (XDR * __xdrs); 4252 bool_t (*x_getint32) (XDR * __xdrs, int32_t * __ip); 4253 bool_t (*x_putint32) (XDR * __xdrs, int32_t * __ip); 4254 } 4255 ; 4256 4257 typedef bool_t (*xdrproc_t) (XDR *, void *, ...); 4258 4259 struct xdr_discrim 4260 { 4261 int value; 4262 xdrproc_t proc; 4263 } 4264 ; 4265 4266 ------------------------------------------------------------------------------- 4267 4268 sched.h 4269 4270 #define SCHED_OTHER 0 4271 #define SCHED_FIFO 1 4272 #define SCHED_RR 2 4273 4274 struct sched_param 4275 { 4276 int sched_priority; 4277 } 4278 ; 4279 4280 ------------------------------------------------------------------------------- 4281 4282 search.h 4283 4284 typedef struct entry 4285 { 4286 char *key; 4287 void *data; 4288 } 4289 ENTRY; 4290 typedef enum 4291 { 4292 FIND, ENTER 4293 } 4294 ACTION; 4295 typedef enum 4296 { 4297 preorder, postorder, endorder, leaf 4298 } 4299 VISIT; 4300 4301 typedef void (*__action_fn_t) (void *__nodep, VISIT __value, int __level); 4302 4303 ------------------------------------------------------------------------------- 4304 4305 setjmp.h 4306 4307 #define setjmp(env) _setjmp(env) 4308 #define sigsetjmp(a,b) __sigsetjmp(a,b) 4309 4310 struct __jmp_buf_tag 4311 { 4312 __jmp_buf __jmpbuf; 4313 int __mask_was_saved; 4314 sigset_t __saved_mask; 4315 } 4316 ; 4317 4318 typedef struct __jmp_buf_tag jmp_buf[1]; 4319 typedef jmp_buf sigjmp_buf; 4320 4321 ------------------------------------------------------------------------------- 4322 4323 signal.h 4324 4325 #define SIGRTMAX (__libc_current_sigrtmax ()) 4326 #define SIGRTMIN (__libc_current_sigrtmin ()) 4327 #define SIG_BLOCK 0 4328 #define SIG_UNBLOCK 1 4329 #define SIG_SETMASK 2 4330 #define NSIG 65 4331 4332 typedef int sig_atomic_t; 4333 struct sigstack 4334 { 4335 void *ss_sp; 4336 int ss_onstack; 4337 } 4338 ; 4339 4340 typedef void (*sighandler_t) (int); 4341 #define SIG_HOLD ((sighandler_t) 2) 4342 #define SIG_ERR ((sighandler_t)-1) 4343 #define SIG_DFL ((sighandler_t)0) 4344 #define SIG_IGN ((sighandler_t)1) 4345 4346 #define SIGHUP 1 4347 #define SIGUSR1 10 4348 #define SIGSEGV 11 4349 #define SIGUSR2 12 4350 #define SIGPIPE 13 4351 #define SIGALRM 14 4352 #define SIGTERM 15 4353 #define SIGSTKFLT 16 4354 #define SIGCHLD 17 4355 #define SIGCONT 18 4356 #define SIGSTOP 19 4357 #define SIGINT 2 4358 #define SIGTSTP 20 4359 #define SIGTTIN 21 4360 #define SIGTTOU 22 4361 #define SIGURG 23 4362 #define SIGXCPU 24 4363 #define SIGXFSZ 25 4364 #define SIGVTALRM 26 4365 #define SIGPROF 27 4366 #define SIGWINCH 28 4367 #define SIGIO 29 4368 #define SIGQUIT 3 4369 #define SIGPWR 30 4370 #define SIGSYS 31 4371 #define SIGUNUSED 31 4372 #define SIGILL 4 4373 #define SIGTRAP 5 4374 #define SIGABRT 6 4375 #define SIGIOT 6 4376 #define SIGBUS 7 4377 #define SIGFPE 8 4378 #define SIGKILL 9 4379 #define SIGCLD SIGCHLD 4380 #define SIGPOLL SIGIO 4381 4382 #define SV_ONSTACK (1<<0) 4383 #define SV_INTERRUPT (1<<1) 4384 #define SV_RESETHAND (1<<2) 4385 4386 typedef union sigval 4387 { 4388 int sival_int; 4389 void *sival_ptr; 4390 } 4391 sigval_t; 4392 #define SIGEV_SIGNAL 0 4393 #define SIGEV_NONE 1 4394 #define SIGEV_THREAD 2 4395 4396 typedef struct sigevent 4397 { 4398 sigval_t sigev_value; 4399 int sigev_signo; 4400 int sigev_notify; 4401 union 4402 { 4403 int _pad[SIGEV_PAD_SIZE]; 4404 struct 4405 { 4406 void (*sigev_thread_func) (sigval_t); 4407 void *_attribute; 4408 } 4409 _sigev_thread; 4410 } 4411 _sigev_un; 4412 } 4413 sigevent_t; 4414 #define si_pid _sifields._kill._pid 4415 #define si_uid _sifields._kill._uid 4416 #define si_value _sifields._rt._sigval 4417 #define si_int _sifields._rt._sigval.sival_int 4418 #define si_ptr _sifields._rt._sigval.sival_ptr 4419 #define si_status _sifields._sigchld._status 4420 #define si_stime _sifields._sigchld._stime 4421 #define si_utime _sifields._sigchld._utime 4422 #define si_addr _sifields._sigfault._addr 4423 #define si_band _sifields._sigpoll._band 4424 #define si_fd _sifields._sigpoll._fd 4425 #define si_timer1 _sifields._timer._timer1 4426 #define si_timer2 _sifields._timer._timer2 4427 4428 typedef struct siginfo 4429 { 4430 int si_signo; 4431 int si_errno; 4432 int si_code; 4433 union 4434 { 4435 int _pad[SI_PAD_SIZE]; 4436 struct 4437 { 4438 pid_t _pid; 4439 uid_t _uid; 4440 } 4441 _kill; 4442 struct 4443 { 4444 unsigned int _timer1; 4445 unsigned int _timer2; 4446 } 4447 _timer; 4448 struct 4449 { 4450 pid_t _pid; 4451 uid_t _uid; 4452 sigval_t _sigval; 4453 } 4454 _rt; 4455 struct 4456 { 4457 pid_t _pid; 4458 uid_t _uid; 4459 int _status; 4460 clock_t _utime; 4461 clock_t _stime; 4462 } 4463 _sigchld; 4464 struct 4465 { 4466 void *_addr; 4467 } 4468 _sigfault; 4469 struct 4470 { 4471 int _band; 4472 int _fd; 4473 } 4474 _sigpoll; 4475 } 4476 _sifields; 4477 } 4478 siginfo_t; 4479 #define SI_QUEUE -1 4480 #define SI_TIMER -2 4481 #define SI_MESGQ -3 4482 #define SI_ASYNCIO -4 4483 #define SI_SIGIO -5 4484 #define SI_TKILL -6 4485 #define SI_ASYNCNL -60 4486 #define SI_USER 0 4487 #define SI_KERNEL 0x80 4488 4489 #define ILL_ILLOPC 1 4490 #define ILL_ILLOPN 2 4491 #define ILL_ILLADR 3 4492 #define ILL_ILLTRP 4 4493 #define ILL_PRVOPC 5 4494 #define ILL_PRVREG 6 4495 #define ILL_COPROC 7 4496 #define ILL_BADSTK 8 4497 4498 #define FPE_INTDIV 1 4499 #define FPE_INTOVF 2 4500 #define FPE_FLTDIV 3 4501 #define FPE_FLTOVF 4 4502 #define FPE_FLTUND 5 4503 #define FPE_FLTRES 6 4504 #define FPE_FLTINV 7 4505 #define FPE_FLTSUB 8 4506 4507 #define SEGV_MAPERR 1 4508 #define SEGV_ACCERR 2 4509 4510 #define BUS_ADRALN 1 4511 #define BUS_ADRERR 2 4512 #define BUS_OBJERR 3 4513 4514 #define TRAP_BRKPT 1 4515 #define TRAP_TRACE 2 4516 4517 #define CLD_EXITED 1 4518 #define CLD_KILLED 2 4519 #define CLD_DUMPED 3 4520 #define CLD_TRAPPED 4 4521 #define CLD_STOPPED 5 4522 #define CLD_CONTINUED 6 4523 4524 #define POLL_IN 1 4525 #define POLL_OUT 2 4526 #define POLL_MSG 3 4527 #define POLL_ERR 4 4528 #define POLL_PRI 5 4529 #define POLL_HUP 6 4530 4531 typedef struct 4532 { 4533 unsigned long sig[_SIGSET_NWORDS]; 4534 } 4535 sigset_t; 4536 #define SA_NOCLDSTOP 0x00000001 4537 #define SA_NOCLDWAIT 0x00000002 4538 #define SA_SIGINFO 0x00000004 4539 #define SA_ONSTACK 0x08000000 4540 #define SA_RESTART 0x10000000 4541 #define SA_INTERRUPT 0x20000000 4542 #define SA_NODEFER 0x40000000 4543 #define SA_RESETHAND 0x80000000 4544 #define SA_NOMASK SA_NODEFER 4545 #define SA_ONESHOT SA_RESETHAND 4546 4547 typedef struct sigaltstack 4548 { 4549 void *ss_sp; 4550 int ss_flags; 4551 size_t ss_size; 4552 } 4553 stack_t; 4554 #define SS_ONSTACK 1 4555 #define SS_DISABLE 2 4556 4557 ------------------------------------------------------------------------------- 4558 4559 stddef.h 4560 4561 #define offsetof(TYPE,MEMBER) ((size_t)& ((TYPE*)0)->MEMBER) 4562 #define NULL (0L) 4563 4564 typedef int wchar_t; 4565 4566 ------------------------------------------------------------------------------- 4567 4568 stdio.h 4569 4570 #define EOF (-1) 4571 #define P_tmpdir "/tmp" 4572 #define FOPEN_MAX 16 4573 #define L_tmpnam 20 4574 #define FILENAME_MAX 4096 4575 #define BUFSIZ 8192 4576 #define L_ctermid 9 4577 #define L_cuserid 9 4578 4579 typedef struct 4580 { 4581 off_t __pos; 4582 mbstate_t __state; 4583 } 4584 fpos_t; 4585 typedef struct 4586 { 4587 off64_t __pos; 4588 mbstate_t __state; 4589 } 4590 fpos64_t; 4591 4592 typedef struct _IO_FILE FILE; 4593 #define _IOFBF 0 4594 #define _IOLBF 1 4595 #define _IONBF 2 4596 4597 ------------------------------------------------------------------------------- 4598 4599 stdlib.h 4600 4601 #define MB_CUR_MAX (__ctype_get_mb_cur_max()) 4602 #define EXIT_SUCCESS 0 4603 #define EXIT_FAILURE 1 4604 #define RAND_MAX 2147483647 4605 4606 typedef int (*__compar_fn_t) (const void *, const void *); 4607 struct random_data 4608 { 4609 int32_t *fptr; 4610 int32_t *rptr; 4611 int32_t *state; 4612 int rand_type; 4613 int rand_deg; 4614 int rand_sep; 4615 int32_t *end_ptr; 4616 } 4617 ; 4618 4619 typedef struct 4620 { 4621 int quot; 4622 int rem; 4623 } 4624 div_t; 4625 4626 typedef struct 4627 { 4628 long quot; 4629 long rem; 4630 } 4631 ldiv_t; 4632 4633 typedef struct 4634 { 4635 long long quot; 4636 long long rem; 4637 } 4638 lldiv_t; 4639 4640 ------------------------------------------------------------------------------- 4641 4642 sys/file.h 4643 4644 #define LOCK_SH 1 4645 #define LOCK_EX 2 4646 #define LOCK_NB 4 4647 #define LOCK_UN 8 4648 4649 ------------------------------------------------------------------------------- 4650 4651 sys/ipc.h 4652 4653 #define IPC_PRIVATE ((key_t)0) 4654 #define IPC_RMID 0 4655 #define IPC_CREAT 00001000 4656 #define IPC_EXCL 00002000 4657 #define IPC_NOWAIT 00004000 4658 #define IPC_SET 1 4659 #define IPC_STAT 2 4660 4661 ------------------------------------------------------------------------------- 4662 4663 sys/mman.h 4664 4665 #define MAP_FAILED ((void*)-1) 4666 #define PROT_NONE 0x0 4667 #define MAP_SHARED 0x01 4668 #define MAP_PRIVATE 0x02 4669 #define PROT_READ 0x1 4670 #define MAP_FIXED 0x10 4671 #define PROT_WRITE 0x2 4672 #define MAP_ANONYMOUS 0x20 4673 #define PROT_EXEC 0x4 4674 #define MS_ASYNC 1 4675 #define MS_INVALIDATE 2 4676 #define MS_SYNC 4 4677 #define MAP_ANON MAP_ANONYMOUS 4678 4679 ------------------------------------------------------------------------------- 4680 4681 sys/msg.h 4682 4683 #define MSG_NOERROR 010000 4684 4685 ------------------------------------------------------------------------------- 4686 4687 sys/param.h 4688 4689 #define NOFILE 256 4690 #define MAXPATHLEN 4096 4691 4692 ------------------------------------------------------------------------------- 4693 4694 sys/poll.h 4695 4696 #define POLLIN 0x0001 4697 #define POLLPRI 0x0002 4698 #define POLLOUT 0x0004 4699 #define POLLERR 0x0008 4700 #define POLLHUP 0x0010 4701 #define POLLNVAL 0x0020 4702 4703 struct pollfd 4704 { 4705 int fd; 4706 short events; 4707 short revents; 4708 } 4709 ; 4710 typedef unsigned long nfds_t; 4711 4712 ------------------------------------------------------------------------------- 4713 4714 sys/resource.h 4715 4716 #define RUSAGE_CHILDREN (-1) 4717 #define RUSAGE_BOTH (-2) 4718 #define RLIM_INFINITY (~0UL) 4719 #define RLIM_SAVED_CUR -1 4720 #define RLIM_SAVED_MAX -1 4721 #define RLIMIT_CPU 0 4722 #define RUSAGE_SELF 0 4723 #define RLIMIT_FSIZE 1 4724 #define RLIMIT_DATA 2 4725 #define RLIMIT_STACK 3 4726 #define RLIMIT_CORE 4 4727 #define RLIMIT_NOFILE 7 4728 #define RLIMIT_AS 9 4729 4730 typedef unsigned long rlim_t; 4731 typedef unsigned long long rlim64_t; 4732 typedef int __rlimit_resource_t; 4733 4734 struct rlimit 4735 { 4736 rlim_t rlim_cur; 4737 rlim_t rlim_max; 4738 } 4739 ; 4740 struct rlimit64 4741 { 4742 rlim64_t rlim_cur; 4743 rlim64_t rlim_max; 4744 } 4745 ; 4746 4747 struct rusage 4748 { 4749 struct timeval ru_utime; 4750 struct timeval ru_stime; 4751 long ru_maxrss; 4752 long ru_ixrss; 4753 long ru_idrss; 4754 long ru_isrss; 4755 long ru_minflt; 4756 long ru_majflt; 4757 long ru_nswap; 4758 long ru_inblock; 4759 long ru_oublock; 4760 long ru_msgsnd; 4761 long ru_msgrcv; 4762 long ru_nsignals; 4763 long ru_nvcsw; 4764 long ru_nivcsw; 4765 } 4766 ; 4767 4768 enum __priority_which 4769 { 4770 PRIO_PROCESS, PRIO_PGRP = 1, PRIO_USER = 2 4771 } 4772 ; 4773 #define PRIO_PGRP PRIO_PGRP 4774 #define PRIO_PROCESS PRIO_PROCESS 4775 #define PRIO_USER PRIO_USER 4776 4777 typedef enum __priority_which __priority_which_t; 4778 4779 ------------------------------------------------------------------------------- 4780 4781 sys/sem.h 4782 4783 #define SEM_UNDO 0x1000 4784 #define GETPID 11 4785 #define GETVAL 12 4786 #define GETALL 13 4787 #define GETNCNT 14 4788 #define GETZCNT 15 4789 #define SETVAL 16 4790 #define SETALL 17 4791 4792 struct sembuf 4793 { 4794 short sem_num; 4795 short sem_op; 4796 short sem_flg; 4797 } 4798 ; 4799 4800 ------------------------------------------------------------------------------- 4801 4802 sys/shm.h 4803 4804 #define SHM_RDONLY 010000 4805 #define SHM_W 0200 4806 #define SHM_RND 020000 4807 #define SHM_R 0400 4808 #define SHM_REMAP 040000 4809 #define SHM_LOCK 11 4810 #define SHM_UNLOCK 12 4811 4812 ------------------------------------------------------------------------------- 4813 4814 sys/socket.h 4815 4816 #define SHUT_RD 0 4817 #define MSG_WAITALL 0x100 4818 #define MSG_TRUNC 0x20 4819 #define MSG_EOR 0x80 4820 #define SIOCGIFCONF 0x8912 4821 #define SIOCGIFFLAGS 0x8913 4822 #define SIOCGIFADDR 0x8915 4823 #define SIOCGIFNETMASK 0x891b 4824 #define MSG_OOB 1 4825 #define SHUT_WR 1 4826 #define MSG_PEEK 2 4827 #define SHUT_RDWR 2 4828 #define MSG_DONTROUTE 4 4829 #define MSG_CTRUNC 8 4830 #define PF_UNSPEC AF_UNSPEC 4831 4832 struct linger 4833 { 4834 int l_onoff; 4835 int l_linger; 4836 } 4837 ; 4838 struct cmsghdr 4839 { 4840 size_t cmsg_len; 4841 int cmsg_level; 4842 int cmsg_type; 4843 } 4844 ; 4845 struct iovec 4846 { 4847 void *iov_base; 4848 size_t iov_len; 4849 } 4850 ; 4851 4852 typedef unsigned short sa_family_t; 4853 typedef unsigned int socklen_t; 4854 4855 struct sockaddr 4856 { 4857 sa_family_t sa_family; 4858 char sa_data[14]; 4859 } 4860 ; 4861 struct sockaddr_storage 4862 { 4863 sa_family_t ss_family; 4864 __ss_aligntype __ss_align; 4865 char __ss_padding[(128 - (2 * sizeof (__ss_aligntype)))]; 4866 } 4867 ; 4868 4869 struct msghdr 4870 { 4871 void *msg_name; 4872 int msg_namelen; 4873 struct iovec *msg_iov; 4874 size_t msg_iovlen; 4875 void *msg_control; 4876 size_t msg_controllen; 4877 unsigned int msg_flags; 4878 } 4879 ; 4880 #define AF_UNSPEC 0 4881 #define AF_UNIX 1 4882 #define AF_INET6 10 4883 #define AF_INET 2 4884 4885 #define PF_INET AF_INET 4886 #define PF_INET6 AF_INET6 4887 #define PF_UNIX AF_UNIX 4888 4889 #define SOCK_STREAM 1 4890 #define SOCK_PACKET 10 4891 #define SOCK_DGRAM 2 4892 #define SOCK_RAW 3 4893 #define SOCK_RDM 4 4894 #define SOCK_SEQPACKET 5 4895 4896 #define SOL_SOCKET 1 4897 #define SO_DEBUG 1 4898 #define SO_OOBINLINE 10 4899 #define SO_NO_CHECK 11 4900 #define SO_PRIORITY 12 4901 #define SO_LINGER 13 4902 #define SO_REUSEADDR 2 4903 #define SOL_RAW 255 4904 #define SO_TYPE 3 4905 #define SO_ERROR 4 4906 #define SO_DONTROUTE 5 4907 #define SO_BROADCAST 6 4908 #define SO_SNDBUF 7 4909 #define SO_RCVBUF 8 4910 #define SO_KEEPALIVE 9 4911 4912 ------------------------------------------------------------------------------- 4913 4914 sys/stat.h 4915 4916 #define S_ISBLK(m) (((m)& S_IFMT)==S_IFBLK) 4917 #define S_ISCHR(m) (((m)& S_IFMT)==S_IFCHR) 4918 #define S_ISDIR(m) (((m)& S_IFMT)==S_IFDIR) 4919 #define S_ISFIFO(m) (((m)& S_IFMT)==S_IFIFO) 4920 #define S_ISLNK(m) (((m)& S_IFMT)==S_IFLNK) 4921 #define S_ISREG(m) (((m)& S_IFMT)==S_IFREG) 4922 #define S_ISSOCK(m) (((m)& S_IFMT)==S_IFSOCK) 4923 #define S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode) 4924 #define S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode) 4925 #define S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode) 4926 #define S_IRWXU (S_IREAD|S_IWRITE|S_IEXEC) 4927 #define S_IROTH (S_IRGRP>>3) 4928 #define S_IRGRP (S_IRUSR>>3) 4929 #define S_IRWXO (S_IRWXG>>3) 4930 #define S_IRWXG (S_IRWXU>>3) 4931 #define S_IWOTH (S_IWGRP>>3) 4932 #define S_IWGRP (S_IWUSR>>3) 4933 #define S_IXOTH (S_IXGRP>>3) 4934 #define S_IXGRP (S_IXUSR>>3) 4935 #define S_ISVTX 01000 4936 #define S_IXUSR 0x0040 4937 #define S_IWUSR 0x0080 4938 #define S_IRUSR 0x0100 4939 #define S_ISGID 0x0400 4940 #define S_ISUID 0x0800 4941 #define S_IFIFO 0x1000 4942 #define S_IFCHR 0x2000 4943 #define S_IFDIR 0x4000 4944 #define S_IFBLK 0x6000 4945 #define S_IFREG 0x8000 4946 #define S_IFLNK 0xa000 4947 #define S_IFSOCK 0xc000 4948 #define S_IFMT 0xf000 4949 #define st_atime st_atim.tv_sec 4950 #define st_ctime st_ctim.tv_sec 4951 #define st_mtime st_mtim.tv_sec 4952 #define S_IREAD S_IRUSR 4953 #define S_IWRITE S_IWUSR 4954 #define S_IEXEC S_IXUSR 4955 4956 ------------------------------------------------------------------------------- 4957 4958 sys/time.h 4959 4960 #define ITIMER_REAL 0 4961 #define ITIMER_VIRTUAL 1 4962 #define ITIMER_PROF 2 4963 4964 struct timezone 4965 { 4966 int tz_minuteswest; 4967 int tz_dsttime; 4968 } 4969 ; 4970 4971 typedef int __itimer_which_t; 4972 4973 struct timespec 4974 { 4975 time_t tv_sec; 4976 long tv_nsec; 4977 } 4978 ; 4979 4980 struct timeval 4981 { 4982 time_t tv_sec; 4983 suseconds_t tv_usec; 4984 } 4985 ; 4986 4987 struct itimerval 4988 { 4989 struct timeval it_interval; 4990 struct timeval it_value; 4991 } 4992 ; 4993 4994 ------------------------------------------------------------------------------- 4995 4996 sys/timeb.h 4997 4998 struct timeb 4999 { 5000 time_t time; 5001 unsigned short millitm; 5002 short timezone; 5003 short dstflag; 5004 } 5005 ; 5006 5007 ------------------------------------------------------------------------------- 5008 5009 sys/times.h 5010 5011 struct tms 5012 { 5013 clock_t tms_utime; 5014 clock_t tms_stime; 5015 clock_t tms_cutime; 5016 clock_t tms_cstime; 5017 } 5018 ; 5019 5020 ------------------------------------------------------------------------------- 5021 5022 sys/types.h 5023 5024 #define FD_ISSET(d,set) ((set)->fds_bits[((d)/(8*sizeof(long)))]& (1<<((d)%(8*sizeof(long))))) 5025 #define FD_CLR(d,set) ((set)->fds_bits[((d)/(8*sizeof(long)))]& =~(1<<((d)%(8*sizeof(long))))) 5026 #define FD_SET(d,set) ((set)->fds_bits[((d)/(8*sizeof(long)))]|=(1<<((d)%(8*sizeof(long))))) 5027 #define FALSE 0 5028 #define TRUE 1 5029 #define FD_SETSIZE 1024 5030 #define FD_ZERO(fdsetp) bzero(fdsetp, sizeof(*(fdsetp))) 5031 5032 typedef signed char int8_t; 5033 typedef short int16_t; 5034 typedef int int32_t; 5035 typedef unsigned char u_int8_t; 5036 typedef unsigned short u_int16_t; 5037 typedef unsigned int u_int32_t; 5038 typedef unsigned int uid_t; 5039 typedef int pid_t; 5040 typedef unsigned long off_t; 5041 typedef int key_t; 5042 typedef long suseconds_t; 5043 typedef unsigned int u_int; 5044 typedef struct 5045 { 5046 int __val[2]; 5047 } 5048 fsid_t; 5049 typedef unsigned int useconds_t; 5050 typedef unsigned long blksize_t; 5051 typedef long fd_mask; 5052 typedef int timer_t; 5053 typedef int clockid_t; 5054 5055 typedef unsigned int id_t; 5056 5057 typedef unsigned long long ino64_t; 5058 typedef long long loff_t; 5059 typedef unsigned long blkcnt_t; 5060 typedef unsigned long fsblkcnt_t; 5061 typedef unsigned long fsfilcnt_t; 5062 typedef unsigned long long blkcnt64_t; 5063 typedef unsigned long long fsblkcnt64_t; 5064 typedef unsigned long long fsfilcnt64_t; 5065 typedef unsigned char u_char; 5066 typedef unsigned short u_short; 5067 typedef unsigned long u_long; 5068 5069 typedef unsigned long ino_t; 5070 typedef unsigned int gid_t; 5071 typedef unsigned long long dev_t; 5072 typedef unsigned int mode_t; 5073 typedef unsigned long nlink_t; 5074 typedef char *caddr_t; 5075 5076 typedef struct 5077 { 5078 unsigned long fds_bits[__FDSET_LONGS]; 5079 } 5080 fd_set; 5081 5082 typedef long clock_t; 5083 typedef long time_t; 5084 5085 ------------------------------------------------------------------------------- 5086 5087 sys/un.h 5088 5089 #define UNIX_PATH_MAX 108 5090 5091 struct sockaddr_un 5092 { 5093 sa_family_t sun_family; 5094 char sun_path[UNIX_PATH_MAX]; 5095 } 5096 ; 5097 5098 ------------------------------------------------------------------------------- 5099 5100 sys/utsname.h 5101 5102 #define SYS_NMLN 65 5103 5104 struct utsname 5105 { 5106 char sysname[65]; 5107 char nodename[65]; 5108 char release[65]; 5109 char version[65]; 5110 char machine[65]; 5111 char domainname[65]; 5112 } 5113 ; 5114 5115 ------------------------------------------------------------------------------- 5116 5117 sys/wait.h 5118 5119 #define WIFSIGNALED(status) (!WIFSTOPPED(status) & & !WIFEXITED(status)) 5120 #define WIFSTOPPED(status) (((status) & 0xff) == 0x7f) 5121 #define WEXITSTATUS(status) (((status) & 0xff00) >> 8) 5122 #define WTERMSIG(status) ((status) & 0x7f) 5123 #define WCOREDUMP(status) ((status) & 0x80) 5124 #define WIFEXITED(status) (WTERMSIG(status) == 0) 5125 #define WNOHANG 0x00000001 5126 #define WUNTRACED 0x00000002 5127 #define WCOREFLAG 0x80 5128 #define WSTOPSIG(status) WEXITSTATUS(status) 5129 5130 typedef enum 5131 { 5132 P_ALL, P_PID, P_PGID 5133 } 5134 idtype_t; 5135 5136 ------------------------------------------------------------------------------- 5137 5138 syslog.h 5139 5140 #define LOG_EMERG 0 5141 #define LOG_PRIMASK 0x07 5142 #define LOG_ALERT 1 5143 #define LOG_CRIT 2 5144 #define LOG_ERR 3 5145 #define LOG_WARNING 4 5146 #define LOG_NOTICE 5 5147 #define LOG_INFO 6 5148 #define LOG_DEBUG 7 5149 5150 #define LOG_KERN (0<<3) 5151 #define LOG_AUTHPRIV (10<<3) 5152 #define LOG_FTP (11<<3) 5153 #define LOG_USER (1<<3) 5154 #define LOG_MAIL (2<<3) 5155 #define LOG_DAEMON (3<<3) 5156 #define LOG_AUTH (4<<3) 5157 #define LOG_SYSLOG (5<<3) 5158 #define LOG_LPR (6<<3) 5159 #define LOG_NEWS (7<<3) 5160 #define LOG_UUCP (8<<3) 5161 #define LOG_CRON (9<<3) 5162 #define LOG_FACMASK 0x03f8 5163 5164 #define LOG_LOCAL0 (16<<3) 5165 #define LOG_LOCAL1 (17<<3) 5166 #define LOG_LOCAL2 (18<<3) 5167 #define LOG_LOCAL3 (19<<3) 5168 #define LOG_LOCAL4 (20<<3) 5169 #define LOG_LOCAL5 (21<<3) 5170 #define LOG_LOCAL6 (22<<3) 5171 #define LOG_LOCAL7 (23<<3) 5172 5173 #define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) 5174 #define LOG_MASK(pri) (1 << (pri)) 5175 5176 #define LOG_PID 0x01 5177 #define LOG_CONS 0x02 5178 #define LOG_ODELAY 0x04 5179 #define LOG_NDELAY 0x08 5180 #define LOG_NOWAIT 0x10 5181 #define LOG_PERROR 0x20 5182 5183 ------------------------------------------------------------------------------- 5184 5185 termios.h 5186 5187 #define TCIFLUSH 0 5188 #define TCOOFF 0 5189 #define TCSANOW 0 5190 #define BS0 0000000 5191 #define CR0 0000000 5192 #define FF0 0000000 5193 #define NL0 0000000 5194 #define TAB0 0000000 5195 #define VT0 0000000 5196 #define OPOST 0000001 5197 #define OCRNL 0000010 5198 #define ONOCR 0000020 5199 #define ONLRET 0000040 5200 #define OFILL 0000100 5201 #define OFDEL 0000200 5202 #define NL1 0000400 5203 #define TCOFLUSH 1 5204 #define TCOON 1 5205 #define TCSADRAIN 1 5206 #define TCIOFF 2 5207 #define TCIOFLUSH 2 5208 #define TCSAFLUSH 2 5209 #define TCION 3 5210 5211 typedef unsigned int speed_t; 5212 typedef unsigned char cc_t; 5213 typedef unsigned int tcflag_t; 5214 #define NCCS 32 5215 5216 struct termios 5217 { 5218 tcflag_t c_iflag; 5219 tcflag_t c_oflag; 5220 tcflag_t c_cflag; 5221 tcflag_t c_lflag; 5222 cc_t c_line; 5223 cc_t c_cc[NCCS]; 5224 speed_t c_ispeed; 5225 speed_t c_ospeed; 5226 } 5227 ; 5228 #define VINTR 0 5229 #define VQUIT 1 5230 #define VLNEXT 15 5231 #define VERASE 2 5232 #define VKILL 3 5233 #define VEOF 4 5234 5235 #define IGNBRK 0000001 5236 #define BRKINT 0000002 5237 #define IGNPAR 0000004 5238 #define PARMRK 0000010 5239 #define INPCK 0000020 5240 #define ISTRIP 0000040 5241 #define INLCR 0000100 5242 #define IGNCR 0000200 5243 #define ICRNL 0000400 5244 #define IXANY 0004000 5245 #define IMAXBEL 0020000 5246 5247 #define CS5 0000000 5248 5249 #define ECHO 0000010 5250 5251 #define B0 0000000 5252 #define B50 0000001 5253 #define B75 0000002 5254 #define B110 0000003 5255 #define B134 0000004 5256 #define B150 0000005 5257 #define B200 0000006 5258 #define B300 0000007 5259 #define B600 0000010 5260 #define B1200 0000011 5261 #define B1800 0000012 5262 #define B2400 0000013 5263 #define B4800 0000014 5264 #define B9600 0000015 5265 #define B19200 0000016 5266 #define B38400 0000017 5267 5268 ------------------------------------------------------------------------------- 5269 5270 time.h 5271 5272 #define CLK_TCK ((clock_t)__sysconf(2)) 5273 #define CLOCK_REALTIME 0 5274 #define TIMER_ABSTIME 1 5275 #define CLOCKS_PER_SEC 1000000l 5276 5277 struct tm 5278 { 5279 int tm_sec; 5280 int tm_min; 5281 int tm_hour; 5282 int tm_mday; 5283 int tm_mon; 5284 int tm_year; 5285 int tm_wday; 5286 int tm_yday; 5287 int tm_isdst; 5288 long tm_gmtoff; 5289 char *tm_zone; 5290 } 5291 ; 5292 struct itimerspec 5293 { 5294 struct timespec it_interval; 5295 struct timespec it_value; 5296 } 5297 ; 5298 5299 ------------------------------------------------------------------------------- 5300 5301 ulimit.h 5302 5303 #define UL_GETFSIZE 1 5304 #define UL_SETFSIZE 2 5305 5306 ------------------------------------------------------------------------------- 5307 5308 unistd.h 5309 5310 #define SEEK_SET 0 5311 #define STDIN_FILENO 0 5312 #define SEEK_CUR 1 5313 #define STDOUT_FILENO 1 5314 #define SEEK_END 2 5315 #define STDERR_FILENO 2 5316 5317 typedef long long off64_t; 5318 #define F_OK 0 5319 #define X_OK 1 5320 #define W_OK 2 5321 #define R_OK 4 5322 5323 #define _POSIX_VDISABLE '\0' 5324 #define _POSIX_CHOWN_RESTRICTED 1 5325 #define _POSIX_JOB_CONTROL 1 5326 #define _POSIX_NO_TRUNC 1 5327 #define _POSIX_SHELL 1 5328 #define _POSIX_FSYNC 200112 5329 #define _POSIX_MAPPED_FILES 200112 5330 #define _POSIX_MEMLOCK 200112 5331 #define _POSIX_MEMLOCK_RANGE 200112 5332 #define _POSIX_MEMORY_PROTECTION 200112 5333 #define _POSIX_SEMAPHORES 200112 5334 #define _POSIX_SHARED_MEMORY_OBJECTS 200112 5335 #define _POSIX_TIMERS 200112 5336 #define _POSIX2_C_BIND 200112L 5337 #define _POSIX2_VERSION 200112L 5338 #define _POSIX_THREADS 200112L 5339 #define _POSIX_VERSION 200112L 5340 5341 #define _PC_LINK_MAX 0 5342 #define _PC_MAX_CANON 1 5343 #define _PC_ASYNC_IO 10 5344 #define _PC_PRIO_IO 11 5345 #define _PC_FILESIZEBITS 13 5346 #define _PC_REC_INCR_XFER_SIZE 14 5347 #define _PC_REC_MIN_XFER_SIZE 16 5348 #define _PC_REC_XFER_ALIGN 17 5349 #define _PC_ALLOC_SIZE_MIN 18 5350 #define _PC_MAX_INPUT 2 5351 #define _PC_2_SYMLINKS 20 5352 #define _PC_NAME_MAX 3 5353 #define _PC_PATH_MAX 4 5354 #define _PC_PIPE_BUF 5 5355 #define _PC_CHOWN_RESTRICTED 6 5356 #define _PC_NO_TRUNC 7 5357 #define _PC_VDISABLE 8 5358 #define _PC_SYNC_IO 9 5359 5360 #define _SC_ARG_MAX 0 5361 #define _SC_CHILD_MAX 1 5362 #define _SC_PRIORITY_SCHEDULING 10 5363 #define _SC_TIMERS 11 5364 #define _SC_ASYNCHRONOUS_IO 12 5365 #define _SC_XBS5_ILP32_OFF32 125 5366 #define _SC_XBS5_ILP32_OFFBIG 126 5367 #define _SC_XBS5_LP64_OFF64 127 5368 #define _SC_XBS5_LPBIG_OFFBIG 128 5369 #define _SC_XOPEN_LEGACY 129 5370 #define _SC_PRIORITIZED_IO 13 5371 #define _SC_XOPEN_REALTIME 130 5372 #define _SC_XOPEN_REALTIME_THREADS 131 5373 #define _SC_ADVISORY_INFO 132 5374 #define _SC_BARRIERS 133 5375 #define _SC_CLOCK_SELECTION 137 5376 #define _SC_CPUTIME 138 5377 #define _SC_THREAD_CPUTIME 139 5378 #define _SC_SYNCHRONIZED_IO 14 5379 #define _SC_MONOTONIC_CLOCK 149 5380 #define _SC_FSYNC 15 5381 #define _SC_READER_WRITER_LOCKS 153 5382 #define _SC_SPIN_LOCKS 154 5383 #define _SC_REGEXP 155 5384 #define _SC_SHELL 157 5385 #define _SC_SPAWN 159 5386 #define _SC_MAPPED_FILES 16 5387 #define _SC_SPORADIC_SERVER 160 5388 #define _SC_THREAD_SPORADIC_SERVER 161 5389 #define _SC_TIMEOUTS 164 5390 #define _SC_TYPED_MEMORY_OBJECTS 165 5391 #define _SC_2_PBS_ACCOUNTING 169 5392 #define _SC_MEMLOCK 17 5393 #define _SC_2_PBS_LOCATE 170 5394 #define _SC_2_PBS_MESSAGE 171 5395 #define _SC_2_PBS_TRACK 172 5396 #define _SC_SYMLOOP_MAX 173 5397 #define _SC_2_PBS_CHECKPOINT 175 5398 #define _SC_V6_ILP32_OFF32 176 5399 #define _SC_V6_ILP32_OFFBIG 177 5400 #define _SC_V6_LP64_OFF64 178 5401 #define _SC_V6_LPBIG_OFFBIG 179 5402 #define _SC_MEMLOCK_RANGE 18 5403 #define _SC_HOST_NAME_MAX 180 5404 #define _SC_TRACE 181 5405 #define _SC_TRACE_EVENT_FILTER 182 5406 #define _SC_TRACE_INHERIT 183 5407 #define _SC_TRACE_LOG 184 5408 #define _SC_MEMORY_PROTECTION 19 5409 #define _SC_CLK_TCK 2 5410 #define _SC_MESSAGE_PASSING 20 5411 #define _SC_SEMAPHORES 21 5412 #define _SC_SHARED_MEMORY_OBJECTS 22 5413 #define _SC_AIO_LISTIO_MAX 23 5414 #define _SC_AIO_MAX 24 5415 #define _SC_AIO_PRIO_DELTA_MAX 25 5416 #define _SC_DELAYTIMER_MAX 26 5417 #define _SC_MQ_OPEN_MAX 27 5418 #define _SC_MQ_PRIO_MAX 28 5419 #define _SC_VERSION 29 5420 #define _SC_NGROUPS_MAX 3 5421 #define _SC_PAGESIZE 30 5422 #define _SC_PAGE_SIZE 30 5423 #define _SC_RTSIG_MAX 31 5424 #define _SC_SEM_NSEMS_MAX 32 5425 #define _SC_SEM_VALUE_MAX 33 5426 #define _SC_SIGQUEUE_MAX 34 5427 #define _SC_TIMER_MAX 35 5428 #define _SC_BC_BASE_MAX 36 5429 #define _SC_BC_DIM_MAX 37 5430 #define _SC_BC_SCALE_MAX 38 5431 #define _SC_BC_STRING_MAX 39 5432 #define _SC_OPEN_MAX 4 5433 #define _SC_COLL_WEIGHTS_MAX 40 5434 #define _SC_EXPR_NEST_MAX 42 5435 #define _SC_LINE_MAX 43 5436 #define _SC_RE_DUP_MAX 44 5437 #define _SC_2_VERSION 46 5438 #define _SC_2_C_BIND 47 5439 #define _SC_2_C_DEV 48 5440 #define _SC_2_FORT_DEV 49 5441 #define _SC_STREAM_MAX 5 5442 #define _SC_2_FORT_RUN 50 5443 #define _SC_2_SW_DEV 51 5444 #define _SC_2_LOCALEDEF 52 5445 #define _SC_TZNAME_MAX 6 5446 #define _SC_IOV_MAX 60 5447 #define _SC_THREADS 67 5448 #define _SC_THREAD_SAFE_FUNCTIONS 68 5449 #define _SC_GETGR_R_SIZE_MAX 69 5450 #define _SC_JOB_CONTROL 7 5451 #define _SC_GETPW_R_SIZE_MAX 70 5452 #define _SC_LOGIN_NAME_MAX 71 5453 #define _SC_TTY_NAME_MAX 72 5454 #define _SC_THREAD_DESTRUCTOR_ITERATIONS 73 5455 #define _SC_THREAD_KEYS_MAX 74 5456 #define _SC_THREAD_STACK_MIN 75 5457 #define _SC_THREAD_THREADS_MAX 76 5458 #define _SC_THREAD_ATTR_STACKADDR 77 5459 #define _SC_THREAD_ATTR_STACKSIZE 78 5460 #define _SC_THREAD_PRIORITY_SCHEDULING 79 5461 #define _SC_SAVED_IDS 8 5462 #define _SC_THREAD_PRIO_INHERIT 80 5463 #define _SC_THREAD_PRIO_PROTECT 81 5464 #define _SC_THREAD_PROCESS_SHARED 82 5465 #define _SC_ATEXIT_MAX 87 5466 #define _SC_PASS_MAX 88 5467 #define _SC_XOPEN_VERSION 89 5468 #define _SC_REALTIME_SIGNALS 9 5469 #define _SC_XOPEN_UNIX 91 5470 #define _SC_XOPEN_CRYPT 92 5471 #define _SC_XOPEN_ENH_I18N 93 5472 #define _SC_XOPEN_SHM 94 5473 #define _SC_2_CHAR_TERM 95 5474 #define _SC_2_C_VERSION 96 5475 #define _SC_2_UPE 97 5476 5477 #define _CS_PATH 0 5478 #define _POSIX_REGEXP 1 5479 #define _CS_XBS5_ILP32_OFF32_CFLAGS 1100 5480 #define _CS_XBS5_ILP32_OFF32_LDFLAGS 1101 5481 #define _CS_XBS5_ILP32_OFF32_LIBS 1102 5482 #define _CS_XBS5_ILP32_OFF32_LINTFLAGS 1103 5483 #define _CS_XBS5_ILP32_OFFBIG_CFLAGS 1104 5484 #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS 1105 5485 #define _CS_XBS5_ILP32_OFFBIG_LIBS 1106 5486 #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS 1107 5487 #define _CS_XBS5_LP64_OFF64_CFLAGS 1108 5488 #define _CS_XBS5_LP64_OFF64_LDFLAGS 1109 5489 #define _CS_XBS5_LP64_OFF64_LIBS 1110 5490 #define _CS_XBS5_LP64_OFF64_LINTFLAGS 1111 5491 #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS 1112 5492 #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS 1113 5493 #define _CS_XBS5_LPBIG_OFFBIG_LIBS 1114 5494 #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 1115 5495 5496 #define _XOPEN_REALTIME 1 5497 #define _XOPEN_XPG4 1 5498 #define _XOPEN_XCU_VERSION 4 5499 #define _XOPEN_VERSION 500 5500 5501 #define F_ULOCK 0 5502 #define F_LOCK 1 5503 #define F_TLOCK 2 5504 #define F_TEST 3 5505 5506 ------------------------------------------------------------------------------- 5507 5508 utime.h 5509 5510 struct utimbuf 5511 { 5512 time_t actime; 5513 time_t modtime; 5514 } 5515 ; 5516 5517 ------------------------------------------------------------------------------- 5518 5519 utmp.h 5520 5521 #define UT_HOSTSIZE 256 5522 #define UT_LINESIZE 32 5523 #define UT_NAMESIZE 32 5524 5525 struct exit_status 5526 { 5527 short e_termination; 5528 short e_exit; 5529 } 5530 ; 5531 5532 #define EMPTY 0 5533 #define RUN_LVL 1 5534 #define BOOT_TIME 2 5535 #define NEW_TIME 3 5536 #define OLD_TIME 4 5537 #define INIT_PROCESS 5 5538 #define LOGIN_PROCESS 6 5539 #define USER_PROCESS 7 5540 #define DEAD_PROCESS 8 5541 #define ACCOUNTING 9 5542 5543 ------------------------------------------------------------------------------- 5544 5545 wchar.h 5546 5547 #define WEOF (0xffffffffu) 5548 #define WCHAR_MAX 0x7FFFFFFF 5549 #define WCHAR_MIN 0x80000000 5550 5551 ------------------------------------------------------------------------------- 5552 5553 wctype.h 5554 5555 typedef unsigned long wctype_t; 5556 typedef unsigned int wint_t; 5557 typedef const int32_t *wctrans_t; 5558 typedef struct 5559 { 5560 int count; 5561 wint_t value; 5562 } 5563 __mbstate_t; 5564 5565 typedef __mbstate_t mbstate_t; 5566 5567 ------------------------------------------------------------------------------- 5568 5569 wordexp.h 5570 5571 enum 5572 { 5573 WRDE_DOOFFS, WRDE_APPEND, WRDE_NOCMD, WRDE_REUSE, WRDE_SHOWERR, WRDE_UNDEF, 5574 __WRDE_FLAGS 5575 } 5576 ; 5577 5578 typedef struct 5579 { 5580 int we_wordc; 5581 char **we_wordv; 5582 int we_offs; 5583 } 5584 wordexp_t; 5585 5586 enum 5587 { 5588 WRDE_NOSYS, WRDE_NOSPACE, WRDE_BADCHAR, WRDE_BADVAL, WRDE_CMDSUB, 5589 WRDE_SYNTAX 5590 } 5591 ; 5592 5593 ------------------------------------------------------------------------------- 5594 5595 Interface Definitions for libc 5596 5597 Table of Contents 5598 _IO_feof -- alias for feof 5599 _IO_getc -- alias for getc 5600 _IO_putc -- alias for putc 5601 _IO_puts -- alias for puts 5602 __assert_fail -- abort the program after false assertion 5603 __ctype_b_loc -- accessor function for __ctype_b array for ctype functions 5604 __ctype_get_mb_cur_max -- maximum length of a multibyte character in the 5605 current locale 5606 __ctype_tolower_loc -- accessor function for __ctype_b_tolower array for ctype 5607 tolower() function 5608 __ctype_toupper_loc -- accessor function for __ctype_b_toupper array for ctype 5609 toupper() function 5610 __cxa_atexit -- register a function to be called by exit or when a shared 5611 library is unloaded 5612 __daylight -- global variable containing daylight 5613 __environ -- alias for environ - user environment 5614 __errno_location -- address of errno variable 5615 __fpending -- returns in bytes the amount of output pending on a stream 5616 __getpagesize -- alias for getpagesize - get current page size 5617 __getpgid -- get the process group id 5618 __h_errno_location -- address of h_errno variable 5619 __isinf -- test for infinity 5620 __isinff -- test for infinity 5621 __isinfl -- test for infinity 5622 __isnan -- test for infinity 5623 __isnanf -- test for infinity 5624 __isnanl -- test for infinity 5625 __libc_current_sigrtmax -- return number of available real-time signal with 5626 lowest priority 5627 __libc_current_sigrtmin -- return number of available real-time signal with 5628 highest priority 5629 __libc_start_main -- initialization routine 5630 __lxstat -- inline wrapper around call to lxstat 5631 __mempcpy -- copy given number of bytes of source to destination 5632 __rawmemchr -- scan memory 5633 __register_atfork -- alias for register_atfork 5634 __sigsetjmp -- save stack context for non-local goto 5635 __stpcpy -- copy a string returning a pointer to its end 5636 __strdup -- alias for strdup 5637 __strtod_internal -- underlying function for strtod 5638 __strtof_internal -- underlying function for strtof 5639 __strtok_r -- alias for strtok_r 5640 __strtol_internal -- alias for strtol 5641 __strtold_internal -- underlying function for strtold 5642 __strtoll_internal -- underlying function for strtoll 5643 __strtoul_internal -- underlying function for strtoul 5644 __strtoull_internal -- underlying function for strtoull 5645 __sysconf -- get configuration information at runtime 5646 __sysv_signal -- signal handling 5647 __timezone -- global variable containing timezone 5648 __tzname -- global variable containing the timezone 5649 __wcstod_internal -- underlying function for wcstod 5650 __wcstof_internal -- underlying function for wcstof 5651 __wcstol_internal -- underlying function for wcstol 5652 __wcstold_internal -- underlying function for wcstold 5653 __wcstoul_internal -- underlying function for wcstoul 5654 __xmknod -- make block or character special file 5655 __xstat -- provide inode information 5656 __xstat64 -- provide inode information 5657 _environ -- alias for environ - user environment 5658 _nl_msg_cat_cntr -- new catalog load counter 5659 _obstack_begin -- initialize an obstack for use 5660 _obstack_newchunk -- allocate a new current chunk of memory for the obstack 5661 _sys_errlist -- array containing the "C" locale strings used by strerror() 5662 _sys_siglist -- array containing the names of the signal names 5663 acct -- switch process accounting on or off 5664 adjtime -- correct the time to allow synchronization of the system clock 5665 adjtimex -- tune kernel clock (DEPRECATED) 5666 asprintf -- write formatted output to a string dynamically allocated with 5667 malloc and store the address of the string 5668 bind_textdomain_codeset -- specify encoding for message retrieval from message 5669 catalog for domain DOMAINNAME 5670 bindresvport -- bind socket to privileged IP port 5671 bindtextdomain -- specify the locale of a message catalog 5672 cfmakeraw -- get and set terminal attributes 5673 cfsetspeed -- set terminal input and output data rate 5674 creat -- open a file 5675 daemon -- run in the background 5676 dcgettext -- perform lookup in message catalog for the current LC_MESSAGES 5677 locale 5678 dcngettext -- perform lookup in message catalog for the current LC_MESSAGES 5679 locale 5680 dgettext -- perform lookup in message catalog for the current LC_MESSAGES 5681 locale 5682 dngettext -- perform lookup in message catalog for the current LC_MESSAGES 5683 locale 5684 err -- display formatted error messages 5685 error -- print error message 5686 errx -- format error messages 5687 fcntl -- file control 5688 fflush_unlocked -- non thread safe fflush 5689 fgetwc_unlocked -- non thread safe fgetwc 5690 flock -- apply or remove an advisory lock on an open file 5691 fopen -- open a file 5692 freopen -- open a file 5693 getdomainname -- get NIS domain name. 5694 gethostbyname_r -- find network host database entry matching host name 5695 (DEPRECATED) 5696 getloadavg -- get system load averages 5697 getopt -- parse command line options 5698 getopt_long -- parse command line options 5699 getopt_long_only -- parse command line options 5700 gettext -- perform lookup in message catalog for the current LC_MESSAGES locale 5701 getutent -- access utmp file entries 5702 getutent_r -- access utmp file entries 5703 glob64 -- find pathnames matching a pattern (Large File Support) 5704 globfree64 -- free memory from glob64() (Large File Support) 5705 initgroups -- initialize the supplementary group access list 5706 ioctl -- control device 5707 sockio -- socket ioctl commands 5708 iswctype -- wide character classification 5709 kill -- send a signal 5710 mbsnrtowcs -- convert a multibyte string to a wide character string 5711 memmem -- locate a substring 5712 memrchr -- scan memory for a character 5713 ngettext -- perform lookup in message catalog for the current LC_MESSAGES 5714 locale 5715 obstack_free -- free an object in the obstack 5716 open -- open a file 5717 opterr -- external variable used in getopt() 5718 optind -- external variable used in getopt() 5719 optopt -- external variable used in getopt() 5720 pmap_getport -- Returns the port number on which a service is waiting for. 5721 pmap_set -- Establishes mapping to machine's portmap service. 5722 pmap_unset -- Destroys all mapping between the triple and ports. 5723 psignal -- print signal message 5724 random_r -- generate random number 5725 setbuffer -- stream buffering operation 5726 setdomainname -- set NIS domain name. 5727 setgroups -- set list of supplementary group IDs 5728 sethostid -- set the unique identifier of the current host 5729 sethostname -- set host name 5730 setsockopt -- set options on sockets 5731 setutent -- access utmp file entries 5732 sigandset -- build a new signal set by combining the two input sets using 5733 logical AND 5734 sigblock -- manipulate the signal mask 5735 siggetmask -- manipulate the signal mask 5736 sigisemptyset -- check for empty signal set 5737 sigorset -- build a new signal set by combining the two input sets using 5738 logical or 5739 sigreturn -- return from signal handler and cleanup stack frame 5740 stime -- set time 5741 stpcpy -- copy a string returning a pointer to its end 5742 stpncpy -- copy a fixed-size string, returning a pointer to its end 5743 strcasestr -- locate a substring - ignores the case of both strings 5744 strerror_r -- reentrant version of strerror 5745 strfry -- randomize a string 5746 strndup -- return a malloc'd copy of at most the specified number of bytes of a 5747 string 5748 strnlen -- determine the length of a fixed-size string 5749 strptime -- parse a time string 5750 strsep -- extract token from string 5751 strsignal -- return string describing signal 5752 strtok_r -- extract tokens from strings 5753 strtoq -- convert string value to a long or quad_t integer 5754 strtouq -- convert a string to an uquad_t 5755 strverscmp -- compare strings holding name and indices/version numbers 5756 svc_register -- Associates program and versnum with the service dispatch 5757 procedure, dispatch. 5758 svc_run -- Waits for RPC requests to arrive and calls service procedure. 5759 svc_sendreply -- called by RPC service's dispatch routine 5760 svctcp_create -- Creates a TCP/IP-based RPC service transport. 5761 svcudp_create -- Creates a UDP-based RPC service transport. 5762 system -- execute a shell command 5763 textdomain -- set the current default message catalog 5764 unlink -- remove a directory entry 5765 vasprintf -- write formatted output to a string dynamically allocated with 5766 malloc and store the address of the string 5767 vdprintf -- write formatted output to a file descriptor 5768 verrx -- display formatted error messages 5769 vsyslog -- log to system log 5770 wait3 -- wait for child process 5771 wait4 -- wait for process termination, BSD style 5772 waitpid -- wait for child process 5773 warn -- formatted error messages 5774 warnx -- formatted error messages 5775 wcpcpy -- copy a wide character string, returning a pointer to its end 5776 wcpncpy -- copy a fixed-size string of wide characters, returning a pointer to 5777 its end 5778 wcscasecmp -- compare two wide-character strings, ignoring case 5779 wcsdup -- duplicate a wide-character string 5780 wcsncasecmp -- compare two fixed-size wide-character strings, ignoring case 5781 wcsnlen -- determine the length of a fixed-size wide-character string 5782 wcsnrtombs -- convert a wide character string to a multi-byte string 5783 wcstoq -- convert initial portion of wide string NPTR to long int 5784 representation 5785 wcstouq -- convert initial portion of wide string NPTR to unsigned long long 5786 int representation 5787 xdr_u_int -- library routines for external data representation 5788 5789 The following interfaces are included in libc and are defined by this 5790 specification. Unless otherwise noted, these interfaces shall be included in 5791 the source standard. 5792 5793 Other interfaces listed above for libc shall behave as described in the 5794 referenced base document. 5795 5796 _IO_feof 5797 5798 Name 5799 5800 _IO_feof -- alias for feof 5801 5802 Synopsis 5803 5804 int _IO_feof(_IO_FILE *__fp); 5805 5806 Description 5807 5808 _IO_feof tests the end-of-file indicator for the stream pointed to by __fp, 5809 returning a non-zero value if it is set. 5810 5811 _IO_feof is not in the source standard; it is only in the binary standard. 5812 5813 _IO_getc 5814 5815 Name 5816 5817 _IO_getc -- alias for getc 5818 5819 Synopsis 5820 5821 int _IO_getc(_IO_FILE *__fp); 5822 5823 Description 5824 5825 _IO_getc reads the next character from __fp and returns it as an unsigned char 5826 cast to an int, or EOF on end-of-file or error. 5827 5828 _IO_getc is not in the source standard; it is only in the binary standard. 5829 5830 _IO_putc 5831 5832 Name 5833 5834 _IO_putc -- alias for putc 5835 5836 Synopsis 5837 5838 int _IO_putc(int __c, _IO_FILE *__fp); 5839 5840 Description 5841 5842 _IO_putc writes the character __c, cast to an unsigned char, to __fp. 5843 5844 _IO_putc is not in the source standard; it is only in the binary standard. 5845 5846 _IO_puts 5847 5848 Name 5849 5850 _IO_puts -- alias for puts 5851 5852 Synopsis 5853 5854 int _IO_puts(const char *__c); 5855 5856 Description 5857 5858 _IO_puts writes the string __s and a trailing newline to stdout. 5859 5860 _IO_puts is not in the source standard; it is only in the binary standard. 5861 5862 __assert_fail 5863 5864 Name 5865 5866 __assert_fail -- abort the program after false assertion 5867 5868 Synopsis 5869 5870 void __assert_fail(const char *assertion, const char *file, unsigned int line, 5871 const char *function); 5872 5873 Description 5874 5875 __assert_fail receives a string containing the expression assertion, the 5876 filename file, and the line number line, and prints a message on the standard 5877 error stream. For example: 5878 5879 5880 a.c:10: foobar: Assertion a == b failed. 5881 5882 __assert_fail then aborts program execution via a call to abort. The exact form 5883 of the message is up to the implementation. 5884 5885 If function is NULL, then omit information about the function. 5886 5887 assertion, file, and line shall be non-NULL. 5888 5889 __assert_fail is not in the source standard; it is only in the binary standard. 5890 5891 __ctype_b_loc 5892 5893 Name 5894 5895 __ctype_b_loc -- accessor function for __ctype_b array for ctype functions 5896 5897 Synopsis 5898 5899 #include 5900 5901 extern const unsigned short int **ctype_b_loc(void); 5902 5903 Description 5904 5905 __ctype_b_loc() returns the address of the array to be used by the ctype 5906 functions. This array is locale aware, and is local to the current thread if 5907 the application is multithreaded. 5908 5909 __ctype_get_mb_cur_max 5910 5911 Name 5912 5913 __ctype_get_mb_cur_max -- maximum length of a multibyte character in the 5914 current locale 5915 5916 Synopsis 5917 5918 size_t __ctype_get_mb_cur_max(void); 5919 5920 Description 5921 5922 __ctype_get_mb_cur_max returns the maximum length of a multibyte character in 5923 the current locale. 5924 5925 __ctype_get_mb_cur_max is not in the source standard; it is only in the binary 5926 standard. 5927 5928 __ctype_tolower_loc 5929 5930 Name 5931 5932 __ctype_tolower_loc -- accessor function for __ctype_b_tolower array for ctype 5933 tolower() function 5934 5935 Synopsis 5936 5937 #include 5938 5939 int32_t **__ctype_tolower_loc(void); 5940 5941 Description 5942 5943 __ctype_tolower_loc() returns the address of the array to be used by the 5944 tolower function. This array is locale aware, and is local to the current 5945 thread if the application is multithreaded. 5946 5947 __ctype_toupper_loc 5948 5949 Name 5950 5951 __ctype_toupper_loc -- accessor function for __ctype_b_toupper array for ctype 5952 toupper() function 5953 5954 Synopsis 5955 5956 #include 5957 5958 int32_t **__ctype_toupper_loc(void); 5959 5960 Description 5961 5962 __ctype_toupper_loc() returns the address of the array to be used by the 5963 toupper function. This array is locale aware, and is local to the current 5964 thread if the application is multithreaded. 5965 5966 __cxa_atexit 5967 5968 Name 5969 5970 __cxa_atexit -- register a function to be called by exit or when a shared 5971 library is unloaded 5972 5973 Synopsis 5974 5975 int __cxa_atexit(void (*func) (void *), void *arg, void *d); 5976 5977 Description 5978 5979 __cxa_atexit registers a function to be called by exit or when a shared library 5980 is unloaded. This function is only called from code generated by the C++ 5981 compiler. 5982 5983 __cxa_atexit has the same specification as atexit. 5984 5985 __cxa_atexit is not in the source standard; it is only in the binary standard. 5986 5987 __daylight 5988 5989 Name 5990 5991 -- global variable containing daylight 5992 5993 Synopsis 5994 5995 int __daylight; 5996 5997 Description 5998 5999 __daylight is as specified in the ISO/IEC 9945:2003 Portable Operating System 6000 (POSIX)and The Single UNIX Specification(SUS) V3. 6001 6002 __environ 6003 6004 Name 6005 6006 __environ -- alias for environ - user environment 6007 6008 Synopsis 6009 6010 extern char **__environ; 6011 6012 Description 6013 6014 __environ is an alias for environ - user environment. 6015 6016 __environ has the same specification as environ. 6017 6018 __environ is not in the source standard; it is only in the binary standard. 6019 6020 __errno_location 6021 6022 Name 6023 6024 __errno_location -- address of errno variable 6025 6026 Synopsis 6027 6028 int *__errno_location(void); 6029 6030 Description 6031 6032 __errno_location is not in the source standard; it is only in the binary 6033 standard. 6034 6035 __fpending 6036 6037 Name 6038 6039 __fpending -- returns in bytes the amount of output pending on a stream 6040 6041 Synopsis 6042 6043 #include 6044 6045 size_t __fpending(FILE *stream); 6046 6047 Description 6048 6049 __fpending returns the amount of output in bytes pending on a stream. 6050 6051 __fpending is not in the source standard; it is only in the binary standard. 6052 6053 __getpagesize 6054 6055 Name 6056 6057 __getpagesize -- alias for getpagesize - get current page size 6058 6059 Synopsis 6060 6061 extern int __getpagesize(void); 6062 6063 Description 6064 6065 __getpagesize is an alias for getpagesize - get current page size. 6066 6067 __getpagesize has the same specification as getpagesize. 6068 6069 __getpagesize is not in the source standard; it is only in the binary standard. 6070 6071 __getpgid 6072 6073 Name 6074 6075 __getpgid -- get the process group id 6076 6077 Synopsis 6078 6079 pid_t __getpgid(pid_t pid); 6080 6081 Description 6082 6083 __getpgid has the same specification as getpgid. 6084 6085 __getpgid is not in the source standard; it is only in the binary standard. 6086 6087 __h_errno_location 6088 6089 Name 6090 6091 __h_errno_location -- address of h_errno variable 6092 6093 Synopsis 6094 6095 int *__h_errno_location(void); 6096 6097 Description 6098 6099 __h_errno_location returns the address of the h_errno variable, where h_errno 6100 is as specified in the Single Unix Specification. 6101 6102 __h_errno_location is not in the source standard; it is only in the binary 6103 standard. Note that h_errno itself is only in the source standard; it is not in 6104 the binary standard. 6105 6106 __isinf 6107 6108 Name 6109 6110 __isinf -- test for infinity 6111 6112 Synopsis 6113 6114 int __isinf(double arg); 6115 6116 Description 6117 6118 __isinf has the same specification as isinf in the Single UNIX Specification, 6119 Version 3, except that the argument type for __isinf is known to be double. 6120 6121 __isinf is not in the source standard; it is only in the binary standard. 6122 6123 __isinff 6124 6125 Name 6126 6127 __isinff -- test for infinity 6128 6129 Synopsis 6130 6131 int __isinff(float arg); 6132 6133 Description 6134 6135 __isinff has the same specification as isinf in the Single UNIX Specification, 6136 Version 3, except that the argument type for __isinff is known to be float. 6137 6138 __isinff is not in the source standard; it is only in the binary standard. 6139 6140 __isinfl 6141 6142 Name 6143 6144 __isinfl -- test for infinity 6145 6146 Synopsis 6147 6148 int __isinfl(long double arg); 6149 6150 Description 6151 6152 __isinfl has the same specification as isinf in the Single UNIX Specification, 6153 Version 3, except that the argument type for __isinfl is known to be long 6154 double. 6155 6156 __isinfl is not in the source standard; it is only in the binary standard. 6157 6158 __isnan 6159 6160 Name 6161 6162 __isnan -- test for infinity 6163 6164 Synopsis 6165 6166 int __isnan(double arg); 6167 6168 Description 6169 6170 __isnan has the same specification as isnan in the Single UNIX Specification, 6171 Version 3, except that the argument type for __isnan is known to be double. 6172 6173 __isnan is not in the source standard; it is only in the binary standard. 6174 6175 __isnanf 6176 6177 Name 6178 6179 __isnanf -- test for infinity 6180 6181 Synopsis 6182 6183 int __isnanf(float arg); 6184 6185 Description 6186 6187 __isnanf has the same specification as isnan in the Single UNIX Specification, 6188 Version 3, except that the argument type for __isnanf is known to be float. 6189 6190 __isnanf is not in the source standard; it is only in the binary standard. 6191 6192 __isnanl 6193 6194 Name 6195 6196 __isnanl -- test for infinity 6197 6198 Synopsis 6199 6200 int __isnanl(long double arg); 6201 6202 Description 6203 6204 __isnanl has the same specification as isnan in the Single UNIX Specification, 6205 Version 3, except that the argument type for __isnanl is known to be long 6206 double. 6207 6208 __isnanl is not in the source standard; it is only in the binary standard. 6209 6210 __libc_current_sigrtmax 6211 6212 Name 6213 6214 __libc_current_sigrtmax -- return number of available real-time signal with 6215 lowest priority 6216 6217 Synopsis 6218 6219 int __libc_current_sigrtmax(void); 6220 6221 Description 6222 6223 __libc_current_sigrtmax returns the number of an available real-time signal 6224 with the lowest priority. 6225 6226 __libc_current_sigrtmax is not in the source standard; it is only in the binary 6227 standard. 6228 6229 __libc_current_sigrtmin 6230 6231 Name 6232 6233 __libc_current_sigrtmin -- return number of available real-time signal with 6234 highest priority 6235 6236 Synopsis 6237 6238 int __libc_current_sigrtmin(void); 6239 6240 Description 6241 6242 __libc_current_sigrtmin returns the number of an available real-time signal 6243 with the highest priority. 6244 6245 __libc_current_sigrtmin is not in the source standard; it is only in the binary 6246 standard. 6247 6248 __libc_start_main 6249 6250 Name 6251 6252 __libc_start_main -- initialization routine 6253 6254 Synopsis 6255 6256 BP_SYM __libc_start_main(int (*main) (int, char**, char**), int argc, char 6257 *__unbounded *__unbounded ubp_av, void (*init) (void), void (*fini) (void), 6258 void (*rtld_fini) (void), void (*__unbounded stack_end)); 6259 6260 Description 6261 6262 __libc_start_main initializes glibc. 6263 6264 __libc_start_main is not in the source standard; it is only in the binary 6265 standard. 6266 6267 __lxstat 6268 6269 Name 6270 6271 __lxstat -- inline wrapper around call to lxstat 6272 6273 Synopsis 6274 6275 #include 6276 6277 int __lxstat(int version, char *__path, (struct stat *__statbuf)); 6278 6279 Description 6280 6281 __lxstat is an inline wrapper around call to lxstat. 6282 6283 __lxstat is not in the source standard; it is only in the binary standard. 6284 6285 __mempcpy 6286 6287 Name 6288 6289 __mempcpy -- copy given number of bytes of source to destination 6290 6291 Synopsis 6292 6293 #include 6294 6295 extern ptr_t __mempcpy(ptr_t restrict dest, const ptr_t restrict src, size_t 6296 n); 6297 6298 Description 6299 6300 __mempcpy copies n bytes of source to destination, returning pointer to bytes 6301 after the last written byte. 6302 6303 __mempcpy is not in the source standard; it is only in the binary standard. 6304 6305 __rawmemchr 6306 6307 Name 6308 6309 __rawmemchr -- scan memory 6310 6311 Synopsis 6312 6313 #include 6314 6315 extern ptr_t __rawmemchr(const ptr_t s, int c); 6316 6317 Description 6318 6319 __rawmemchr searches in s for c. 6320 6321 __rawmemchr is a weak alias to rawmemchr. It is similar to memchr, but it has 6322 no length limit. 6323 6324 __rawmemchr is not in the source standard; it is only in the binary standard. 6325 6326 __register_atfork 6327 6328 Name 6329 6330 __register_atfork -- alias for register_atfork 6331 6332 Synopsis 6333 6334 int __register_atfork(void (*prepare)(), void (*parent)(), void (*child)(), 6335 void *__dso_handle); 6336 6337 Description 6338 6339 __register_atfork implements pthread_atfork as specified in ISO/IEC 9945:2003 6340 Portable Operating System(POSIX)and The Single UNIX Specification(SUS) V3. The 6341 additional parameter __dso_handle allows a shared object to pass in it's handle 6342 so that functions registered by __register_atfork can be unregistered by the 6343 runtime when the shared object is unloaded. 6344 6345 __sigsetjmp 6346 6347 Name 6348 6349 __sigsetjmp -- save stack context for non-local goto 6350 6351 Synopsis 6352 6353 int __sigsetjmp(jmp_buf env, int savemask); 6354 6355 Description 6356 6357 __sigsetjmp has the same behavior as sigsetjmp as specified by the Single UNIX 6358 Specification, Version 2. 6359 6360 __sigsetjmp is not in the source standard; it is only in the binary standard. 6361 6362 __stpcpy 6363 6364 Name 6365 6366 __stpcpy -- copy a string returning a pointer to its end 6367 6368 Synopsis 6369 6370 #include 6371 6372 char *__stpcpy(char *dest, const char *src); 6373 6374 Description 6375 6376 __stpcpy copies the string src (including the terminating /0 character) to the 6377 array dest. The strings may not overlap, and dest must be large enough to 6378 receive the copy. 6379 6380 Return Value 6381 6382 __stpcpy returns a pointer to the end of the string dest (that is, the address 6383 of the terminating NULL character) rather than the beginning. 6384 6385 __stpcpy has the same specification as stpcpy. 6386 6387 __stpcpy is not in the source standard; it is only in the binary standard. 6388 6389 __strdup 6390 6391 Name 6392 6393 __strdup -- alias for strdup 6394 6395 Synopsis 6396 6397 char *__strdup(const char string); 6398 6399 Description 6400 6401 __strdup has the same specification as strdup. 6402 6403 __strdup is not in the source standard; it is only in the binary standard. 6404 6405 __strtod_internal 6406 6407 Name 6408 6409 __strtod_internal -- underlying function for strtod 6410 6411 Synopsis 6412 6413 double __strtod_internal(const char *__nptr, char **__endptr, int __group); 6414 6415 Description 6416 6417 __group shall be 0 or the behavior of __strtod_internal is undefined. 6418 6419 __strtod_internal(__nptr, __endptr, 0) has the same specification as strtod 6420 (__nptr, __endptr). 6421 6422 __strtod_internal is not in the source standard; it is only in the binary 6423 standard. 6424 6425 __strtof_internal 6426 6427 Name 6428 6429 __strtof_internal -- underlying function for strtof 6430 6431 Synopsis 6432 6433 float __strtof_internal(const char *__nptr, char **__endptr, int __group); 6434 6435 Description 6436 6437 __group shall be 0 or the behavior of __strtof_internal is undefined. 6438 6439 __strtof_internal(__nptr, __endptr, 0) has the same specification as strtof 6440 (__nptr, __endptr). 6441 6442 __strtof_internal is not in the source standard; it is only in the binary 6443 standard. 6444 6445 __strtok_r 6446 6447 Name 6448 6449 __strtok_r -- alias for strtok_r 6450 6451 Synopsis 6452 6453 char *__strtok_r(char *__restrict s, __const char *__restrict delim, char 6454 **__restrict save_ptr); 6455 6456 Description 6457 6458 __strtok_r has the same specification as strtok_r. 6459 6460 __strtok_r is not in the source standard; it is only in the binary standard. 6461 6462 __strtol_internal 6463 6464 Name 6465 6466 __strtol_internal -- alias for strtol 6467 6468 Synopsis 6469 6470 long int __strtol_internal(const char *__nptr, char **__endptr, int __base, int 6471 __group); 6472 6473 Description 6474 6475 __group shall be 0 or the behavior of __strtol_internal is undefined. 6476 6477 __strtol_internal(__nptr, __endptr, __base, 0) has the same specification as 6478 strtol(__nptr, __endptr, __base). 6479 6480 __strtol_internal is not in the source standard; it is only in the binary 6481 standard. 6482 6483 __strtold_internal 6484 6485 Name 6486 6487 __strtold_internal -- underlying function for strtold 6488 6489 Synopsis 6490 6491 long double __strtold_internal(const char *__nptr, char **__endptr, int 6492 __group); 6493 6494 Description 6495 6496 __group shall be 0 or the behavior of __strtold_internal is undefined. 6497 6498 __strtold_internal(__nptr, __endptr, 0) has the same specification as strtold 6499 (__nptr, __endptr). 6500 6501 __strtold_internal is not in the source standard; it is only in the binary 6502 standard. 6503 6504 __strtoll_internal 6505 6506 Name 6507 6508 __strtoll_internal -- underlying function for strtoll 6509 6510 Synopsis 6511 6512 long long __strtoll_internal(const char *__nptr, char **__endptr, int __base, 6513 int __group); 6514 6515 Description 6516 6517 __group shall be 0 or the behavior of __strtoll_internal is undefined. 6518 6519 __strtoll_internal(__nptr, __endptr, __base, 0) has the same specification as 6520 strtoll(__nptr, __endptr, __base). 6521 6522 __strtoll_internal is not in the source standard; it is only in the binary 6523 standard. 6524 6525 __strtoul_internal 6526 6527 Name 6528 6529 __strtoul_internal -- underlying function for strtoul 6530 6531 Synopsis 6532 6533 unsigned long int __strtoul_internal(const char *__nptr, char **__endptr, int 6534 __base, int __group); 6535 6536 Description 6537 6538 __group shall be 0 or the behavior of __strtoul_internal is undefined. 6539 6540 __strtoul_internal(__nptr, __endptr, __base, 0) has the same specification as 6541 strtoul(__nptr, __endptr, __base). 6542 6543 __strtoul_internal is not in the source standard; it is only in the binary 6544 standard. 6545 6546 __strtoull_internal 6547 6548 Name 6549 6550 __strtoull_internal -- underlying function for strtoull 6551 6552 Synopsis 6553 6554 unsigned long long __strtoull_internal(const char *__nptr, char **__endptr, int 6555 __base, int __group); 6556 6557 Description 6558 6559 __group shall be 0 or the behavior of __strtoull_internal is undefined. 6560 6561 __strtoull_internal(__nptr, __endptr, __base, 0) has the same specification as 6562 strtoull(__nptr, __endptr, __base). 6563 6564 __strtoull_internal is not in the source standard; it is only in the binary 6565 standard. 6566 6567 __sysconf 6568 6569 Name 6570 6571 __sysconf -- get configuration information at runtime 6572 6573 Synopsis 6574 6575 #include 6576 6577 long __sysconf(int name); 6578 6579 Description 6580 6581 __sysconf gets configuration information at runtime. 6582 6583 __sysconf is weak alias to sysconf. 6584 6585 __sysconf has the same specification as sysconf. 6586 6587 __sysconf is not in the source standard; it is only in the binary standard. 6588 6589 __sysv_signal 6590 6591 Name 6592 6593 __sysv_signal -- signal handling 6594 6595 Synopsis 6596 6597 __sighandler_t __sysv_signal(int sig, __sighandler_t handler); 6598 6599 Description 6600 6601 __sysv_signal has the same behavior as signal as specified by X/Open. 6602 6603 __sysv_signal is not in the source standard; it is only in the binary standard. 6604 6605 __timezone 6606 6607 Name 6608 6609 -- global variable containing timezone 6610 6611 Synopsis 6612 6613 long int __timezone; 6614 6615 Description 6616 6617 __timezone has the same specification as timezone in the Single UNIX 6618 Specification. 6619 6620 __tzname 6621 6622 Name 6623 6624 -- global variable containing the timezone 6625 6626 Synopsis 6627 6628 char *__tzname[2]; 6629 6630 Description 6631 6632 __tzname has the same specification as tzname in the Single UNIX Specification. 6633 6634 Note that the array size of 2 is explicit in the Single UNIX Specification, 6635 Version 3, but not in the Single UNIX Specification, Version 2. 6636 6637 __wcstod_internal 6638 6639 Name 6640 6641 __wcstod_internal -- underlying function for wcstod 6642 6643 Synopsis 6644 6645 double __wcstod_internal(const wchar_t *nptr, wchar_t **endptr, int group); 6646 6647 Description 6648 6649 group shall be 0 or the behavior of __wcstod_internal is undefined. 6650 6651 __wcstod_internal(nptr, endptr, 0) has the same specification as wcstod(nptr, 6652 endptr). 6653 6654 __wcstod_internal is not in the source standard; it is only in the binary 6655 standard. 6656 6657 __wcstof_internal 6658 6659 Name 6660 6661 __wcstof_internal -- underlying function for wcstof 6662 6663 Synopsis 6664 6665 float __wcstof_internal(const wchar_t *nptr, wchar_t **endptr, int group); 6666 6667 Description 6668 6669 group shall be 0 or the behavior of __wcstof_internal is undefined. 6670 6671 __wcstof_internal(nptr, endptr, 0) has the same specification as wcstof(nptr, 6672 endptr). 6673 6674 __wcstof_internal is not in the source standard; it is only in the binary 6675 standard. 6676 6677 __wcstol_internal 6678 6679 Name 6680 6681 __wcstol_internal -- underlying function for wcstol 6682 6683 Synopsis 6684 6685 long __wcstol_internal(const wchar_t *nptr, wchar_t **endptr, int base, int 6686 group); 6687 6688 Description 6689 6690 group shall be 0 or the behavior of __wcstol_internal is undefined. 6691 6692 __wcstol_internal(nptr, endptr, base, 0) has the same specification as wcstol 6693 (nptr, endptr, base). 6694 6695 __wcstol_internal is not in the source standard; it is only in the binary 6696 standard. 6697 6698 __wcstold_internal 6699 6700 Name 6701 6702 __wcstold_internal -- underlying function for wcstold 6703 6704 Synopsis 6705 6706 long double __wcstold_internal(const wchar_t *nptr, wchar_t **endptr, int 6707 group); 6708 6709 Description 6710 6711 group shall be 0 or the behavior of __wcstold_internal is undefined. 6712 6713 __wcstold_internal(nptr, endptr, 0) has the same specification as wcstold(nptr, 6714 endptr). 6715 6716 __wcstold_internal is not in the source standard; it is only in the binary 6717 standard. 6718 6719 __wcstoul_internal 6720 6721 Name 6722 6723 __wcstoul_internal -- underlying function for wcstoul 6724 6725 Synopsis 6726 6727 unsigned long __wcstoul_internal(const wchar_t *restrict nptr, wchar_t 6728 **restrict endptr, int base, int group); 6729 6730 Description 6731 6732 group shall be 0 or the behavior of __wcstoul_internal is undefined. 6733 6734 __wcstoul_internal(nptr, endptr, base, 0) has the same specification as wcstoul 6735 (nptr, endptr, base). 6736 6737 __wcstoul_internal is not in the source standard; it is only in the binary 6738 standard. 6739 6740 __xmknod 6741 6742 Name 6743 6744 __xmknod -- make block or character special file 6745 6746 Synopsis 6747 6748 int __xmknod(int ver, __const char *path, __mode_t mode, __dev_t *dev); 6749 6750 Description 6751 6752 ver shall be 1 or the behavior of __xmknod is undefined. 6753 6754 __xmknod(1, path, mode, dev) has the same specification as mknod(path, mode, 6755 dev). 6756 6757 Note that the format of dev_t is not the same as the argument that the kernel 6758 syscall uses. 6759 6760 __xmknod is not in the source standard; it is only in the binary standard. 6761 6762 __xstat 6763 6764 Name 6765 6766 __xstat -- provide inode information 6767 6768 Synopsis 6769 6770 #include 6771 #include 6772 6773 int __xstat(int __ver, const char *__filename, (struct stat *__stat_buf)); 6774 6775 int __lxstat(int __ver, const char *__filename, (struct stat *__stat_buf)); 6776 6777 int __fxstat(int __ver, int __filedesc, (struct stat *__stat_buf)); 6778 6779 Description 6780 6781 __ver shall be 3 or the behavior of these functions is undefined. 6782 6783 __filename is as specified in POSIX. 6784 6785 __filedesc is as specified in POSIX. 6786 6787 __stat_buf is as specified in POSIX. 6788 6789 __xstat(3, __filename, __stat_buf) has the same specification as stat 6790 (__filename, __stat_buf) as specified by POSIX. 6791 6792 __lxstat(3, __filename, __stat_buf) has the same specification as lstat 6793 (__filename, __stat_buf) as specified by POSIX. 6794 6795 __fxstat(3, __filedesc, __stat_buf) has the same specification as fstat 6796 (__filedesc, __stat_buf) as specified by POSIX. 6797 6798 Note that the struct stat used by these functions is not the one that the 6799 kernel uses. 6800 6801 __xstat, __lxstat, and __fxstat are not in the source standard; they are only 6802 in the binary standard. 6803 6804 stat, lstat, and fstat are not in the binary standard; they are only in the 6805 source standard. 6806 6807 __xstat64 6808 6809 Name 6810 6811 __xstat64 -- provide inode information 6812 6813 Synopsis 6814 6815 #define _LARGEFILE_SOURCE 1 6816 #include 6817 #include 6818 6819 int __xstat64(int __ver, const char *__filename, (struct stat64 *__stat_buf)); 6820 6821 int __lxstat64(int __ver, const char *__filename, (struct stat64 *__stat_buf)); 6822 6823 int __fxstat64(int __ver, int __filedesc, (struct stat64 *__stat_buf)); 6824 6825 Description 6826 6827 __ver shall be 3 or the behavior of these functions is undefined. 6828 6829 __filename is as specified by the Large File Summit. 6830 6831 __filedesc is as specified by the Large File Summit. 6832 6833 __stat_buf is as specified by the Large File Summit. 6834 6835 __xstat64(3, __filename, __stat_buf) has the same specification as stat64 6836 (__filename, __stat_buf) as specified by the Large File Summit. 6837 6838 __lxstat64(3, __filename, __stat_buf) has the same specification as lstat64 6839 (__filename, __stat_buf) as specified by the Large File Summit. 6840 6841 __fxstat64(3, __filedesc, __stat_buf) has the same specification as fstat64 6842 (__filedesc, __stat_buf) as specified by the Large File Summit. 6843 6844 __xstat64, __lxstat64, and __fxstat64 are not in the source standard; they are 6845 only in the binary standard. 6846 6847 stat64, lstat64, and fstat64 are not in the binary standard; they are only in 6848 the source standard. 6849 6850 _environ 6851 6852 Name 6853 6854 _environ -- alias for environ - user environment 6855 6856 Synopsis 6857 6858 extern char **_environ; 6859 6860 Description 6861 6862 _environ is an alias for environ - user environment. 6863 6864 _nl_msg_cat_cntr 6865 6866 Name 6867 6868 _nl_msg_cat_cntr -- new catalog load counter 6869 6870 Synopsis 6871 6872 #include 6873 6874 extern int _nl_msg_cat_cntr; 6875 6876 Description 6877 6878 _nl_msg_cat_cntr is incremented each time a new catalong is loaded. It is a 6879 variable defined in loadmsgcat.c and is used by Message catalogs for 6880 internationalization. 6881 6882 _obstack_begin 6883 6884 Name 6885 6886 _obstack_begin -- initialize an obstack for use 6887 6888 Synopsis 6889 6890 #include 6891 6892 extern int _obstack_begin(struct obstack *, int, int, void *(*) (long), void 6893 (*) (void *)); 6894 6895 Description 6896 6897 _obstack_begin initializes an obstack for use. 6898 6899 _obstack_newchunk 6900 6901 Name 6902 6903 _obstack_newchunk -- allocate a new current chunk of memory for the obstack 6904 6905 Synopsis 6906 6907 #include 6908 6909 extern void _obstack_newchunk(struct obstack *, int); 6910 6911 Description 6912 6913 _obstack_newchunk allocates a new current chunk of memory for the obstack. 6914 6915 _sys_errlist 6916 6917 Name 6918 6919 _sys_errlist -- array containing the "C" locale strings used by strerror() 6920 6921 Synopsis 6922 6923 #include 6924 6925 extern const char *const _sys_errlist[]; 6926 6927 Description 6928 6929 _sys_errlist is an array containing the "C" locale strings used by strerror. 6930 This normally should not be used directly. strerror provides all of the needed 6931 functionality. 6932 6933 _sys_siglist 6934 6935 Name 6936 6937 _sys_siglist -- array containing the names of the signal names 6938 6939 Synopsis 6940 6941 #include 6942 6943 extern const char *const _sys_siglist[NSIG]; 6944 6945 Description 6946 6947 _sys_siglist is an array containing the names of the signal names. 6948 6949 _sys_siglist exists only for compatibility; use strsignal instead. (See 6950 string.h). 6951 6952 acct 6953 6954 Name 6955 6956 acct -- switch process accounting on or off 6957 6958 Synopsis 6959 6960 #include 6961 6962 int acct(const char *filename); 6963 6964 Description 6965 6966 When filename is the name of an existing file, acct turns accounting on and 6967 appends a record to filename for each terminating process. When filename is 6968 NULL, acct turns accounting off. 6969 6970 Return Value 6971 6972 On success, 0 is returned. On error, -1 is returned and the global variable 6973 errno is set appropriately. 6974 6975 Errors 6976 6977 ENOSYS 6978 6979 BSD process accounting has not been enabled when the operating system 6980 kernel was compiled. The kernel configuration parameter controlling this 6981 feature is CONFIG_BSD_PROCESS_ACCT. 6982 6983 ENOMEM 6984 6985 Out of memory. 6986 6987 EPERM 6988 6989 The calling process has no permission to enable process accounting. 6990 6991 EACCES 6992 6993 filename is not a regular file. 6994 6995 EIO 6996 6997 Error writing to the filename. 6998 6999 EUSERS 7000 7001 There are no more free file structures or we run out of memory. 7002 7003 adjtime 7004 7005 Name 7006 7007 adjtime -- correct the time to allow synchronization of the system clock 7008 7009 Synopsis 7010 7011 #include 7012 7013 int adjtime((const struct timeval *delta), (struct timeval *olddelta)); 7014 7015 Description 7016 7017 adjtime makes small adjustments to the system time as returned by gettimeofday 7018 (2), advancing or retarding it by the time specified by the timeval delta. If 7019 delta is negative, the clock is slowed down by incrementing it more slowly than 7020 normal until the correction is complete. If delta is positive, a larger 7021 increment than normal is used. The skew used to perform the correction is 7022 generally a fraction of one percent. Thus, the time is always a monotonically 7023 increasing function. A time correction from an earlier call to adjtime may not 7024 be finished when adjtime is called again. If olddelta is non-NULL, the 7025 structure pointed to will contain, upon return, the number of microseconds 7026 still to be corrected from the earlier call. 7027 7028 adjtime may be used by time servers that synchronize the clocks of computers in 7029 a local area network. Such time servers would slow down the clocks of some 7030 machines and speed up the clocks of others to bring them to the average network 7031 time. 7032 7033 The adjtime is restricted to the super-user. 7034 7035 Return Value 7036 7037 On success, 0 is returned. On error, -1 is returned and the global variable 7038 errno is set appropriately. 7039 7040 Errors 7041 7042 EFAULT 7043 7044 An argument points outside the process's allocated address space. 7045 7046 EPERM 7047 7048 The process's effective user ID is not that of the super-user. 7049 7050 adjtimex 7051 7052 Name 7053 7054 adjtimex -- tune kernel clock (DEPRECATED) 7055 7056 Synopsis 7057 7058 #include 7059 7060 int adjtimex((struct timex *buf)); 7061 7062 Description 7063 7064 The adjtimex function is deprecated from the LSB and is expected to disappear 7065 from a future version of the LSB. [1] 7066 7067 Linux uses David L. Mills' clock adjustment algorithm (see RFC 1305). adjtimex 7068 reads and optionally sets adjustment parameters for this algorithm. adjtimex 7069 takes a pointer to a timex structure, updates kernel parameters from field 7070 values, and returns the same structure with current kernel values. This 7071 structure is declared as follows: 7072 7073 struct timex { 7074 int modes; /* mode selector */ 7075 long offset; /* time offset (usec) */ 7076 long freq; /* frequency offset (scaled ppm) */ 7077 long maxerror; /* maximum error (usec) */ 7078 long esterror; /* estimated error (usec) */ 7079 int status; /* clock command/status */ 7080 long constant; /* pll time constant */ 7081 long precision; /* clock precision (usec) (read only) */ 7082 long tolerance; /* clock frequency tolerance (ppm) 7083 (read only) */ 7084 struct timeval time; /* current time (read only) */ 7085 long tick; /* usecs between clock ticks */ 7086 }; 7087 7088 modes determines which parameters, if any, to set. modes may contain a 7089 bitwise-or combination of zero or more of the following bits: 7090 7091 #define ADJ_OFFSET 0x0001 /* time offset */ 7092 #define ADJ_FREQUENCY 0x0002 /* frequency offset */ 7093 #define ADJ_MAXERROR 0x0004 /* maximum time error */ 7094 #define ADJ_ESTERROR 0x0008 /* estimated time error */ 7095 #define ADJ_STATUS 0x0010 /* clock status */ 7096 #define ADJ_TIMECONST 0x0020 /* pll time constant */ 7097 #define ADJ_TICK 0x4000 /* tick value */ 7098 #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ 7099 7100 Ordinary users are restricted to a 0 value for modes. Only the superuser may 7101 set any parameters. 7102 7103 Return Value 7104 7105 On success, adjtimex returns the clock state: 7106 7107 #define TIME_OK 0 /* clock synchronized */ 7108 #define TIME_INS 1 /* insert leap second */ 7109 #define TIME_DEL 2 /* delete leap second */ 7110 #define TIME_OOP 3 /* leap second in progress */ 7111 #define TIME_WAIT 4 /* leap second has occurred */ 7112 #define TIME_BAD 5 /* clock not synchronized */ 7113 7114 On error, the global variable errno is set to -1. 7115 7116 Errors 7117 7118 EFAULT 7119 7120 buf does not point to writable memory. 7121 7122 EPERM 7123 7124 buf.mode is nonzero and the user is not super-user. 7125 7126 EINVAL 7127 7128 An attempt is made to set buf.offset to a value outside of the range 7129 -131071 to +131071, or to set buf.status to a value other than those listed 7130 above, or to set buf.tick to a value outside of the range 900000/HZ to 7131 1100000/HZ, where HZ is the system timer interrupt frequency. 7132 7133 asprintf 7134 7135 Name 7136 7137 asprintf -- write formatted output to a string dynamically allocated with 7138 malloc and store the address of the string 7139 7140 Synopsis 7141 7142 #include 7143 7144 extern int asprintf(char **restrict ptr, const char *restrict format ...); 7145 7146 Description 7147 7148 asprintf has the same behavior as sprintf, but calls malloc to dynamically 7149 allocate space for the output, and then puts the output string in that space. 7150 7151 asprintf stores the address of the string in ptr. 7152 7153 bind_textdomain_codeset 7154 7155 Name 7156 7157 bind_textdomain_codeset -- specify encoding for message retrieval from message 7158 catalog for domain DOMAINNAME 7159 7160 Synopsis 7161 7162 #include 7163 7164 extern char *bind_textdomain_codeset(const char *domainname, const char *codeset); 7165 7166 Description 7167 7168 The bind_textdomain_codeset function can be used to specify the output codeset 7169 for message catalogs for domain domainname. The codeset argument shall be a 7170 valid codeset name which can be used tor the iconv_open() funtion, or a null 7171 pointer. If the codeset argument is the null pointer, then function returns the 7172 currently selected codeset for the domain with the name domainname. It returns 7173 null pointer if no codeset has yet been selected 7174 7175 The bind_textdomain_codeset function can be used several times. If used 7176 multiple times, with the same domainname argument, the later call overrrides 7177 the settings made by the earlier one. 7178 7179 The bind_textdomain_codeset function returns a pointer to a string containing 7180 the name of the selected codeset. The string is allocated internally in the 7181 function and shall not be changed by the user. 7182 7183 Parameters 7184 7185 domainname 7186 7187 The domainname argument is applied to the currenlty active LC_MESSAGE 7188 locale. It is equivalent in syntax and meaning to the domainname argument 7189 to textdomain(), except that the selection of the domain is valid only for 7190 the duration of the call. 7191 7192 Return 7193 7194 Returns the currently selected codeset name. It returns null pointer if no 7195 codeset has yet been selected. 7196 7197 Errors 7198 7199 The function is not required to set the external errno variable. 7200 7201 See Also 7202 7203 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7204 bindtextdomain, bind_textdomain_codeset 7205 7206 bindresvport 7207 7208 Name 7209 7210 bindresvport -- bind socket to privileged IP port 7211 7212 Synopsis 7213 7214 #include 7215 #include 7216 7217 int bindresvport(int sd, struct sockaddr_in *sin); 7218 7219 Description 7220 7221 bindresvport binds a socket to a privileged IP port. This function can be used 7222 only by root. 7223 7224 Return Value 7225 7226 On success, 0 is returned. On error, -1 is returned and the global variable 7227 errno is set appropriately. 7228 7229 Errors 7230 7231 EPFNOSUPPORT 7232 7233 Address of sin did not match address family of sd. 7234 7235 bindtextdomain 7236 7237 Name 7238 7239 bindtextdomain -- specify the locale of a message catalog 7240 7241 Synopsis 7242 7243 #include 7244 7245 extern char *bindtextdomain(const char *domainname, const char *dirname); 7246 7247 Description 7248 7249 bindtextdomain specifies that the domainname message catalog can be found in 7250 the dirname directory hierarchy, rather than in the system locale data base. 7251 7252 bindtextdomain applies domainname to the currently active LC_MESSAGE locale. 7253 This usage is equivalent in syntax and meaning to the textdomain function's 7254 application of domainname, except that the selection of the domain in 7255 bind_textdomain_codeset is valid only for the duration of the call. 7256 7257 dirname can be an absolute or relative pathname. 7258 7259 On success, bindtextdomain returns the directory pathname currently bound to 7260 the domain. On failure, a NULL pointer is returned. 7261 7262 See Also 7263 7264 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7265 bindtextdomain, bind_textdomain_codeset 7266 7267 cfmakeraw 7268 7269 Name 7270 7271 cfmakeraw -- get and set terminal attributes 7272 7273 Synopsis 7274 7275 #include 7276 7277 void cfmakeraw(struct termios *termios_p); 7278 7279 Description 7280 7281 The cfmakeraw() function shall set the attributes of the termios structure 7282 referenced by termios_p as follows: 7283 7284 termios_p->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP 7285 |INLCR|IGNCR|ICRNL|IXON); 7286 7287 termios_p->c_oflag &= ~OPOST; 7288 7289 termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); 7290 7291 termios_p->c_cflag &= ~(CSIZE|PARENB); 7292 7293 termios_p->c_cflag |= CS8; 7294 7295 termios_p shall point to a termios structure that contains the following 7296 members: 7297 7298 tcflag_t c_iflag; /* input modes */ 7299 tcflag_t c_oflag; /* output modes */ 7300 tcflag_t c_cflag; /* control modes */ 7301 tcflag_t c_lflag; /* local modes */ 7302 cc_t c_cc[NCCS]; /* control chars */ 7303 7304 cfsetspeed 7305 7306 Name 7307 7308 cfsetspeed -- set terminal input and output data rate 7309 7310 Synopsis 7311 7312 #include 7313 7314 int cfsetspeed(struct termios *t, speedt speed); 7315 7316 Description 7317 7318 cfsetspeed sets the baud rate values in the termios structure. The effects of 7319 the function on the terminal as described below do not become effective, nor 7320 are all errors detected, until the tcsetattr function is called. Certain values 7321 for baud rates set in termios and passed to tcsetattr have special meanings. 7322 7323 Getting and Setting the Baud Rate 7324 7325 Input and output baud rates are found in the termios structure. The unsigned 7326 integer speed_t is typdef'd in the include file termios.h. The value of the 7327 integer corresponds directly to the baud rate being represented; however, the 7328 following symbolic values are defined. 7329 7330 #define B0 0 7331 #define B50 50 7332 #define B75 75 7333 #define B110 110 7334 #define B134 134 7335 #define B150 150 7336 #define B200 200 7337 #define B300 300 7338 #define B600 600 7339 #define B1200 1200 7340 #define B1800 1800 7341 #define B2400 2400 7342 #define B4800 4800 7343 #define B9600 9600 7344 #define B19200 19200 7345 #define B38400 38400 7346 #ifndef _POSIX_SOURCE 7347 #define EXTA 19200 7348 #define EXTB 38400 7349 #endif /*_POSIX_SOURCE */ 7350 7351 cfsetspeed sets both the input and output baud rates in the termios structure 7352 referenced by t to speed. 7353 7354 Return Value 7355 7356 On success, 0 is returned. On error, -1 is returned and the global variable 7357 errno is set appropriately. 7358 7359 Errors 7360 7361 EINVAL 7362 7363 Invalid speed argument 7364 7365 creat 7366 7367 Name 7368 7369 creat -- open a file 7370 7371 Description 7372 7373 creat is as specified in the Single UNIX Specification, but with differences as 7374 listed below. 7375 7376 May return ENODEV in place of ENXIO 7377 7378 Where the Single UNIX Specification specifies an ENXIO return, the 7379 implementation may return either ENXIO or ENODEV. Implementations are 7380 encouarged to return ENXIO. [2] 7381 7382 daemon 7383 7384 Name 7385 7386 daemon -- run in the background 7387 7388 Synopsis 7389 7390 #include 7391 7392 int daemon(int nochdir, int noclose); 7393 7394 Description 7395 7396 daemon allows programs to detach from the controlling terminal and run in the 7397 background as system daemons. Unless nochdir is nonzero, daemon changes the 7398 current working directory to the root (`/'). Unless noclose is non-zero, daemon 7399 will redirect standard input, standard output and standard error to /dev/null. 7400 7401 Return Value 7402 7403 On error, -1 is returned, and the global variable errno is set to any of the 7404 errors specified for the library functions fork(2) and setsid(2). 7405 7406 dcgettext 7407 7408 Name 7409 7410 dcgettext -- perform lookup in message catalog for the current LC_MESSAGES 7411 locale 7412 7413 Synopsis 7414 7415 #include 7416 #include 7417 7418 extern char *dcgettext(const char *domainname, const char *msgid, int 7419 category); 7420 7421 Description 7422 7423 dcgettext is a domain specified version of gettext. 7424 7425 Parameters 7426 7427 domainname 7428 7429 dcgettext applies domainname to the currently active LC_MESSAGE locale. 7430 This usage is equivalent in syntax and meaning to the textdomain function's 7431 application of domainname, except that the selection of the domain in 7432 dcgettext is valid only for the duration of the call. 7433 7434 msgid 7435 7436 a NULL-terminated string to be matched in the catalogue with respect to a 7437 specific domain and the current locale. 7438 7439 category 7440 7441 category is used for retrieving messages string for other than LC_MESSAGES 7442 category. Available value for category are LC_CTYPE, LC_COLLATE, 7443 LC_MESSAGES, LC_MONETARY,LC_NUMERIC, and LC_TIME. 7444 7445 dcgettext(domainname, msgid, LC_MESSAGES) has the same specification as 7446 dgettext(domainname, msgid). Note that LC_ALL shall not be used. 7447 7448 Return Value 7449 7450 On success, the translated NULL-terminated string is returned. On error, msgid 7451 is returned. 7452 7453 Errors 7454 7455 dcgettext will not modify the errno global variable. 7456 7457 See Also 7458 7459 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7460 bindtextdomain, bind_textdomain_codeset 7461 7462 dcngettext 7463 7464 Name 7465 7466 dcngettext -- perform lookup in message catalog for the current LC_MESSAGES 7467 locale 7468 7469 Synopsis 7470 7471 #include 7472 #include 7473 7474 extern char *dcngettext(const char *domainname, const char *msgid1, const char 7475 *msgid2, unsigned long int n, int category); 7476 7477 Description 7478 7479 dcngettext is a plural version of dcgettext. (See dcgettext for more 7480 information.) 7481 7482 Parameters 7483 7484 domainname 7485 7486 dcngettext applies domainname to the currently active LC_MESSAGE locale. 7487 This usage is equivalent in syntax and meaning to the textdomain function's 7488 application of domainname, except that the selection of the domain in 7489 dcngettext is valid only for the duration of the call. 7490 7491 msgid1 7492 7493 a NULL-terminated string to be matched in the catalogue with respect to a 7494 specific domain and the current locale. If the value of n is 1 and no 7495 message catalogs containing a translation for msgid1 are found, msgid1 is 7496 returned. 7497 7498 msgid2 7499 7500 a NULL-terminated string to be returned if the value of n is not 1 and no 7501 message catalogs are found. 7502 7503 n 7504 7505 determines which plural form is returned, in a language and message catalog 7506 dependent way. 7507 7508 category 7509 7510 category is used for retrieving messages string for other than LC_MESSAGES 7511 category. Available value for category are LC_CTYPE, LC_COLLATE, 7512 LC_MESSAGES, LC_MONETARY,LC_NUMERIC, and LC_TIME. 7513 7514 dcngettext(domainname, msgid1, msgid2, n, LC_MESSAGES) has the same 7515 specification as dngettext(domainname, msgid1, msgid2, n). Note that LC_ALL 7516 shall not be used. 7517 7518 Return Value 7519 7520 On success of a msgid1 query, the translated NULL-terminated string is 7521 returned. On error, the original msgid1 or msgid2 is returned, according to n. 7522 7523 Errors 7524 7525 dcngettext will not modify the errno global variable. 7526 7527 See Also 7528 7529 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7530 bindtextdomain, bind_textdomain_codeset 7531 7532 dgettext 7533 7534 Name 7535 7536 dgettext -- perform lookup in message catalog for the current LC_MESSAGES 7537 locale 7538 7539 Synopsis 7540 7541 #include 7542 7543 extern char *dgettext(const char *domainname, const char *msgid); 7544 7545 Description 7546 7547 dgettext is a domain specified version of gettext. 7548 7549 Parameters 7550 7551 domainname 7552 7553 dgettext applies domainname to the currently active LC_MESSAGE locale. This 7554 usage is equivalent in syntax and meaning to the textdomain function's 7555 application of domainname, except that the selection of the domain in 7556 dgettext is valid only for the duration of the call. 7557 7558 msgid 7559 7560 a NULL-terminated string to be matched in the catalogue with respect to a 7561 specific domain and the current locale. 7562 7563 Return Value 7564 7565 On success of a msgid query, the translated NULL-terminated string is returned. 7566 On error, the original msgid is returned. The length of the string returned is 7567 undetermined until dgettext is called. 7568 7569 Errors 7570 7571 dgettext will not modify the errno global variable. 7572 7573 See Also 7574 7575 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7576 bindtextdomain, bind_textdomain_codeset 7577 7578 dngettext 7579 7580 Name 7581 7582 dngettext -- perform lookup in message catalog for the current LC_MESSAGES 7583 locale 7584 7585 Synopsis 7586 7587 #include 7588 7589 extern char *dngettext(const char *domainname, const char *msgid1, const char 7590 *msgid2, unsigned long int n); 7591 7592 Description 7593 7594 dngettext is a plural version of dgettext. (See dgettext for more information.) 7595 7596 Parameters 7597 7598 domainname 7599 7600 dngettext applies domainname to the currently active LC_MESSAGE locale. 7601 This usage is equivalent in syntax and meaning to the textdomain function's 7602 application of domainname, except that the selection of the domain in 7603 dngettext is valid only for the duration of the call. 7604 7605 msgid1 7606 7607 a NULL-terminated string to be matched in the catalogue with respect to a 7608 specific domain and the current locale. If the value of n is 1 and no 7609 message catalogs containing a translation for msgid1 are found, msgid1 is 7610 returned. 7611 7612 msgid2 7613 7614 a NULL-terminated string to be returned if the value of n is not 1 and no 7615 message catalogs are found. 7616 7617 n 7618 7619 determines which plural form is returned, in a language and message catalog 7620 dependent way. 7621 7622 Return Value 7623 7624 On success of a msgid1 query, the translated NULL-terminated string is 7625 returned. On error, the original msgid1 or msgid2 is returned, according to n. 7626 7627 Errors 7628 7629 dcngettext will not modify the errno global variable. 7630 7631 See Also 7632 7633 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7634 bindtextdomain, bind_textdomain_codeset 7635 7636 err 7637 7638 Name 7639 7640 err -- display formatted error messages 7641 7642 Synopsis 7643 7644 #include 7645 7646 void err(int eval, const char *fmt ...); 7647 7648 Description 7649 7650 err displays a formatted error message on the standard error output. The last 7651 component of the program name, a colon character, and a space are output. If 7652 fmt is non-NULL, the formatted error message, a colon character, and a space 7653 are output. The error message string affiliated with the current value of the 7654 global variable errno is output. The output is followed by a newline character. 7655 7656 err does not return, but exits with the value of eval. 7657 7658 error 7659 7660 Name 7661 7662 error -- print error message 7663 7664 Synopsis 7665 7666 void error(int exitstatus, int errnum, const char *format ...); 7667 7668 Description 7669 7670 error prints a message to standard error. 7671 7672 error builds the message from the following elements in their specified order: 7673 7674 1. the program name. If the application has provided a function named 7675 error_print_progname, error calls this to supply the program name; 7676 otherwise, error uses the content of the global variable program_name. 7677 7678 2. the colon and space characters, then the result of using the printf-style 7679 format and the optional arguments. 7680 7681 3. if errnum is nonzero, error adds the colon and space characters, then the 7682 result of strerror(errnum). 7683 7684 4. a newline. 7685 7686 If exitstatus is nonzero, error calls exit(exitstatus). 7687 7688 errx 7689 7690 Name 7691 7692 errx -- format error messages 7693 7694 Synopsis 7695 7696 #include 7697 7698 void errx(int eval, const char *fmt ...); 7699 7700 Description 7701 7702 errx displays a formatted error message on the standard error output. The last 7703 component of the program name, a colon character, and a space are output. If 7704 fmt is non-NULL, the formatted error message, a colon character, and a space 7705 are output. The output is followed by a newline character. 7706 7707 errx does not return, but exits with the value of eval. 7708 7709 fcntl 7710 7711 Name 7712 7713 fcntl -- file control 7714 7715 Description 7716 7717 fcntl is as specified in the Single UNIX Specification, Version 3, but with 7718 differences as listed below. 7719 7720 Implementation may set O_LARGEFILE 7721 7722 According to the Single UNIX Specification, only an application sets fcntl 7723 flags, for example O_LARGEFILE. However, this specification also allows 7724 implementations to set O_LARGEFILE in a case in which the default behavior 7725 matches the O_LARGEFILE behavior. [3] Or in other words, calling fcntl with the 7726 F_GETFL command may return O_LARGEFILE as well as flags explicitly set by the 7727 application. 7728 7729 fflush_unlocked 7730 7731 Name 7732 7733 fflush_unlocked -- non thread safe fflush 7734 7735 Description 7736 7737 fflush_unlocked is the same as fflush except that it need not be thread safe. 7738 That is, it may only be invoked in the ways which are legal for getc_unlocked. 7739 7740 fgetwc_unlocked 7741 7742 Name 7743 7744 fgetwc_unlocked -- non thread safe fgetwc 7745 7746 Description 7747 7748 fgetwc_unlocked is the same as fgetwc except that it need not be thread safe. 7749 That is, it may only be invoked in the ways which are legal for getc_unlocked. 7750 7751 flock 7752 7753 Name 7754 7755 flock -- apply or remove an advisory lock on an open file 7756 7757 Synopsis 7758 7759 int flock(int fd, int operation); 7760 7761 Description 7762 7763 flock applies or removes an advisory lock on the open file fd. Valid operation 7764 types are: 7765 7766 LOCK_SH 7767 7768 Shared lock. More than one process may hold a shared lock for a given file 7769 at a given time. 7770 7771 LOCK_EX 7772 7773 Exclusive lock. Only one process may hold an exclusive lock for a given 7774 file at a given time. 7775 7776 LOCK_UN 7777 7778 Unlock. 7779 7780 LOCK_NB 7781 7782 Don't block when locking. May be specified (by oring) along with one of the 7783 other operations. 7784 7785 A single file may not simultaneously have both shared and exclusive locks. 7786 7787 Return Value 7788 7789 On success, 0 is returned. On error, -1 is returned and the global variable 7790 errno is set appropriately. 7791 7792 Errors 7793 7794 EWOULDBLOCK 7795 7796 The file is locked and the LOCK_NB flag was selected. 7797 7798 fopen 7799 7800 Name 7801 7802 fopen -- open a file 7803 7804 Description 7805 7806 fopen is as specified in the Single UNIX Specification, but with differences as 7807 listed below. 7808 7809 May return ENODEV in place of ENXIO 7810 7811 Where the Single UNIX Specification specifies an ENXIO return, the 7812 implementation may return either ENXIO or ENODEV. Implementations are 7813 encouarged to return ENXIO. [4] 7814 7815 freopen 7816 7817 Name 7818 7819 freopen -- open a file 7820 7821 Description 7822 7823 freopen is as specified in the Single UNIX Specification, but with differences 7824 as listed below. 7825 7826 May return ENODEV in place of ENXIO 7827 7828 Where the Single UNIX Specification specifies an ENXIO return, the 7829 implementation may return either ENXIO or ENODEV. Implementations are 7830 encouarged to return ENXIO. [5] 7831 7832 getdomainname 7833 7834 Name 7835 7836 getdomainname -- get NIS domain name. 7837 7838 Synopsis 7839 7840 #include 7841 7842 extern int getdomainname(char *name, size_t namelen); 7843 7844 Description 7845 7846 If NIS is in use, provide the NIS domain name. Note that this is not the same 7847 as the domain name which provides the domain portion of a fully qualified 7848 domain name (for example, in DNS). If NIS is not in use, provide the string " 7849 (none)". 7850 7851 If the string which is provided is strictly less than namelen characters in 7852 length, getdomainname places it in the array pointed to by name followed by a 7853 terminating null character. If not, getdomainname may either truncate it to 7854 namelen characters and place it in name (without a terminating null character), 7855 or may fail with EINVAL. 7856 7857 Return Value 7858 7859 getdomainname returns 0 if successful; -1 if not (in which case errno is set to 7860 indicate the error). 7861 7862 gethostbyname_r 7863 7864 Name 7865 7866 gethostbyname_r -- find network host database entry matching host name 7867 (DEPRECATED) 7868 7869 Synopsis 7870 7871 extern int gethostbyname_r(__const char *__restrict __name, (struct hostent 7872 *__restrict __result_buf), char *__restrict __buf, size_t __buflen, (struct 7873 hostent **__restrict __result), int *__restrict __h_errnop); 7874 7875 Description 7876 7877 The gethostbyname_r function is deprecated; applications should call 7878 getaddrinfo instead. 7879 7880 gethostbyname_r is a reentrant version of gethostbyname that searches the 7881 network host database for a host name match. 7882 7883 getloadavg 7884 7885 Name 7886 7887 getloadavg -- get system load averages 7888 7889 Synopsis 7890 7891 #include 7892 7893 int getloadavg(double loadavg[], int nelem); 7894 7895 Description 7896 7897 getloadavg returns the number of processes in the system run queue averaged 7898 over various periods of time. Up to nelem samples are retrieved and assigned to 7899 successive elements of loadavg[]. The system imposes a maximum of 3 samples, 7900 representing averages over the last 1, 5, and 15 minutes, respectively. 7901 7902 getopt 7903 7904 Name 7905 7906 getopt -- parse command line options 7907 7908 Synopsis 7909 7910 int getopt(int argc, char * const argv[], const char *opstring); 7911 7912 extern char *optarg; 7913 extern int optind, opterr, optopt; 7914 7915 Description 7916 7917 getopt parses command line arguments. GNU and POSIX specifications for this 7918 function vary in the following areas. LSB systems shall implement the GNU 7919 behaviors described below. 7920 7921 Option Characteristics 7922 7923 GNU specifies that: 7924 7925 * an element of argv that starts with "-" (and is not exactly "-" or "--") is 7926 an option element. 7927 7928 * characters of an option element, aside from the initial "-", are option 7929 characters. 7930 7931 POSIX specifies that: 7932 7933 * applications using getopt shall obey the following syntax guidelines: 7934 7935 + option name is a single alphanumeric character from the portable 7936 character set 7937 7938 + option is preceded by the "-" delimiter character 7939 7940 + options without option-arguments should be accepted when grouped behind 7941 one "-" delimiter 7942 7943 + each option and option-argument is a separate argument 7944 7945 + option-arguments are not optional 7946 7947 + all options should precede operands on the command line 7948 7949 + the argument "--" is accepted as a delimiter indicating the end of 7950 options and the consideration of subsequent arguments, if any, as 7951 operands 7952 7953 * historical implementations of getopt support other characters as options as 7954 an allowed extension, but applications that use extensions are not 7955 maximally portable. 7956 7957 * support for multi-byte option characters is only possible when such 7958 characters can be represented as type int. 7959 7960 * applications that call any utility with a first operand starting with "-" 7961 should usually specify "--" to mark the end of the options. Standard 7962 utilities that do not support this guideline indicate that fact in the 7963 OPTIONS section of the utility description. 7964 7965 Extensions 7966 7967 GNU specifies that: 7968 7969 * if a character is followed by two colons, the option takes an optional arg; 7970 if there is text in the current argv element, it is returned in optarg, 7971 otherwise optarg is set to 0. 7972 7973 * if optstring contains W followed by a ;, then -W foo is treated as the long 7974 option --foo. (Not available with libraries before GNU libc 2.) 7975 7976 POSIX specifies that: 7977 7978 * the -W option is reserved for implementation extensions. 7979 7980 Return Values 7981 7982 GNU specifies the following getopt return values: 7983 7984 * the next option character is returned, if found successfully. 7985 7986 * ":" is returned if a parameter is missing for one of the options. 7987 7988 * "?" is returned if an unknown option character is encountered. 7989 7990 * -1 is returned for the end of the option list. 7991 7992 POSIX specifies the following getopt return values: 7993 7994 * the next option character is returned, if found successfully. 7995 7996 * ":" is returned if a parameter is missing for one of the options and the 7997 first character of opstring is ":". 7998 7999 * "?" is returned if an unknown option character not in optstring is 8000 encountered, or if getopt detects a missing argument and the first 8001 character of optstring is not ":". 8002 8003 * -1 is returned for the end of the option list. 8004 8005 Environment Variables 8006 8007 GNU specifies that: 8008 8009 * if the variable POSIXLY_CORRECT is set, option processing stops as soon as 8010 a non-option argument is encountered. 8011 8012 * if POSIXLY_CORRECT is set, GNU getopt conforms to ISO/IEC 9945:2003 8013 Portable Operating System(POSIX)and The Single UNIX Specification(SUS) V3. 8014 8015 * the variable _[PID]_GNU_nonoption_argv_flags_ was used by bash 2.0 to 8016 communicate to GNU libc which arguments resulted from wildcard expansion 8017 and so should not be considered as options. This behavior was removed in 8018 bash version 2.01, but the support remains in GNU libc. 8019 8020 getopt_long 8021 8022 Name 8023 8024 getopt_long -- parse command line options 8025 8026 Synopsis 8027 8028 #define _GNU_SOURCE 8029 #include 8030 8031 int getopt_long(int argc, char * const argv[], const char *opstring, (const 8032 struct option *longopts), int *longindex); 8033 8034 Description 8035 8036 getopt_long works like getopt except that it also accepts long options, started 8037 out by two dashes. Long option names may be abbreviated if the abbreviation is 8038 unique or is an exact match for some defined option. A long option may take a 8039 parameter, of the form --arg=param or --arg param. 8040 8041 longopts is a pointer to the first element of an array of struct option 8042 declared in getopt.h as: 8043 8044 struct option { 8045 const char *name; 8046 int *flag; 8047 int has_arg; 8048 int val; 8049 }; 8050 8051 Return Value 8052 8053 getopt_long returns the option character if the option was found successfully, 8054 or ":" if there was a missing parameter for one of the options, or "?" for an 8055 unknown option character, or -1 for the end of the option list. 8056 8057 getopt_long also returns the option character when a short option is 8058 recognized. For a long option, they return val if flag is NULL, and 0 8059 otherwise. Error and -1 returns are the same as for getopt, plus "?" for an 8060 ambiguous match or an extraneous parameter. 8061 8062 getopt_long_only 8063 8064 Name 8065 8066 getopt_long_only -- parse command line options 8067 8068 Synopsis 8069 8070 #define _GNU_SOURCE 8071 #include 8072 8073 int getopt_long_only(int argc, char * const argv[], const char *opstring, 8074 (const struct option *longopts), int *longindex); 8075 8076 Description 8077 8078 getopt_long_only is like getopt_long, but "-" as well as "--" can indicate a 8079 long option. If an option that starts with "-" (not "--") doesn't match a long 8080 option, but does match a short option, it is parsed as a short option instead. 8081 8082 Return Value 8083 8084 getopt_long_only returns the option character if the option was found 8085 successfully, or ":" if there was a missing parameter for one of the options, 8086 or "?" for an unknown option character, or -1 for the end of the option list. 8087 8088 getopt_long_only also returns the option character when a short option is 8089 recognized. For a long option, they return val if flag is NULL, and 0 8090 otherwise. Error and -1 returns are the same as for getopt, plus "?" for an 8091 ambiguous match or an extraneous parameter. 8092 8093 gettext 8094 8095 Name 8096 8097 gettext -- perform lookup in message catalog for the current LC_MESSAGES locale 8098 8099 Synopsis 8100 8101 #include 8102 8103 extern char *gettext(const char *msgid); 8104 8105 Description 8106 8107 gettext attempts to retrieve a target string based on the specified key from 8108 msgid within the context of a specific domain and the current locale. 8109 8110 The LANGUAGE environment variable is examined first to determine the message 8111 catalogs to be used. LANGUAGE is a list of locale names separated by ":" 8112 character. If LANGUAGE is defined, each locale name is tried in the specified 8113 order and if a message catalog containing the requested message is found, the 8114 message is returned. If LANGUAGE is defined but failed to locate a message 8115 catalog, the msgid string is returned. If LANGUAGE is not defined, the LC_ALL, 8116 LC_xxx, and LANG environment variables are examined to locate the message 8117 catalog, following the convention used by the setlocale function. 8118 8119 The pathname used to locate the message catalog is dirname/locale/category/ 8120 domainname.mo, where dirname is the directory specified by the bindtextdomain 8121 function, locale is a locale name determined by the definition of environment 8122 variables, and category is LC_MESSAGES. 8123 8124 If the LC_MESSAGES locale category of the current locale is the standard C 8125 locale or the standard POSIX locale, gettext returns msgid without looking in 8126 any message catalog. 8127 8128 Parameters 8129 8130 msgid 8131 8132 A NULL-terminated string to be matched in the catalogue with respect to a 8133 specific domain and the current locale. 8134 8135 Return Value 8136 8137 If the function query above succeeds with msgid, then a translated 8138 NULL-terminated string is returned. If the search fails, then the original 8139 msgid is returned. The length of the string returned is undetermined until the 8140 function is called. 8141 8142 Errors 8143 8144 gettext does not modify the global variable errno. 8145 8146 See Also 8147 8148 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 8149 bindtextdomain, bind_textdomain_codeset 8150 8151 getutent 8152 8153 Name 8154 8155 getutent -- access utmp file entries 8156 8157 Synopsis 8158 8159 #include 8160 8161 struct utmp *getutent(void); 8162 8163 Description 8164 8165 getutent reads a line from the current file position in the utmp file. It 8166 returns a pointer to a structure containing the fields of the line. 8167 8168 Return Value 8169 8170 getutent returns a pointer to a static struct utmp. 8171 8172 Errors 8173 8174 On error, (struct utmp*)0 is returned. 8175 8176 Files 8177 8178 /var/run/utmp database of currently logged-in users 8179 8180 /var/log/wtmp database of past user logins 8181 8182 getutent_r 8183 8184 Name 8185 8186 getutent_r -- access utmp file entries 8187 8188 Synopsis 8189 8190 extern int getutent_r((struct utmp *__buffer), (struct utmp **__result)); 8191 8192 Description 8193 8194 getutent_r is a reentrant version of the getutent utmp file handler. 8195 8196 glob64 8197 8198 Name 8199 8200 glob64 -- find pathnames matching a pattern (Large File Support) 8201 8202 Synopsis 8203 8204 #include 8205 8206 int glob64(const char *pattern, int flags, int (*errfunc) (const char *, int), 8207 glob64_t *pglob); 8208 8209 Description 8210 8211 glob64 searches for all the pathnames matching pattern according to the rules 8212 used by the shell. (See glob(7).) No tilde expansion or parameter substitution 8213 is done; if you want these, use wordexp(3). 8214 8215 The results of a glob64 call are stored in the structure pointed to by pglob, 8216 which is a glob64_t declared in glob.h and includes the following elements 8217 defined by POSIX.2 (more may be present as an extension): 8218 8219 glob64 is a 64-bit version of glob. 8220 8221 Return Value 8222 8223 On success, 0 is returned. Other possible returns are: 8224 8225 GLOB_NOSPACE 8226 8227 out of memory 8228 8229 GLOB_ABORTED 8230 8231 read error 8232 8233 GLOB_NOMATCH 8234 8235 no match found 8236 8237 globfree64 8238 8239 Name 8240 8241 globfree64 -- free memory from glob64() (Large File Support) 8242 8243 Synopsis 8244 8245 #include 8246 8247 void globfree64(glob64_t *pglob); 8248 8249 Description 8250 8251 globfree64 frees the dynamically allocated storage from an earlier call to 8252 glob64. 8253 8254 globfree64 is a 64-bit version of globfree. 8255 8256 initgroups 8257 8258 Name 8259 8260 initgroups -- initialize the supplementary group access list 8261 8262 Synopsis 8263 8264 #include 8265 #include 8266 8267 int initgroups(const char *user, gid_t group); 8268 8269 Description 8270 8271 initgroups initializes the group access list by reading the group database and 8272 using all groups of which user is a member. The additional group group is also 8273 added to the list. 8274 8275 Return Value 8276 8277 On success, 0 is returned. On error, -1 is returned and the global variable 8278 errno is set appropriately. 8279 8280 Errors 8281 8282 EPERM 8283 8284 The calling process does not have sufficient privileges. 8285 8286 ENOMEM 8287 8288 Insufficient memory to allocate group information structure. 8289 8290 ioctl 8291 8292 Name 8293 8294 ioctl -- control device 8295 8296 Synopsis 8297 8298 #include 8299 8300 int ioctl (int d , int request , ... ); 8301 8302 Description 8303 8304 The ioctl() function shall manipulate the underlying device parameters of 8305 special files. d shall be an open file descriptor referring to a special file. 8306 The ioctl() function shall take three parameters; the type and value of the 8307 third parameter is dependent on the device and request. 8308 8309 An application may not call ioctl except for situations explicitly stated in 8310 this specification. 8311 8312 Return Value 8313 8314 On success, 0 is returned. An ioctl may use the return value as an output 8315 parameter and return a non-negative value on success. On error, -1 is returned 8316 and the global variable errno is set appropriately. 8317 8318 Errors 8319 8320 EBADF 8321 8322 d is not a valid descriptor. 8323 8324 EFAULT 8325 8326 The third parameter references an inaccessible memory area. 8327 8328 ENOTTY 8329 8330 d is not associated with a character special device. 8331 8332 ENOTTY 8333 8334 The specified request does not apply to the kind of object that d 8335 references. 8336 8337 EINVAL 8338 8339 request or the third parameter is not valid. 8340 8341 sockio 8342 8343 Name 8344 8345 sockio -- socket ioctl commands 8346 8347 Synopsis 8348 8349 #include 8350 #include 8351 #include 8352 8353 int ioctl(int sockfd, int request, char *argp); 8354 8355 Description 8356 8357 Socket ioctl commands are a subset of the ioctl calls, which can perform a 8358 variety of functions on sockets. sockfd shall contain the value of a file 8359 descriptor that was created with the socket or accept calls. 8360 8361 Socket ioctl commands apply to the underlying network interfaces, and affect 8362 the entire system, not just the file descriptor used to issue the ioctl. 8363 8364 The following ioctls are provided: 8365 8366 SIOCGIFCONF 8367 8368 Gets the interface configuration list for the system. [6] argp is a pointer 8369 to a ifconf structure. Before calling, the caller shall allocate the 8370 ifc_ifcu.ifcu_req field to point to an array of ifreq structures, and set 8371 if_len to the size of this allocated array (in bytes). Upon return, if_len 8372 will contain the amount of the array which was actually used (again, in 8373 bytes). If it is the same as the length upon calling, the caller should 8374 assume that the array was too small and try again with a larger array. 8375 8376 On success, SIOCGIFCONF can return any nonnegative value. [7] 8377 8378 SIOCGIFFLAGS 8379 8380 Gets the interface flags for the indicated interface. argp is a pointer to 8381 a ifreq structure. Before calling, the caller should fill in the ifr_name 8382 field with the interface name, and upon return, the ifr_ifru.ifru_flags 8383 field is set with the interface flags. 8384 8385 SIOCGIFADDR 8386 8387 Gets the interface address list for the system. argp is a pointer to a 8388 ifreq structure. Before calling, the caller should fill in the ifr_name 8389 field with the interface name, and upon return, the ifr_ifru.ifru_addr 8390 field is set with the interface address. 8391 8392 SIOCGIFNETMASK 8393 8394 Gets the network mask for the indicated interface. argp is a pointer to a 8395 ifreq structure. Before calling, the caller should fill in the ifr_name 8396 field with the interface name, and upon return, the ifr_ifru.ifru_netmask 8397 field is set with the network mask. 8398 8399 FIONREAD 8400 8401 Returns the amount of queued unread data in the receive buffer. Argument is 8402 a pointer to an integer where the result is to be placed. 8403 8404 The sockaddr structure is as specified in the Single UNIX Specification. 8405 8406 Return Value 8407 8408 On success, 0 is returned. On error, -1 is returned and the global variable 8409 errno is set appropriately. 8410 8411 Errors 8412 8413 EBADF 8414 8415 sockfd is not a valid descriptor. 8416 8417 EFAULT 8418 8419 argp references an inaccessible memory area. 8420 8421 ENOTTY 8422 8423 sockfd is not associated with a character special device. 8424 8425 ENOTTY 8426 8427 The specified request does not apply to the kind of object that the 8428 descriptor sockfd references. 8429 8430 EINVAL 8431 8432 request and argp are not valid. 8433 8434 ENOTCONN 8435 8436 The operation is only defined on a connected socket, but the socket wasn't 8437 connected. 8438 8439 iswctype 8440 8441 Name 8442 8443 iswctype -- wide character classification 8444 8445 Synopsis 8446 8447 #include 8448 8449 int iswctype(wint_t wc, wctype_t desc); 8450 8451 Description 8452 8453 iswctype tests wc to determine if it is a wide character whose property is 8454 designated by the character class desc. 8455 8456 desc shall be a character property descriptor returned by the wctype function. 8457 8458 Return Value 8459 8460 If wc belongs to the character class desc, a nonzero value is returned. 8461 Otherwise, 0 is returned. 8462 8463 Note that if wc is WEOF, 0 is returned. 8464 8465 Notes 8466 8467 The behavior of iswctype depends on the LC_CTYPE category of the current 8468 locale. 8469 8470 kill 8471 8472 Name 8473 8474 kill -- send a signal 8475 8476 Synopsis 8477 8478 int kill(pid_t pid, int sig); 8479 8480 Description 8481 8482 kill is as specified in the Single UNIX Specification, Version 2, but with 8483 differences as listed below. 8484 8485 Process ID -1 doesn't affect calling process 8486 8487 If pid is specified as -1, sig shall not be sent to the calling process. [8] 8488 Other than this, the rules in the Single UNIX Specification, Version 2 apply. 8489 8490 mbsnrtowcs 8491 8492 Name 8493 8494 mbsnrtowcs -- convert a multibyte string to a wide character string 8495 8496 Synopsis 8497 8498 #include 8499 8500 size_t mbsnrtowcs(wchar_t *dest, const char **src, size_t nms, size_t len, 8501 mbstate_t *ps); 8502 8503 Description 8504 8505 mbsnrtowcs is like mbsrtowcs, except that the number of bytes to be converted, 8506 starting at src, is limited to nms. 8507 8508 If dest is not a NULL pointer, mbsnrtowcs converts at most nms bytes from the 8509 multibyte string src to a wide-character string starting at dest. At most, len 8510 wide characters are written to dest. The state ps is updated. 8511 8512 The conversion is effectively performed by repeatedly calling: 8513 8514 8515 mbrtowc(dest, *src, n, ps) 8516 8517 where n is some positive number, as long as this call succeeds, and then 8518 incrementing dest by one and src by the number of bytes consumed. 8519 8520 The conversion can stop for three reasons: 8521 8522 * An invalid multibyte sequence has been encountered. In this case src is 8523 left pointing to the invalid multibyte sequence, (size_t)(-1) is returned, 8524 and errno is set to EILSEQ. 8525 8526 * The nms limit forces a stop, or len non-L'\0' wide characters have been 8527 stored at dest. In this case, src is left pointing to the next multibyte 8528 sequence to be converted, and the number of wide characters written to dest 8529 is returned. 8530 8531 * The multibyte string has been completely converted, including the 8532 terminating '\0' (which has the side effect of bringing back ps to the 8533 initial state). In this case, src is set to NULL, and the number of wide 8534 characters written to dest, excluding the terminating L'\0' character, is 8535 returned. 8536 8537 If dest is NULL, len is ignored, and the conversion proceeds as above, except 8538 that the converted wide characters are not written out to memory, and that no 8539 destination length limit exists. 8540 8541 In both of the above cases, if ps is a NULL pointer, a static anonymous state 8542 only known to mbsnrtowcs is used instead. 8543 8544 The programmer shall ensure that there is room for at least len wide characters 8545 at dest. 8546 8547 Return Value 8548 8549 mbsnrtowcs returns the number of wide characters that make up the converted 8550 part of the wide character string, not including the terminating null wide 8551 character. If an invalid multibyte sequence was encountered, (size_t)(-1) is 8552 returned, and the global variable errno is set to EILSEQ. 8553 8554 Notes 8555 8556 The behavior of mbsnrtowcs depends on the LC_CTYPE category of the current 8557 locale. 8558 8559 Passing NULL as ps is not multi-thread safe. 8560 8561 memmem 8562 8563 Name 8564 8565 memmem -- locate a substring 8566 8567 Synopsis 8568 8569 #define _GNU_SOURCE 8570 #include 8571 8572 void *memmem(const void *haystack, size_t haystacklen, const void *needle, 8573 size_t needlelen); 8574 8575 Description 8576 8577 memmem finds the start of the first occurrence of the substring needle of 8578 length needlelen in the memory area haystack of length haystacklen. 8579 8580 Return Value 8581 8582 memmem returns a pointer to the beginning of the substring, or NULL if the 8583 substring is not found. 8584 8585 Notes 8586 8587 memmem was broken in Linux libraries up to and including libc 5.0.9; there the 8588 needle and haystack arguments were interchanged, and a pointer to the end of 8589 the first occurrence of needle was returned. Since libc 5.0.9 is still widely 8590 used, this is a dangerous function to use. 8591 8592 Both old and new libc's have the bug that if needle is empty, haystack-1 is 8593 returned (instead of haystack). And glibc 2.0 makes it worse, returning a 8594 pointer to the last byte of haystack. This is fixed in glibc 2.1. 8595 8596 memrchr 8597 8598 Name 8599 8600 memrchr -- scan memory for a character 8601 8602 Synopsis 8603 8604 #include 8605 8606 void *memrchr(const void *s, int c, size_t n); 8607 8608 Description 8609 8610 memrchr returns a pointer to the last occurrence of c in the first n characters 8611 of the string represented by s. 8612 8613 ngettext 8614 8615 Name 8616 8617 ngettext -- perform lookup in message catalog for the current LC_MESSAGES 8618 locale 8619 8620 Synopsis 8621 8622 #include 8623 8624 extern char *ngettext(const char *msgid1, const char *msgid2, unsigned long int 8625 n); 8626 8627 Description 8628 8629 ngettext is the plural version of gettext, which searches for the message 8630 string using the msgid1 arguments as the key, using the argument n to determine 8631 the plural form. If no message catalogs containing a translation for msgid1 are 8632 found, msgid1 is returned if n == 1, otherwise, msgid2 is returned. (See 8633 gettext for more details.) 8634 8635 Parameters 8636 8637 msgid1 8638 8639 A NULL-terminated string to be matched in the catalogue with respect to a 8640 specific domain and the current locale. If no message catalogs are found, 8641 msgid1 is returned if n == 1. 8642 8643 msgid2 8644 8645 A NULL-terminated string to be returned if no message catalogs are found 8646 and n != 1. 8647 8648 n 8649 8650 Determines in which plural form a message string is returned, in a language 8651 and message catalog dependent way. 8652 8653 Return 8654 8655 If the function query above succeeds with msgid1, then a translated 8656 NULL-terminated string is returned. If the search fails, then the original 8657 msgid1 or msgid2 is returned, according to n. 8658 8659 Errors 8660 8661 ngettext will not modify the errno global variable. 8662 8663 See Also 8664 8665 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 8666 bindtextdomain, bind_textdomain_codeset 8667 8668 obstack_free 8669 8670 Name 8671 8672 obstack_free -- free an object in the obstack 8673 8674 Synopsis 8675 8676 #include 8677 8678 void obstack_free((struct obstack *obstack), void *block); 8679 8680 Description 8681 8682 obstack_free frees an object in the obstack. 8683 8684 open 8685 8686 Name 8687 8688 open -- open a file 8689 8690 Description 8691 8692 open is as specified in ISO/IEC 9945:2003 Portable Operating System(POSIX)and 8693 The Single UNIX Specification(SUS) V3, but with differences as listed below. 8694 8695 May return ENODEV in place of ENXIO 8696 8697 Where ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 8698 Specification(SUS) V3 specifies an ENXIO return, a conforming implementation 8699 may return either ENXIO or ENODEV. Implementations are encouarged to return 8700 ENXIO. [9] 8701 8702 opterr 8703 8704 Name 8705 8706 opterr -- external variable used in getopt() 8707 8708 Synopsis 8709 8710 extern int opterr; 8711 8712 Description 8713 8714 opterr is used as a flag to suppress an error message generated by getopt. When 8715 opterr is set to 0, it suppresses the error message generated by getopt when 8716 that function does not recognize an option character. 8717 8718 optind 8719 8720 Name 8721 8722 optind -- external variable used in getopt() 8723 8724 Synopsis 8725 8726 extern int optind; 8727 8728 Description 8729 8730 optind holds the current index of the array argr[], which contains the command 8731 line options being parsed by getopt. 8732 8733 optopt 8734 8735 Name 8736 8737 optopt -- external variable used in getopt() 8738 8739 Synopsis 8740 8741 extern int optopt; 8742 8743 Description 8744 8745 optopt holds the unknown option character when that option character is not 8746 recognized by getopt. 8747 8748 pmap_getport 8749 8750 Name 8751 8752 pmap_getport -- Returns the port number on which a service is waiting for. 8753 8754 Synopsis 8755 8756 #include 8757 8758 extern u_short *pmap_getport(struct sockaddr_in *address, __const u_long 8759 program, __const u_long *version, u_int protocol); 8760 8761 Description 8762 8763 pmap_getport returns the port number on which a service is waiting for. 8764 pmap_getport is called given the RPC program number program, version, and the 8765 transport protocol set to either IPPROTO_UDP or IPPROTO_TCP. The pre-allocated 8766 socket address is a returned parameter. 8767 8768 Return Value 8769 8770 pmap_getport returns 0 if the mapping does not exist or if contact to the 8771 remote portmap service failed. If the remote portmap service could not be 8772 reached, the status is left in the global variable rpc_createerr. 8773 8774 pmap_set 8775 8776 Name 8777 8778 pmap_set -- Establishes mapping to machine's portmap service. 8779 8780 Synopsis 8781 8782 #include 8783 8784 *pmap_set(__const u_long program, __const u_long version, int protocol, u_short 8785 port); 8786 8787 Description 8788 8789 pmap_set establishes a mapping between the triple [program,version,protocol] 8790 and port on the machine's portmap service. The value of protocol is most likely 8791 IPPROTO_UDP or IPPROTO_TCP. Automatically done by svc_register. 8792 8793 Return Value 8794 8795 pmap_set returns 1 if it suceeds, 0 otherwise. 8796 8797 pmap_unset 8798 8799 Name 8800 8801 pmap_unset -- Destroys all mapping between the triple and ports. 8802 8803 Synopsis 8804 8805 #include 8806 8807 void pmap_unset(u_long prognum, u_long versnum); 8808 8809 Description 8810 8811 As a user interface to the portmap service, pmap_unset destroys all mapping 8812 between the triple [prognum,versnum, *] and ports on the machine's portmap 8813 service. 8814 8815 Return Value 8816 8817 pmap_unset returns 1 if it succeeds, zero otherwise. 8818 8819 psignal 8820 8821 Name 8822 8823 psignal -- print signal message 8824 8825 Synopsis 8826 8827 #include 8828 8829 void psignal(int sig, const char *s); 8830 8831 extern const char *const sys_siglist[] 8832 8833 Description 8834 8835 psignal displays a message on stderr consisting of the string s, a colon, a 8836 space, and a string describing the signal number sig. If sig is invalid, the 8837 message displayed will indicate an unknown signal. 8838 8839 The array sys_siglist holds the signal description strings indexed by signal 8840 number. 8841 8842 Return Value 8843 8844 psignal returns no value. 8845 8846 random_r 8847 8848 Name 8849 8850 random_r -- generate random number 8851 8852 Synopsis 8853 8854 extern int random_r((struct random_data *__restrict __buf), int32_t *__restrict 8855 __result); 8856 8857 Description 8858 8859 random_r is a reentrant version of random, which generates a pseudorandom 8860 number. 8861 8862 setbuffer 8863 8864 Name 8865 8866 setbuffer -- stream buffering operation 8867 8868 Synopsis 8869 8870 #include 8871 8872 void setbuffer(FILE *stream, char *buf, size_t size); 8873 8874 Description 8875 8876 setbuffer is an alias for the call to setvbuf. It works the same, except that 8877 the size of the buffer in setbuffer is up to the caller, rather than being 8878 determined by the default BUFSIZ. 8879 8880 setdomainname 8881 8882 Name 8883 8884 setdomainname -- set NIS domain name. 8885 8886 Synopsis 8887 8888 #include 8889 8890 extern int setdomainname(char *name, size_t namelen); 8891 8892 Description 8893 8894 If NIS is in use, set the NIS domain name. Note that this is not the same as 8895 the domain name which provides the domain portion of a fully qualified domain 8896 name (for example, in DNS). If NIS is not in use, this function may set the 8897 domain name anyway, or it may fail. 8898 8899 This call shall fail unless the caller has appropriate privileges. 8900 8901 namelen shall be the length of the string pointed to by name. 8902 8903 Return Value 8904 8905 setdomainname returns 0 if successful; -1 if not (in which case errno is set to 8906 indicate the error). 8907 8908 setgroups 8909 8910 Name 8911 8912 setgroups -- set list of supplementary group IDs 8913 8914 Synopsis 8915 8916 #include 8917 8918 int setgroups(size_t size, const gid_t *list); 8919 8920 Description 8921 8922 setgroups sets the supplementary groups for the process. Only the super-user 8923 may use this function. 8924 8925 Return Value 8926 8927 On success, 0 is returned. On error, -1 is returned and the global variable 8928 errno is set appropriately. 8929 8930 Errors 8931 8932 EFAULT 8933 8934 list has an invalid address. 8935 8936 EPERM 8937 8938 The user is not the super-user. 8939 8940 EINVA 8941 8942 size is greater than NGROUPS (32 for Linux 2.0.32). 8943 8944 sethostid 8945 8946 Name 8947 8948 sethostid -- set the unique identifier of the current host 8949 8950 Synopsis 8951 8952 #include 8953 8954 int sethostid(long int hostid); 8955 8956 Description 8957 8958 sethostid sets a unique 32-bit identifier for the current machine. The 32-bit 8959 identifier is intended to be unique among all UNIX systems in existence. This 8960 normally resembles the Internet address for the local machine as returned by 8961 gethostbyname(3), and thus usually never needs to be set. 8962 8963 The sethostid call is restricted to the superuser. 8964 8965 hostid is stored in the file /etc/hostid. 8966 8967 Return Value 8968 8969 gethostid returns the 32-bit identifier for the current host as set by 8970 sethostid(2). 8971 8972 Files 8973 8974 /etc/hostid 8975 8976 sethostname 8977 8978 Name 8979 8980 sethostname -- set host name 8981 8982 Synopsis 8983 8984 #include 8985 8986 int sethostname(const char *name, size_t len); 8987 8988 Description 8989 8990 sethostname changes the host name of the current processor. 8991 8992 Return Value 8993 8994 On success, 0 is returned. On error, -1 is returned and the global variable 8995 errno is set appropriately. 8996 8997 Errors 8998 8999 EINVAL 9000 9001 len is negative or larger than the maximum allowed size. 9002 9003 EPERM 9004 9005 the caller was not the superuser. 9006 9007 EFAULT 9008 9009 name is an invalid address. 9010 9011 Notes 9012 9013 The Single UNIX Specification, Version 2 guarantees that: 9014 9015 9016 Host names are limited to 255 bytes. 9017 9018 setsockopt 9019 9020 Name 9021 9022 setsockopt -- set options on sockets 9023 9024 Synopsis 9025 9026 #include 9027 #include 9028 9029 int setsockopt(int sockfd, int level, int optname, void *optval, socklen_t 9030 optlen); 9031 9032 Description 9033 9034 In addition to the setsockopt options specified in SUSv3, setsockopt also 9035 supports the options specified here. 9036 9037 The following setsockopt operations are provided for level IPPROTO_IP: 9038 9039 IP_MULTICAST_TTL 9040 9041 Set or reads the time-to-live value of outgoing multicast packets for this 9042 socket. optval is a pointer to an integer which contains the new TTL value. 9043 9044 IP_MULTICAST_LOOP 9045 9046 Sets a boolean flag indicating whether multicast packets originating 9047 locally should be looped back to the local sockets. optval is a pointer to 9048 an integer which contains the new flag value. 9049 9050 IP_ADD_MEMBERSHIP 9051 9052 Join a multicast group. optval is a pointer to a ip_mreq structure. Before 9053 calling, the caller should fill in the imr_multiaddr field with the 9054 multicast group address and the imr_address field with the address of the 9055 local interface. If imr_address is set to INADDR_ANY, then an appropriate 9056 interface is chosen by the system. 9057 9058 IP_DROP_MEMBERSHIP 9059 9060 Leave a multicast group. optval is a pointer to a ip_mreq structure 9061 containing the same values as were used with IP_ADD_MEMBERSHIP. 9062 9063 IP_MULTICAST_IF 9064 9065 Set the local device for a multicast socket. optval is a pointer to a 9066 ip_mreq structure initialized in the same manner as with IP_ADD_MEMBERSHIP. 9067 9068 The ip_mreq structure contains two struct in_addr fields: imr_multiaddr and 9069 imr_address. 9070 9071 Return Value 9072 9073 On success, 0 is returned. On error, -1 is returned and the global variable 9074 errno is set appropriately. 9075 9076 setutent 9077 9078 Name 9079 9080 setutent -- access utmp file entries 9081 9082 Synopsis 9083 9084 #include 9085 9086 void setutent(void); 9087 9088 Description 9089 9090 setutent rewinds the file pointer to the beginning of the utmp file. It is 9091 generally a Good Idea to call it before any of the other functions. 9092 9093 Errors 9094 9095 On error, (struct utmp*)0 will be returned. 9096 9097 Files 9098 9099 /var/run/utmp database of currently logged-in users /var/log/wtmp database of 9100 past user logins 9101 9102 sigandset 9103 9104 Name 9105 9106 sigandset -- build a new signal set by combining the two input sets using 9107 logical AND 9108 9109 Synopsis 9110 9111 #include 9112 9113 extern int sigandset(sigset_t *set, const sigset_t *left, const sigset_t 9114 *right); 9115 9116 Description 9117 9118 sigandset is a signal function that builds a new signal set by combining the 9119 two input sets using logical AND. 9120 9121 sigblock 9122 9123 Name 9124 9125 sigblock -- manipulate the signal mask 9126 9127 Synopsis 9128 9129 #include 9130 9131 int sigblock(int mask); 9132 9133 Description 9134 9135 sigblock is made obsolete by sigprocmask(2). 9136 9137 sigblock adds the signals specified in mask to the set of signals currently 9138 being blocked from delivery. 9139 9140 Notes 9141 9142 Prototype for sigblock is only available if _BSD_SOURCE is defined before the 9143 inclusion of any system. 9144 9145 siggetmask 9146 9147 Name 9148 9149 siggetmask -- manipulate the signal mask 9150 9151 Synopsis 9152 9153 #include 9154 9155 int siggetmask(void); 9156 9157 Description 9158 9159 siggetmask is made obsolete by sigprocmask(2). 9160 9161 siggetmask returns the current set of masked signals. 9162 9163 Notes 9164 9165 Prototype for siggetmask is only available if _BSD_SOURCE is defined before the 9166 inclusion of any system header file. 9167 9168 sigisemptyset 9169 9170 Name 9171 9172 sigisemptyset -- check for empty signal set 9173 9174 Synopsis 9175 9176 #include 9177 9178 extern int sigisemptyset(const sigset_t *set); 9179 9180 Description 9181 9182 sigisemptyset checks for empty signal set. It returns a non-empty value if set 9183 is not empty. 9184 9185 sigorset 9186 9187 Name 9188 9189 sigorset -- build a new signal set by combining the two input sets using 9190 logical or 9191 9192 Synopsis 9193 9194 #include 9195 9196 extern int sigorset(sigset_t *set, const sigset_t *left, const sigset_t 9197 *right); 9198 9199 Description 9200 9201 sigorset is a signal function that builds a new signal set by combining the two 9202 input sets using logical or. 9203 9204 sigreturn 9205 9206 Name 9207 9208 sigreturn -- return from signal handler and cleanup stack frame 9209 9210 Synopsis 9211 9212 int sigreturn(unsigned long __unused); 9213 9214 Description 9215 9216 When the Linux kernel creates the stack frame for a signal handler, a call to 9217 sigreturn is inserted into the stack frame so that the the signal handler will 9218 call sigreturn upon return. This inserted call to sigreturn cleans up the stack 9219 so that the process can restart from where it was interrupted by the signal. 9220 9221 Return Value 9222 9223 sigreturn never returns. 9224 9225 Warning 9226 9227 sigreturn is used by the kernel to implement signal handlers. It should never 9228 be called directly. Better yet, the specific use of __unused varies depending 9229 on the architecture. 9230 9231 Files 9232 9233 /usr/src/linux/arch/i386/kernel/signal.c 9234 9235 /usr/src/linux/arch/alpha/kernel/entry.s 9236 9237 stime 9238 9239 Name 9240 9241 stime -- set time 9242 9243 Synopsis 9244 9245 #define _SVID_SOURCE /* glibc needs this */ 9246 #include 9247 9248 int stime(time_t *t); 9249 9250 Description 9251 9252 stime sets the system's idea of the time and date. Time, pointed to by t, is 9253 measured in seconds from 00:00:00 GMT January 1, 1970. stime may only be 9254 executed by the super user. 9255 9256 Return Value 9257 9258 On success, 0 is returned. On error, -1 is returned and the global variable 9259 errno is set appropriately. 9260 9261 Errors 9262 9263 EPERM 9264 9265 The caller is not the super-user. 9266 9267 Notes 9268 9269 Under glibc2, time.h only provides a prototype when _SVID_SOURCE is defined. 9270 9271 stpcpy 9272 9273 Name 9274 9275 stpcpy -- copy a string returning a pointer to its end 9276 9277 Synopsis 9278 9279 #include 9280 9281 char *stpcpy(char *dest, const char *src); 9282 9283 Description 9284 9285 stpcpy copies the string pointed to by src (including the terminating '\0' 9286 character) to the array pointed to by dest. The strings may not overlap, and 9287 the destination string dest shall be large enough to receive the copy. 9288 9289 Return Value 9290 9291 stpcpy returns a pointer to the end of the string dest (that is, the address of 9292 the terminating '\0' character) rather than the beginning. 9293 9294 Example 9295 9296 This program uses stpcpy to concatenate foo and bar to produce foobar, which it 9297 then prints. 9298 9299 #include 9300 9301 int 9302 main (void) 9303 { 9304 char *to = buffer; 9305 to = stpcpy (to, "foo"); 9306 to = stpcpy (to, "bar"); 9307 printf ("%s\n", buffer); 9308 } 9309 9310 stpncpy 9311 9312 Name 9313 9314 stpncpy -- copy a fixed-size string, returning a pointer to its end 9315 9316 Synopsis 9317 9318 #include 9319 9320 char *stpncpy(char *dest, const char *src, size_t n); 9321 9322 Description 9323 9324 stpncpy copies at most n characters from the string pointed to by src, 9325 including the terminating \0 character, to the array pointed to by dest. 9326 Exactly n characters are written at dest. If the length strlen(src) is smaller 9327 than n, the remaining characters in dest are filled with \0 characters. If the 9328 length strlen(src) is greater than or equal to n, dest will not be \0 9329 terminated. 9330 9331 The strings may not overlap. 9332 9333 The programmer shall ensure that there is room for at least n characters at 9334 dest. 9335 9336 Return Value 9337 9338 stpncpy returns a pointer to the terminating NULL in dest, or, if dest is not 9339 NULL-terminated, dest + n. 9340 9341 strcasestr 9342 9343 Name 9344 9345 strcasestr -- locate a substring - ignores the case of both strings 9346 9347 Synopsis 9348 9349 #include 9350 9351 char *strcasestr(const char *haystack, const char *needle); 9352 9353 Description 9354 9355 strcasestr is similar to strstr, but ignores the case of both strings. 9356 9357 strerror_r 9358 9359 Name 9360 9361 strerror_r -- reentrant version of strerror 9362 9363 Synopsis 9364 9365 #include 9366 9367 extern char *strerror_r(int errnum, char *buf, size_t buflen); 9368 9369 Description 9370 9371 strerror_r is a reentrant version of strerror. strerror_r returns a pointer to 9372 an error message corresponding to error number errnum. The returned pointer may 9373 point within the buffer buf (at most buflen bytes). [10] 9374 9375 strfry 9376 9377 Name 9378 9379 strfry -- randomize a string 9380 9381 Synopsis 9382 9383 #include 9384 9385 char *strfry(char *string); 9386 9387 Description 9388 9389 strfry randomizes the contents of string by using rand(3) to randomly swap 9390 characters in the string. The result is an anagram of string. 9391 9392 Return Value 9393 9394 strfry returns a pointer to the randomized string. 9395 9396 strndup 9397 9398 Name 9399 9400 strndup -- return a malloc'd copy of at most the specified number of bytes of a 9401 string 9402 9403 Synopsis 9404 9405 #include 9406 9407 extern char *strndup(const char *string, size_t n); 9408 9409 Description 9410 9411 strndup returns a malloc'd copy of at most n bytes of string. The resultant 9412 string is terminated even if no NULL terminator appears before STRING[N]. 9413 9414 strnlen 9415 9416 Name 9417 9418 strnlen -- determine the length of a fixed-size string 9419 9420 Synopsis 9421 9422 #include 9423 9424 size_t strnlen(const char *s, size_t maxlen); 9425 9426 Description 9427 9428 strnlen returns the number of characters in the string s, not including the 9429 terminating \0 character, but at most maxlen. In doing this, strnlen looks only 9430 at the first maxlen characters at s and never beyond s + maxlen. 9431 9432 Return Value 9433 9434 strnlen returns strlen(s), if that is less than maxlen, or maxlen if there is 9435 no \0 character among the first maxlen characters pointed to by s. 9436 9437 strptime 9438 9439 Name 9440 9441 strptime -- parse a time string 9442 9443 Description 9444 9445 strptime is as specified in the Single UNIX Specification, Version 2 with 9446 differences as listed below. 9447 9448 Number of leading zeroes limited 9449 9450 The Single UNIX Specification, Version 2 specifies fields for which "leading 9451 zeros are permitted but not required"; however, applications shall not expect 9452 to be able to supply more leading zeroes for these fields than would be implied 9453 by the range of the field. Implementations may choose to either match an input 9454 with excess leading zeroes, or treat this as a non-matching input. For example, 9455 %j has a range of 001 to 366, so 0, 00, 000, 001, and 045 are acceptable 9456 inputs, but inputs such as 0000, 0366 and the like are not. 9457 9458 Rationale 9459 9460 glibc developers consider it appropriate behavior to forbid excess leading 9461 zeroes. When trying to parse a given input against several format strings, 9462 forbidding excess leading zeroes could be helpful. For example, if one matches 9463 0011-12-26 against %m-%d-%Y and then against %Y-%m-%d, it seems useful for the 9464 first match to fail, as it would be perverse to parse that date as November 12, 9465 year 26. The second pattern parses it as December 26, year 11. 9466 9467 The Single UNIX Specification is not explicit that an unlimited number of 9468 leading zeroes are required, although it may imply this. The LSB explicitly 9469 allows implementations to have either behavior. Future versions of this 9470 standard may require implementations to forbid excess leading zeroes. 9471 9472 strsep 9473 9474 Name 9475 9476 strsep -- extract token from string 9477 9478 Synopsis 9479 9480 #include 9481 9482 char *strsep(char **stringp, const char *delim); 9483 9484 Description 9485 9486 If stringp is NULL, strsep returns NULL and does nothing else. 9487 9488 If stringp is non-NULL, strsep finds the first token in the stringp, where 9489 tokens are delimited by symbols in the string delim. This token is terminated 9490 with a \0 character (by overwriting the delimiter) and stringp is updated to 9491 point past the token. In case no delimiter was found, the token is taken to be 9492 the entire string stringp, and stringp is made NULL. 9493 9494 Return Value 9495 9496 strsep returns a pointer to the token, that is, it returns the original value 9497 of stringp. 9498 9499 Notes 9500 9501 strsep was introduced as a replacement for strtok, since the latter cannot 9502 handle empty fields. However, strtok conforms to ANSI-C and hence is more 9503 portable. 9504 9505 Bugs 9506 9507 strsep suffers from the same problems as strtok. In particular, strsep modifies 9508 the original string. Avoid it. 9509 9510 strsignal 9511 9512 Name 9513 9514 strsignal -- return string describing signal 9515 9516 Synopsis 9517 9518 #define _GNU_SOURCE 9519 #include 9520 9521 char *strsignal(int sig); 9522 9523 extern const char * const sys_siglist[]; 9524 9525 Description 9526 9527 strsignal returns a string describing the signal number sig. The string can 9528 only be used until the next call to strsignal. 9529 9530 The array sys_siglist holds the signal description strings indexed by signal 9531 number. strsignal should be used if possible instead of this array. 9532 9533 Return Value 9534 9535 strsignal returns the appropriate description string, or an unknown signal 9536 message if the signal number is invalid. On some systems (but not on Linux), a 9537 NULL pointer may be returned instead for an invalid signal number. 9538 9539 strtok_r 9540 9541 Name 9542 9543 strtok_r -- extract tokens from strings 9544 9545 Synopsis 9546 9547 #include 9548 9549 char *strtok_r(char *s, const char *delim, char **ptrptr); 9550 9551 Description 9552 9553 strtok_r parses the string s into tokens. [11] The first call to strtok_r 9554 should have s as its first argument. Subsequent calls should have the first 9555 argument set to NULL. Each call returns a pointer to the next token, or NULL 9556 when no more tokens are found. 9557 9558 If a token ends with a delimiter, this delimiting character is overwritten with 9559 a \0 and a pointer to the next character is saved for the next call to 9560 strtok_r. The delimiter string delim may be different for each call. 9561 9562 ptrptr is a user allocated char* pointer. It shall be the same while parsing 9563 the same string. 9564 9565 Bugs 9566 9567 Never use this function. Note that: 9568 9569 * It modifies its first argument. 9570 9571 * The identity of the delimiting character is lost. 9572 9573 * It cannot be used on constant strings. 9574 9575 Return Value 9576 9577 strtok_r returns a pointer to the next token, or NULL if there are no more 9578 tokens. 9579 9580 strtoq 9581 9582 Name 9583 9584 strtoq -- convert string value to a long or quad_t integer 9585 9586 Synopsis 9587 9588 #include 9589 #include 9590 #include 9591 9592 quadt strtoq(const char *nptr, char **endptr, int base); 9593 9594 Description 9595 9596 strtoq converts the string nptr to a quadt value. The conversion is done 9597 according to the given base, which shall be between 2 and 36 inclusive, or be 9598 the special value 0. 9599 9600 nptr may begin with an arbitrary amount of white space (as determined by 9601 isspace(3)), followed by a single optional + or - sign character. If base is 0 9602 or 16, the string may then include a 0x prefix, and the number will be read in 9603 base 16; otherwise, a 0 base is taken as 10 (decimal), unless the next 9604 character is 0, in which case it is taken as 8 (octal). 9605 9606 The remainder of the string is converted to a long value in the obvious manner, 9607 stopping at the first character which is not a valid digit in the given base. 9608 (In bases above 10, the letter A in either upper or lower case represents 10, B 9609 represents 11, and so forth, with Z representing 35.) 9610 9611 Return Value 9612 9613 strtoq returns the result of the conversion, unless the value would underflow 9614 or overflow. If an underflow occurs, strtoq returns QUAD_MIN. If an overflow 9615 occurs, strtoq returns QUAD_MAX. In both cases, the global variable errno is 9616 set to ERANGE. 9617 9618 Errors 9619 9620 ERANGE 9621 9622 The given string was out of range; the value converted has been clamped. 9623 9624 strtouq 9625 9626 Name 9627 9628 strtouq -- convert a string to an uquad_t 9629 9630 Synopsis 9631 9632 #include 9633 #include 9634 #include 9635 9636 uquadt strtouq(const char *nptr, char **endptr, int base); 9637 9638 Description 9639 9640 strtouq converts the string nptr to a uquadt value. The conversion is done 9641 according to the given base, which shall be between 2 and 36 inclusive, or be 9642 the special value 0. 9643 9644 nptr may begin with an arbitrary amount of white space (as determined by 9645 isspace(3)), followed by a single optional + or - sign character. If base is 0 9646 or 16, the string may then include a 0x prefix, and the number will be read in 9647 base 16; otherwise, a 0 base is taken as 10 (decimal), unless the next 9648 character is 0, in which case it is taken as 8 (octal). 9649 9650 The remainder of the string is converted to an unsigned long value in the 9651 obvious manner, stopping at the end of the string or at the first character 9652 that does not produce a valid digit in the given base. (In bases above 10, the 9653 letter A in either upper or lower case represents 10, B represents 11, and so 9654 forth, with Z representing 35.) 9655 9656 Return Value 9657 9658 On success, strtouq returns either the result of the conversion or, if there 9659 was a leading minus sign, the negation of the result of the conversion, unless 9660 the original (non-negated) value would overflow. In the case of an overflow the 9661 function returns UQUAD_MAX and the global variable errno is set to ERANGE. 9662 9663 Errors 9664 9665 ERANGE 9666 9667 The given string was out of range; the value converted has been clamped. 9668 9669 strverscmp 9670 9671 Name 9672 9673 strverscmp -- compare strings holding name and indices/version numbers 9674 9675 Synopsis 9676 9677 #include 9678 9679 extern int strverscmp(const char *s1, const char *s2); 9680 9681 Description 9682 9683 strverscmp compares s1 and s2 as strings holding name and indices/version 9684 numbers. 9685 9686 svc_register 9687 9688 Name 9689 9690 svc_register -- Associates program and versnum with the service dispatch 9691 procedure, dispatch. 9692 9693 Synopsis 9694 9695 #include 9696 9697 void svc_register(SVCXPRT *xprt, u_long prognum, u_long versnum, void 9698 (*dispatch)(), u_long protocol); 9699 9700 Description 9701 9702 Associates prognum and versnum with the service dispatch procedure, dispatch. 9703 If protocol is zero, the service is not registered with the portmap service. If 9704 protocol is non-zero, then a mapping of the triple [prognum, versnum,protocol] 9705 to xprt->xp_port is established with the local portmap service (generally 9706 protocol is zero, IPPROTO_UDP or IPPROTO_TCP). The procedure dispatch has the 9707 following form: 9708 9709 dispatch(request, xprt) struct svc_req *request; SVCXPRT *xprt; 9710 9711 Return Value 9712 9713 svc_register returns 1 if it succeeds, and zero otherwise. 9714 9715 svc_run 9716 9717 Name 9718 9719 svc_run -- Waits for RPC requests to arrive and calls service procedure. 9720 9721 Synopsis 9722 9723 #include 9724 9725 svc_run(); 9726 9727 Description 9728 9729 The svc_run routine never returns. It waits for RPC requests to arrive, and 9730 calls the appropriate service procedure using svc_getreq when one arrives. This 9731 procedure is usually waiting for a select system call to return. 9732 9733 svc_sendreply 9734 9735 Name 9736 9737 svc_sendreply -- called by RPC service's dispatch routine 9738 9739 Synopsis 9740 9741 svc_sendreply(SVCXPRT *xprt, xdrproc_t outproc, char out); 9742 9743 Description 9744 9745 Called by an RPC service's dispatch routine to send the results of a remote 9746 procedure call. The parameter xprt is the request's associated transport 9747 handle; outproc is the XDR routine which is used to encode the results; and out 9748 is the address of the results. This routine returns one if it succeeds, zero 9749 other-wise. 9750 9751 svctcp_create 9752 9753 Name 9754 9755 svctcp_create -- Creates a TCP/IP-based RPC service transport. 9756 9757 Synopsis 9758 9759 #include 9760 9761 SVCXPRT *svctcp_create(int sock, u_int send_buf_size, u_int recv_buf_size); 9762 9763 Description 9764 9765 svctcp_create cretes a TCP/IP-based RPC service transport, to which it returns 9766 a pointer. The transport is associated with the socket sock, which may be 9767 RPC_ANYSOCK, in which case a new socket is created. If the socket is not bound 9768 to a local TCP port, ten this routine binds it to an arbitrary port. Upon 9769 completion, xprt->xp_sock is the transport's socket descriptor, and xprt-> 9770 xp_port is the transport's port number. Since TCP-based RPC uses buffered I/O, 9771 users may specify the size of buffers; values of zero choose suitable defaults. 9772 9773 Return Value 9774 9775 svctcp_create returns NULL if it fails, or a pointer to the RPC service 9776 transport otherwise. 9777 9778 svcudp_create 9779 9780 Name 9781 9782 svcudp_create -- Creates a UDP-based RPC service transport. 9783 9784 Synopsis 9785 9786 SVCXPRT * 9787 9788 svcudp_create(int sock); 9789 9790 Description 9791 9792 This call is equivalent to svcudp_bufcreate (sock, SZ, SZ) for some default 9793 size SZ. 9794 9795 system 9796 9797 Name 9798 9799 system -- execute a shell command 9800 9801 Synopsis 9802 9803 #include 9804 9805 int system(const char *string); 9806 9807 Description 9808 9809 system executes a command specified in string by calling /bin/sh -c string, and 9810 returns after the command has been completed. During execution of the command, 9811 SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored. 9812 9813 Return Value 9814 9815 The value 127 returned if the execve call for /bin/sh fails, -1 if there was 9816 another error and the return code of the command otherwise. 9817 9818 If the value of string is NULL, system returns a nonzero value if the shell is 9819 available, and zero if not. 9820 9821 system does not affect the wait status of any other children. 9822 9823 Notes 9824 9825 The fact that system ignores interrupts is often not what a program wants. The 9826 Single UNIX Specification describes some of the consequences; an additional 9827 consequence is that a program calling system from a loop cannot be reliably 9828 interrupted. Many programs will want to use the exec(3) family of functions 9829 instead. 9830 9831 Do not use system from a program with suid or sgid privileges, because strange 9832 values for some environment variables might be used to subvert system 9833 integrity. Use the exec(3) family of functions instead, but not execlp(3) or 9834 execvp(3). system will not, in fact, work properly from programs with suid or 9835 sgid privileges on systems on which /bin/sh is bash version 2, since bash 2 9836 drops privileges on startup. (Debian uses a modified bash which does not do 9837 this when invoked as sh.) 9838 9839 The check for the availability of /bin/sh is not actually performed; it is 9840 always assumed to be available. ISO C specifies the check, but POSIX.2 9841 specifies that the return shall always be nonzero, since a system without the 9842 shell is not conforming, and it is this that is implemented. 9843 9844 It is possible for the shell command to return 127, so that code is not a sure 9845 indication that the execve call failed; check the global variable errno to make 9846 sure. 9847 9848 textdomain 9849 9850 Name 9851 9852 textdomain -- set the current default message catalog 9853 9854 Synopsis 9855 9856 #include 9857 9858 extern char *textdomain(const char *domainname); 9859 9860 Description 9861 9862 textdomain sets the current default message catalog to domainname, which 9863 remains valid across subsequent calls to setlocale, and gettext. 9864 9865 Return 9866 9867 On success, textdomain returns the currently selected domain. On error, a NULL 9868 pointer is returned. 9869 9870 If domainname is NULL, textdomain returns the current default. 9871 9872 If domainname is "", reset to the default of "messages". 9873 9874 Errors 9875 9876 ENOMEM 9877 9878 The function may have failed if there was "insufficent memory available." 9879 9880 unlink 9881 9882 Name 9883 9884 unlink -- remove a directory entry 9885 9886 Synopsis 9887 9888 int unlink(const char *path); 9889 9890 Description 9891 9892 unlink is as specified in the ISO/IEC 9945:2003 Portable Operating System 9893 (POSIX)and The Single UNIX Specification(SUS) V3, but with differences as 9894 listed below. 9895 9896 See also Additional behaviors: unlink/link on directory>. 9897 9898 May return EISDIR on directories 9899 9900 If path specifies a directory, the implementation may return EISDIR instead of 9901 EPERM as specified by ISO/IEC 9945:2003 Portable Operating System(POSIX)and The 9902 Single UNIX Specification(SUS) V3. [12] 9903 9904 vasprintf 9905 9906 Name 9907 9908 vasprintf -- write formatted output to a string dynamically allocated with 9909 malloc and store the address of the string 9910 9911 Synopsis 9912 9913 #include 9914 9915 extern int vasprintf(char **restrict ptr, const char *restrict f, G_va_list 9916 arg); 9917 9918 Description 9919 9920 vasprintf writes formatted output to a string dynamically allocated with 9921 malloc, and stores the address of the string in ptr. 9922 9923 vdprintf 9924 9925 Name 9926 9927 vdprintf -- write formatted output to a file descriptor 9928 9929 Synopsis 9930 9931 #include 9932 9933 extern int vdprintf(int fd, const char *restrict fmt, G_va_list arg); 9934 9935 Description 9936 9937 vdprintf writes formatted output to a file descriptor. 9938 9939 verrx 9940 9941 Name 9942 9943 verrx -- display formatted error messages 9944 9945 Synopsis 9946 9947 #include 9948 9949 void verrx(int eval, const char *fmt, valist args); 9950 9951 Description 9952 9953 verrx displays a formatted error message on the standard error output. The last 9954 component of the program name, a colon character, and a space are output. If 9955 fmt is not NULL, the formatted error message, a colon, and a space are output. 9956 The output is followed by a newline character. 9957 9958 verrx does not return, but exits with the value of eval. 9959 9960 vsyslog 9961 9962 Name 9963 9964 vsyslog -- log to system log 9965 9966 Synopsis 9967 9968 void vsyslog(int priority, char *message, va_list arglist); 9969 9970 Description 9971 9972 vsyslog is identical to syslog as specified in the Single UNIX Specification, 9973 except that arglist (as defined by stdarg.h) replaces the variable number of 9974 arguments. 9975 9976 The caller is responsible for running va_end after calling vsyslog. 9977 9978 wait3 9979 9980 Name 9981 9982 wait3 -- wait for child process 9983 9984 Description 9985 9986 wait3 is as specified in the Single UNIX Specification, Version 2, but with 9987 differences as listed below. 9988 9989 Notes 9990 9991 Implementations need not support the functionality of WCONTINUED or 9992 WIFCONTINUED. 9993 9994 wait4 9995 9996 Name 9997 9998 wait4 -- wait for process termination, BSD style 9999 10000 Synopsis 10001 10002 #include 10003 #include 10004 #include 10005 10006 pid_t wait4(pid_t pid, int *status, int options, (struct rusage *rusage)); 10007 10008 Description 10009 10010 wait4 suspends execution of the current process until a child (as specified by 10011 pid) has exited, or until a signal is delivered whose action is to terminate 10012 the current process or to call a signal handling function. If a child (as 10013 requested by pid) has already exited by the time of the call (a so-called 10014 "zombie" process), the function returns immediately. Any system resources used 10015 by the child are freed. 10016 10017 The value of pid can be one of: 10018 10019 < -1 10020 10021 wait for any child process whose process group ID is equal to the absolute 10022 value of pid. 10023 10024 -1 10025 10026 wait for any child process; this is equivalent to calling wait3. 10027 10028 0 10029 10030 wait for any child process whose process group ID is equal to that of the 10031 calling process. 10032 10033 > 0 10034 10035 wait for the child whose process ID is equal to the value of pid. 10036 10037 The value of options is a bitwise or of zero or more of the following 10038 constants: 10039 10040 WNOHANG 10041 10042 return immediately if no child is there to be waited for. 10043 10044 WUNTRACED 10045 10046 return for children that are stopped, and whose status has not been 10047 reported. 10048 10049 If status is not NULL, wait4 stores status information in the location status. 10050 This status can be evaluated with the following macros: [13] 10051 10052 WIFEXITED(status) 10053 10054 is nonzero if the child exited normally. 10055 10056 WEXITSTATUS(status) 10057 10058 evaluates to the least significant eight bits of the return code of the 10059 child that terminated, which may have been set as the argument to a call to 10060 exit or as the argument for a return statement in the main program. This 10061 macro can only be evaluated if WIFEXITED returned nonzero. 10062 10063 WIFSIGNALED(status) 10064 10065 returns true if the child process exited because of a signal that was not 10066 caught. 10067 10068 WTERMSIG(status) 10069 10070 returns the number of the signal that caused the child process to 10071 terminate. This macro can only be evaluated if WIFSIGNALED returned 10072 nonzero. 10073 10074 WIFSTOPPED(status) 10075 10076 returns true if the child process that caused the return is currently 10077 stopped; this is only possible if the call was done using WUNTRACED. 10078 10079 WSTOPSIG(status) 10080 10081 returns the number of the signal that caused the child to stop. This macro 10082 can only be evaluated if WIFSTOPPED returned nonzero. 10083 10084 If rusage is not NULL, the struct rusage (as defined in sys/resource.h) that it 10085 points to will be filled with accounting information. (See getrusage(2) for 10086 details. 10087 10088 Return Value 10089 10090 On success, the process ID of the child that exited is returned. On error, -1 10091 is returned (in particular, when no unwaited-for child processes of the 10092 specified kind exist), or 0 if WNOHANG was used and no child was available yet. 10093 In the latter two cases, the global variable errno is set appropriately. 10094 10095 Errors 10096 10097 ECHILD 10098 10099 No unwaited-for child process as specified does exist. 10100 10101 ERESTARTSYS 10102 10103 A WNOHANG was not set and an unblocked signal or a SIGCHILD was caught. 10104 This error is returned by the system call. The library interface is not 10105 allowed to return ERESTARTSYS, but will return EINTR. 10106 10107 waitpid 10108 10109 Name 10110 10111 waitpid -- wait for child process 10112 10113 Description 10114 10115 waitpid is as specified in the Single UNIX Specification, but with differences 10116 as listed below. 10117 10118 Need not support WCONTINUED 10119 10120 Implementations need not support the functionality of WCONTINUED or 10121 WIFCONTINUED. 10122 10123 warn 10124 10125 Name 10126 10127 warn -- formatted error messages 10128 10129 Synopsis 10130 10131 #include 10132 10133 void warn(const char *fmt ...); 10134 10135 Description 10136 10137 warn displays a formatted error message on the standard error output. The last 10138 component of the program name, a colon character, and a space are output. If 10139 fmt is not NULL, the formatted error message, a colon, and space are output. 10140 The error message string affiliated with the current value of the global 10141 variable errno is output. The output is followed by a newline character. 10142 10143 warnx 10144 10145 Name 10146 10147 warnx -- formatted error messages 10148 10149 Synopsis 10150 10151 #include 10152 10153 void warnx(const char *fmt ...); 10154 10155 Description 10156 10157 warnx displays a formatted error message on the standard error output. The last 10158 component of the program name, a colon character, and a space are output. If 10159 fmt is not NULL, the formatted error message, a colon, and space are output. 10160 The output is followed by a newline character. 10161 10162 wcpcpy 10163 10164 Name 10165 10166 wcpcpy -- copy a wide character string, returning a pointer to its end 10167 10168 Synopsis 10169 10170 #include 10171 10172 wchar_t *wcpcpy(wchar_t *dest, const wchar_t *src); 10173 10174 Description 10175 10176 wcpcpy is the wide-character equivalent of stpcpy. It copies the wide character 10177 string src, including the terminating L'\0' character, to the array dest. 10178 10179 The strings may not overlap. 10180 10181 The programmer shall ensure that there is room for at least wcslen(src)+1 wide 10182 characters at dest. 10183 10184 Return Value 10185 10186 wcpcpy returns a pointer to the end of the wide-character string dest, that is, 10187 a pointer to the terminating L'\0' character. 10188 10189 wcpncpy 10190 10191 Name 10192 10193 wcpncpy -- copy a fixed-size string of wide characters, returning a pointer to 10194 its end 10195 10196 Synopsis 10197 10198 #include 10199 10200 wchar_t *wcpncpy(wchar_t *dest, const wchar_t *src, size_t n); 10201 10202 Description 10203 10204 wcpncpy is the wide-character equivalent of stpncpy. It copies at most n wide 10205 characters from the wide-character string src, including the terminating L'\0' 10206 character, to the array dest. Exactly n wide characters are written at dest. If 10207 the length wcslen(src) is smaller than n, the remaining wide characters in the 10208 array dest are filled with L'\0' characters. If the length wcslen(src) is 10209 greater than or equal to n, the string dest will not be L'\0' terminated. 10210 10211 The strings may not overlap. 10212 10213 The programmer shall ensure that there is room for at least n wide characters 10214 at dest. 10215 10216 Return Value 10217 10218 wcpncpy returns a pointer to the wide character one past the last non-null wide 10219 character written. 10220 10221 wcscasecmp 10222 10223 Name 10224 10225 wcscasecmp -- compare two wide-character strings, ignoring case 10226 10227 Synopsis 10228 10229 #include 10230 10231 int wcscasecmp(const wchar_t *s1, const wchar_t *s2); 10232 10233 Description 10234 10235 wcscasecmp is the wide-character equivalent of strcasecmp. It compares the 10236 wide-character string s1 and the wide-character string s2, ignoring case 10237 differences (towupper, towlower). 10238 10239 Return Value 10240 10241 wcscasecmp returns 0 if the wide-character strings s1 and s2 are equal except 10242 for case distinctions. It returns a positive integer if s1 is greater than s2, 10243 ignoring case. It returns a negative integer if s1 is smaller than s2, ignoring 10244 case. 10245 10246 Notes 10247 10248 The behavior of wcscasecmp depends upon the LC_CTYPE category of the current 10249 locale. 10250 10251 wcsdup 10252 10253 Name 10254 10255 wcsdup -- duplicate a wide-character string 10256 10257 Synopsis 10258 10259 #include 10260 10261 wchar_t *wcsdup(const wchar_t *s); 10262 10263 Description 10264 10265 wcsdup is the wide-character equivalent of strdup. It allocates and returns a 10266 new wide-character string whose initial contents is a duplicate of the 10267 wide-character string s. 10268 10269 Memory for the new wide-character string is obtained with malloc(3), and can be 10270 freed with free(3). 10271 10272 Return Value 10273 10274 wcsdup returns a pointer to the new wide-character string, or NULL if 10275 sufficient memory was not available. 10276 10277 wcsncasecmp 10278 10279 Name 10280 10281 wcsncasecmp -- compare two fixed-size wide-character strings, ignoring case 10282 10283 Synopsis 10284 10285 #include 10286 10287 int wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n); 10288 10289 Description 10290 10291 wcsncasecmp is the wide-character equivalent of strncasecmp. It compares the 10292 wide-character string s1 and the wide-character string s2, but at most n wide 10293 characters from each string, ignoring case differences (towupper, towlower). 10294 10295 Return Value 10296 10297 wcscasecmp returns 0 if the wide-character strings s1 and s2, truncated to at 10298 most length n, are equal except for case distinctions. It returns a positive 10299 integer if truncated s1 is greater than truncated s2, ignoring case. It returns 10300 a negative integer if truncated s1 is smaller than truncated s2, ignoring case. 10301 10302 Notes 10303 10304 The behavior of wcsncasecmp depends upon the LC_CTYPE category of the current 10305 locale. 10306 10307 wcsnlen 10308 10309 Name 10310 10311 wcsnlen -- determine the length of a fixed-size wide-character string 10312 10313 Synopsis 10314 10315 #include 10316 10317 size_t wcsnlen(const wchar_t *s, size_t maxlen); 10318 10319 Description 10320 10321 wcsnlen is the wide-character equivalent of strnlen. It returns the number of 10322 wide-characters in the string s, not including the terminating L'\0' character, 10323 but at most maxlen. In doing this, wcsnlen looks only at the first maxlen 10324 wide-characters at s and never beyond s + maxlen. 10325 10326 Return Value 10327 10328 wcsnlen returns wcslen(s) if that is less than maxlen, or maxlen if there is no 10329 L'\0' character among the first maxlen wide characters pointed to by s. 10330 10331 Notes 10332 10333 The behavior of wcsncasecmp depends on the LC_CTYPE category of the current 10334 locale. 10335 10336 wcsnrtombs 10337 10338 Name 10339 10340 wcsnrtombs -- convert a wide character string to a multi-byte string 10341 10342 Synopsis 10343 10344 #include 10345 10346 size_t wcsnrtombs(char *dest, const wchar_t **src, size_t nwc, size_t len, 10347 mbstate_t *ps); 10348 10349 Description 10350 10351 wcsnrtombs is like wcsrtombs, except that the number of wide characters to be 10352 converted, starting at src, is limited to nwc. 10353 10354 If dest is not a NULL pointer, wcsnrtombs converts at most nwc wide characters 10355 from the wide-character string src to a multibyte string starting at dest. At 10356 most len bytes are written to dest. The state ps is updated. 10357 10358 The conversion is effectively performed by repeatedly calling: 10359 10360 wcrtomb(dest, *src, ps) 10361 10362 as long as this call succeeds, and then incrementing dest by the number of 10363 bytes written and src by 1. 10364 10365 The conversion can stop for three reasons: 10366 10367 * A wide character has been encountered that cannot be represented as a 10368 multibyte sequence (according to the current locale). In this case src is 10369 left pointing to the invalid wide character, (size_t)(-1) is returned, and 10370 errno is set to EILSEQ. 10371 10372 * nws wide characters have been converted without encountering a L'\0', or 10373 the length limit forces a stop. In this case, src is left pointing to the 10374 next wide character to be converted, and the number bytes written to dest 10375 is returned. 10376 10377 * The wide-character string has been completely converted, including the 10378 terminating L'\0' (which has the side effect of bringing back ps to the 10379 initial state). In this case, src is set to NULL, and the number of bytes 10380 written to dest, excluding the terminating L'\0' byte, is returned. 10381 10382 If dest is NULL, len is ignored, and the conversion proceeds as above, except 10383 that the converted bytes are not written out to memory, and that no destination 10384 length limit exists. 10385 10386 In both of the above cases, if ps is a NULL pointer, a static anonymous state 10387 only known to wcsnrtombs is used instead. 10388 10389 The programmer shall ensure that there is room for at least len bytes at dest. 10390 10391 Return Value 10392 10393 wcsnrtombs returns the number of bytes that make up the converted part of 10394 multibyte sequence, not including the terminating L'\0' byte. If a wide 10395 character was encountered which could not be converted, (size_t)(-1) is 10396 returned, and the global variable errno set to EILSEQ. 10397 10398 Notes 10399 10400 The behavior of wcsnrtombs depends on the LC_CTYPE category of the current 10401 locale. 10402 10403 Passing NULL as ps is not multi-thread safe. 10404 10405 wcstoq 10406 10407 Name 10408 10409 wcstoq -- convert initial portion of wide string NPTR to long int 10410 representation 10411 10412 Synopsis 10413 10414 #include 10415 10416 extern long long int wcstoq(const wchar_t *restrict nptr, wchar_t **restrict 10417 endptr, int base); 10418 10419 Description 10420 10421 wcstoq converts the initial portion of the wide string nptr to long int 10422 representation. 10423 10424 wcstouq 10425 10426 Name 10427 10428 wcstouq -- convert initial portion of wide string NPTR to unsigned long long 10429 int representation 10430 10431 Synopsis 10432 10433 #include 10434 10435 extern unsigned long long int wcstouq(const wchar_t *restrict nptr, wchar_t 10436 **restrict endptr, int base); 10437 10438 Description 10439 10440 wcstouq converts the initial portion of the wide string nptr to unsigned long 10441 long int representation. 10442 10443 xdr_u_int 10444 10445 Name 10446 10447 xdr_u_int -- library routines for external data representation 10448 10449 Synopsis 10450 10451 int xdr_u_int(XDR * xdrs, unsigned int * up); 10452 10453 Description 10454 10455 xdr_u_int is a filter primitive that translates between C unsigned integers and 10456 their external representations. 10457 10458 Return Value 10459 10460 On success, 1 is returned. On error, 0 is returned. 10461 10462 ------------------------------------------------------------------------------- 10463 10464 Interfaces for libm 10465 10466 Table 1-28 defines the library name and shared object name for the libm library 10467 10468 Table 1-28. libm Definition 10469 10470 +----------------------+ 10471 |Library:|libm | 10472 |--------+-------------| 10473 |SONAME: |See archLSB. | 10474 +----------------------+ 10475 10476 The behavior of the interfaces in this library is specified by the following 10477 specifications: 10478 10479 ISO/IEC 9899: 1999, Programming Languages --C 10480 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 10481 (ISBN: 1-85912-181-0, C606) 10482 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 10483 Specification(SUS) V3 10484 10485 ------------------------------------------------------------------------------- 10486 10487 Math 10488 10489 ------------------------------------------------------------------------------- 10490 10491 Interfaces for Math 10492 10493 An LSB conforming implementation shall provide the generic functions for Math 10494 specified in Table 1-29, with the full functionality as described in the 10495 referenced underlying specification. 10496 10497 Table 1-29. libm - Math Function Interfaces 10498 10499 +-----------------------------------------------------------------------------+ 10500 |acos [1] |cexp [1] |expf [1] |jnf [2] |remquof [1] | 10501 |-----------+-------------+------------------+---------------+----------------| 10502 |acosf [1] |cexpf [1] |expl [1] |jnl [2] |remquol [1] | 10503 |-----------+-------------+------------------+---------------+----------------| 10504 |acosh [1] |cexpl [1] |expm1 [1] |ldexp [1] |rint [1] | 10505 |-----------+-------------+------------------+---------------+----------------| 10506 |acoshf [1] |cimag [1] |fabs [1] |ldexpf [1] |rintf [1] | 10507 |-----------+-------------+------------------+---------------+----------------| 10508 |acoshl [1] |cimagf [1] |fabsf [1] |ldexpl [1] |rintl [1] | 10509 |-----------+-------------+------------------+---------------+----------------| 10510 |acosl [1] |cimagl [1] |fabsl [1] |lgamma [1] |round [1] | 10511 |-----------+-------------+------------------+---------------+----------------| 10512 |asin [1] |clog [1] |fdim [1] |lgamma_r [2] |roundf [1] | 10513 |-----------+-------------+------------------+---------------+----------------| 10514 |asinf [1] |clog10 [2] |fdimf [1] |lgammaf [1] |roundl [1] | 10515 |-----------+-------------+------------------+---------------+----------------| 10516 |asinh [1] |clog10f [2] |fdiml [1] |lgammaf_r [2] |scalb [1] | 10517 |-----------+-------------+------------------+---------------+----------------| 10518 |asinhf [1] |clog10l [2] |feclearexcept [1] |lgammal [1] |scalbf [2] | 10519 |-----------+-------------+------------------+---------------+----------------| 10520 |asinhl [1] |clogf [1] |fegetenv [1] |lgammal_r [2] |scalbl [2] | 10521 |-----------+-------------+------------------+---------------+----------------| 10522 |asinl [1] |clogl [1] |fegetexceptflag |llrint [1] |scalbln [1] | 10523 | | |[1] | | | 10524 |-----------+-------------+------------------+---------------+----------------| 10525 |atan [1] |conj [1] |fegetround [1] |llrintf [1] |scalblnf [1] | 10526 |-----------+-------------+------------------+---------------+----------------| 10527 |atan2 [1] |conjf [1] |feholdexcept [1] |llrintl [1] |scalblnl [1] | 10528 |-----------+-------------+------------------+---------------+----------------| 10529 |atan2f [1] |conjl [1] |feraiseexcept [1] |llround [1] |scalbn [1] | 10530 |-----------+-------------+------------------+---------------+----------------| 10531 |atan2l [1] |copysign [1] |fesetenv [1] |llroundf [1] |scalbnf [1] | 10532 |-----------+-------------+------------------+---------------+----------------| 10533 |atanf [1] |copysignf [1]|fesetexceptflag |llroundl [1] |scalbnl [1] | 10534 | | |[1] | | | 10535 |-----------+-------------+------------------+---------------+----------------| 10536 |atanh [1] |copysignl [1]|fesetround [1] |log [1] |significand [2] | 10537 |-----------+-------------+------------------+---------------+----------------| 10538 |atanhf [1] |cos [1] |fetestexcept [1] |log10 [1] |significandf [2]| 10539 |-----------+-------------+------------------+---------------+----------------| 10540 |atanhl [1] |cosf [1] |feupdateenv [1] |log10f [1] |significandl [2]| 10541 |-----------+-------------+------------------+---------------+----------------| 10542 |atanl [1] |cosh [1] |finite [3] |log10l [1] |sin [1] | 10543 |-----------+-------------+------------------+---------------+----------------| 10544 |cabs [1] |coshf [1] |finitef [2] |log1p [1] |sincos [2] | 10545 |-----------+-------------+------------------+---------------+----------------| 10546 |cabsf [1] |coshl [1] |finitel [2] |logb [1] |sincosf [2] | 10547 |-----------+-------------+------------------+---------------+----------------| 10548 |cabsl [1] |cosl [1] |floor [1] |logf [1] |sincosl [2] | 10549 |-----------+-------------+------------------+---------------+----------------| 10550 |cacos [1] |cpow [1] |floorf [1] |logl [1] |sinf [1] | 10551 |-----------+-------------+------------------+---------------+----------------| 10552 |cacosf [1] |cpowf [1] |floorl [1] |lrint [1] |sinh [1] | 10553 |-----------+-------------+------------------+---------------+----------------| 10554 |cacosh [1] |cpowl [1] |fma [1] |lrintf [1] |sinhf [1] | 10555 |-----------+-------------+------------------+---------------+----------------| 10556 |cacoshf [1]|cproj [1] |fmaf [1] |lrintl [1] |sinhl [1] | 10557 |-----------+-------------+------------------+---------------+----------------| 10558 |cacoshl [1]|cprojf [1] |fmal [1] |lround [1] |sinl [1] | 10559 |-----------+-------------+------------------+---------------+----------------| 10560 |cacosl [1] |cprojl [1] |fmax [1] |lroundf [1] |sqrt [1] | 10561 |-----------+-------------+------------------+---------------+----------------| 10562 |carg [1] |creal [1] |fmaxf [1] |lroundl [1] |sqrtf [1] | 10563 |-----------+-------------+------------------+---------------+----------------| 10564 |cargf [1] |crealf [1] |fmaxl [1] |matherr [2] |sqrtl [1] | 10565 |-----------+-------------+------------------+---------------+----------------| 10566 |cargl [1] |creall [1] |fmin [1] |modf [1] |tan [1] | 10567 |-----------+-------------+------------------+---------------+----------------| 10568 |casin [1] |csin [1] |fminf [1] |modff [1] |tanf [1] | 10569 |-----------+-------------+------------------+---------------+----------------| 10570 |casinf [1] |csinf [1] |fminl [1] |modfl [1] |tanh [1] | 10571 |-----------+-------------+------------------+---------------+----------------| 10572 |casinh [1] |csinh [1] |fmod [1] |nan [1] |tanhf [1] | 10573 |-----------+-------------+------------------+---------------+----------------| 10574 |casinhf [1]|csinhf [1] |fmodf [1] |nanf [1] |tanhl [1] | 10575 |-----------+-------------+------------------+---------------+----------------| 10576 |casinhl [1]|csinhl [1] |fmodl [1] |nanl [1] |tanl [1] | 10577 |-----------+-------------+------------------+---------------+----------------| 10578 |casinl [1] |csinl [1] |frexp [1] |nearbyint [1] |tgamma [1] | 10579 |-----------+-------------+------------------+---------------+----------------| 10580 |catan [1] |csqrt [1] |frexpf [1] |nearbyintf [1] |tgammaf [1] | 10581 |-----------+-------------+------------------+---------------+----------------| 10582 |catanf [1] |csqrtf [1] |frexpl [1] |nearbyintl [1] |tgammal [1] | 10583 |-----------+-------------+------------------+---------------+----------------| 10584 |catanh [1] |csqrtl [1] |gamma [3] |nextafter [1] |trunc [1] | 10585 |-----------+-------------+------------------+---------------+----------------| 10586 |catanhf [1]|ctan [1] |gammaf [2] |nextafterf [1] |truncf [1] | 10587 |-----------+-------------+------------------+---------------+----------------| 10588 |catanhl [1]|ctanf [1] |gammal [2] |nextafterl [1] |truncl [1] | 10589 |-----------+-------------+------------------+---------------+----------------| 10590 |catanl [1] |ctanh [1] |hypot [1] |nexttoward [1] |y0 [1] | 10591 |-----------+-------------+------------------+---------------+----------------| 10592 |cbrt [1] |ctanhf [1] |hypotf [1] |nexttowardf [1]|y0f [2] | 10593 |-----------+-------------+------------------+---------------+----------------| 10594 |cbrtf [1] |ctanhl [1] |hypotl [1] |nexttowardl [1]|y0l [2] | 10595 |-----------+-------------+------------------+---------------+----------------| 10596 |cbrtl [1] |ctanl [1] |ilogb [1] |pow [1] |y1 [1] | 10597 |-----------+-------------+------------------+---------------+----------------| 10598 |ccos [1] |dremf [2] |ilogbf [1] |pow10 [2] |y1f [2] | 10599 |-----------+-------------+------------------+---------------+----------------| 10600 |ccosf [1] |dreml [2] |ilogbl [1] |pow10f [2] |y1l [2] | 10601 |-----------+-------------+------------------+---------------+----------------| 10602 |ccosh [1] |erf [1] |j0 [1] |pow10l [2] |yn [1] | 10603 |-----------+-------------+------------------+---------------+----------------| 10604 |ccoshf [1] |erfc [1] |j0f [2] |powf [1] |ynf [2] | 10605 |-----------+-------------+------------------+---------------+----------------| 10606 |ccoshl [1] |erfcf [1] |j0l [2] |powl [1] |ynl [2] | 10607 |-----------+-------------+------------------+---------------+----------------| 10608 |ccosl [1] |erfcl [1] |j1 [1] |remainder [1] | | 10609 |-----------+-------------+------------------+---------------+----------------| 10610 |ceil [1] |erff [1] |j1f [2] |remainderf [1] | | 10611 |-----------+-------------+------------------+---------------+----------------| 10612 |ceilf [1] |erfl [1] |j1l [2] |remainderl [1] | | 10613 |-----------+-------------+------------------+---------------+----------------| 10614 |ceill [1] |exp [1] |jn [1] |remquo [1] | | 10615 +-----------------------------------------------------------------------------+ 10616 10617 Referenced Specification(s) 10618 10619 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 10620 Specification(SUS) V3 10621 10622 [2]. ISO/IEC 9899: 1999, Programming Languages --C 10623 10624 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 10625 5 (ISBN: 1-85912-181-0, C606) 10626 10627 An LSB conforming implementation shall provide the generic data interfaces for 10628 Math specified in Table 1-30, with the full functionality as described in the 10629 referenced underlying specification. 10630 10631 Table 1-30. libm - Math Data Interfaces 10632 10633 +--------------------+ 10634 |signgam [1] | | | | | 10635 +--------------------+ 10636 10637 Referenced Specification(s) 10638 10639 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 10640 Specification(SUS) V3 10641 10642 ------------------------------------------------------------------------------- 10643 10644 Data Definitions for libm 10645 10646 This section defines global identifiers and their values that are associated 10647 with interfaces contained in libm. These definitions are organized into groups 10648 that correspond to system headers. This convention is used as a convenience for 10649 the reader, and does not imply the existence of these headers, or their 10650 content. 10651 10652 These definitions are intended to supplement those provided in the referenced 10653 underlying specifications. 10654 10655 This specification uses ISO/IEC 9899 C Language as the reference programming 10656 language, and data definitions are specified in ISO C format. The C language is 10657 used here as a convenient notation. Using a C language description of these 10658 data objects does not preclude their use by other programming languages. 10659 10660 ------------------------------------------------------------------------------- 10661 10662 complex.h 10663 10664 #define complex _Complex 10665 10666 ------------------------------------------------------------------------------- 10667 10668 math.h 10669 10670 #define DOMAIN 1 10671 #define SING 2 10672 10673 struct exception 10674 { 10675 int type; 10676 char *name; 10677 double arg1; 10678 double arg2; 10679 double retval; 10680 } 10681 ; 10682 #define isinf(x) (sizeof (x) == sizeof (float) ? __isinff (x): sizeof (x) == sizeof (double) ? __isinf (x) : __isinfl (x)) 10683 #define isnan(x) (sizeof (x) == sizeof (float) ? __isnanf (x) : sizeof (x) == sizeof (double) ? __isnan (x) : __isnanl (x)) 10684 10685 #define HUGE_VAL 0x1.0p2047 10686 #define HUGE_VALF 0x1.0p255f 10687 #define HUGE_VALL 0x1.0p32767L 10688 10689 #define NAN ((float)0x7fc00000UL) 10690 #define M_1_PI 0.31830988618379067154 10691 #define M_LOG10E 0.43429448190325182765 10692 #define M_2_PI 0.63661977236758134308 10693 #define M_LN2 0.69314718055994530942 10694 #define M_SQRT1_2 0.70710678118654752440 10695 #define M_PI_4 0.78539816339744830962 10696 #define M_2_SQRTPI 1.12837916709551257390 10697 #define M_SQRT2 1.41421356237309504880 10698 #define M_LOG2E 1.4426950408889634074 10699 #define M_PI_2 1.57079632679489661923 10700 #define M_LN10 2.30258509299404568402 10701 #define M_E 2.7182818284590452354 10702 #define M_PI 3.14159265358979323846 10703 #define INFINITY HUGE_VALF 10704 10705 #define MATH_ERRNO 1 10706 #define MATH_ERREXCEPT 2 10707 10708 ------------------------------------------------------------------------------- 10709 10710 Interfaces for libpthread 10711 10712 Table 1-31 defines the library name and shared object name for the libpthread 10713 library 10714 10715 Table 1-31. libpthread Definition 10716 10717 +-------------------------+ 10718 |Library:|libpthread | 10719 |--------+----------------| 10720 |SONAME: |libpthread.so.0 | 10721 +-------------------------+ 10722 10723 The behavior of the interfaces in this library is specified by the following 10724 specifications: 10725 10726 Large File Support 10727 Linux Standard Base 10728 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 10729 Specification(SUS) V3 10730 10731 ------------------------------------------------------------------------------- 10732 10733 Realtime Threads 10734 10735 ------------------------------------------------------------------------------- 10736 10737 Interfaces for Realtime Threads 10738 10739 No external functions are defined for libpthread - Realtime Threads 10740 10741 ------------------------------------------------------------------------------- 10742 10743 Advanced Realtime Threads 10744 10745 ------------------------------------------------------------------------------- 10746 10747 Interfaces for Advanced Realtime Threads 10748 10749 No external functions are defined for libpthread - Advanced Realtime Threads 10750 10751 ------------------------------------------------------------------------------- 10752 10753 Posix Threads 10754 10755 ------------------------------------------------------------------------------- 10756 10757 Interfaces for Posix Threads 10758 10759 An LSB conforming implementation shall provide the generic functions for Posix 10760 Threads specified in Table 1-32, with the full functionality as described in 10761 the referenced underlying specification. 10762 10763 Table 1-32. libpthread - Posix Threads Function Interfaces 10764 10765 +-----------------------------------------------------------------------------------------------------------------------------------------+ 10766 |_pthread_cleanup_pop [1] |pthread_cancel [2] |pthread_join [2] |pthread_rwlock_destroy [2] |pthread_setconcurrency| 10767 | | | | |[2] | 10768 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10769 |_pthread_cleanup_push [1] |pthread_cond_broadcast [2] |pthread_key_create [2] |pthread_rwlock_init [2] |pthread_setspecific | 10770 | | | | |[2] | 10771 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10772 |pread [2] |pthread_cond_destroy [2] |pthread_key_delete [2] |pthread_rwlock_rdlock [2] |pthread_sigmask [2] | 10773 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10774 |pread64 [3] |pthread_cond_init [2] |pthread_kill [2] |pthread_rwlock_timedrdlock |pthread_testcancel [2]| 10775 | | | |[2] | | 10776 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10777 |pthread_attr_destroy [2] |pthread_cond_signal [2] |pthread_mutex_destroy [2] |pthread_rwlock_timedwrlock |pwrite [2] | 10778 | | | |[2] | | 10779 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10780 |pthread_attr_getdetachstate|pthread_cond_timedwait [2] |pthread_mutex_init [2] |pthread_rwlock_tryrdlock [2] |pwrite64 [3] | 10781 |[2] | | | | | 10782 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10783 |pthread_attr_getguardsize |pthread_cond_wait [2] |pthread_mutex_lock [2] |pthread_rwlock_trywrlock [2] |sem_close [2] | 10784 |[2] | | | | | 10785 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10786 |pthread_attr_getschedparam |pthread_condattr_destroy |pthread_mutex_trylock [2] |pthread_rwlock_unlock [2] |sem_destroy [2] | 10787 |[2] |[2] | | | | 10788 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10789 |pthread_attr_getstackaddr |pthread_condattr_getpshared|pthread_mutex_unlock [2] |pthread_rwlock_wrlock [2] |sem_getvalue [2] | 10790 |[2] |[2] | | | | 10791 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10792 |pthread_attr_getstacksize |pthread_condattr_init [2] |pthread_mutexattr_destroy |pthread_rwlockattr_destroy |sem_init [2] | 10793 |[2] | |[2] |[2] | | 10794 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10795 |pthread_attr_init [2] |pthread_condattr_setpshared|pthread_mutexattr_getpshared|pthread_rwlockattr_getpshared|sem_open [2] | 10796 | |[2] |[2] |[2] | | 10797 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10798 |pthread_attr_setdetachstate|pthread_create [2] |pthread_mutexattr_gettype |pthread_rwlockattr_init [2] |sem_post [2] | 10799 |[2] | |[2] | | | 10800 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10801 |pthread_attr_setguardsize |pthread_detach [2] |pthread_mutexattr_init [2] |pthread_rwlockattr_setpshared|sem_timedwait [2] | 10802 |[2] | | |[2] | | 10803 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10804 |pthread_attr_setschedparam |pthread_equal [2] |pthread_mutexattr_setpshared|pthread_self [2] |sem_trywait [2] | 10805 |[2] | |[2] | | | 10806 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10807 |pthread_attr_setstackaddr |pthread_exit [2] |pthread_mutexattr_settype |pthread_setcancelstate [2] |sem_unlink [2] | 10808 |[2] | |[2] | | | 10809 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 10810 |pthread_attr_setstacksize |pthread_getspecific [2] |pthread_once [2] |pthread_setcanceltype [2] |sem_wait [2] | 10811 |[2] | | | | | 10812 +-----------------------------------------------------------------------------------------------------------------------------------------+ 10813 10814 Referenced Specification(s) 10815 10816 [1]. Linux Standard Base 10817 10818 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 10819 Specification(SUS) V3 10820 10821 [3]. Large File Support 10822 10823 ------------------------------------------------------------------------------- 10824 10825 Data Definitions for libpthread 10826 10827 This section defines global identifiers and their values that are associated 10828 with interfaces contained in libpthread. These definitions are organized into 10829 groups that correspond to system headers. This convention is used as a 10830 convenience for the reader, and does not imply the existence of these headers, 10831 or their content. 10832 10833 These definitions are intended to supplement those provided in the referenced 10834 underlying specifications. 10835 10836 This specification uses ISO/IEC 9899 C Language as the reference programming 10837 language, and data definitions are specified in ISO C format. The C language is 10838 used here as a convenient notation. Using a C language description of these 10839 data objects does not preclude their use by other programming languages. 10840 10841 ------------------------------------------------------------------------------- 10842 10843 pthread.h 10844 10845 #define PTHREAD_MUTEX_DEFAULT 1 10846 #define PTHREAD_MUTEX_NORMAL 1 10847 #define PTHREAD_MUTEX_TIMED_NP 1 10848 #define PTHREAD_MUTEX_RECURSIVE 2 10849 #define PTHREAD_RWLOCK_DEFAULT_NP 2 10850 #define PTHREAD_MUTEX_ERRORCHECK 3 10851 #define pthread_cleanup_pop(execute) _pthread_cleanup_pop(& _buffer,(execute));} 10852 #define __LOCK_INITIALIZER { 0, 0 } 10853 #define PTHREAD_RWLOCK_INITIALIZER { __LOCK_INITIALIZER, 0, NULL, NULL, NULL,PTHREAD_RWLOCK_DEFAULT_NP, PTHREAD_PROCESS_PRIVATE } 10854 #define PTHREAD_MUTEX_INITIALIZER {0,0,0,PTHREAD_MUTEX_TIMED_NP,__LOCK_INITIALIZER} 10855 #define pthread_cleanup_push(routine,arg) {struct _pthread_cleanup_buffer _buffer;_pthread_cleanup_push(& _buffer,(routine),(arg)); 10856 #define PTHREAD_COND_INITIALIZER {__LOCK_INITIALIZER,0} 10857 10858 struct _pthread_cleanup_buffer 10859 { 10860 void (*__routine) (void *); 10861 void *__arg; 10862 int __canceltype; 10863 struct _pthread_cleanup_buffer *__prev; 10864 } 10865 ; 10866 typedef unsigned int pthread_key_t; 10867 typedef int pthread_once_t; 10868 typedef long long __pthread_cond_align_t; 10869 10870 typedef unsigned long pthread_t; 10871 struct _pthread_fastlock 10872 { 10873 long __status; 10874 int __spinlock; 10875 } 10876 ; 10877 10878 typedef struct _pthread_descr_struct *_pthread_descr; 10879 10880 typedef struct 10881 { 10882 int __m_reserved; 10883 int __m_count; 10884 _pthread_descr __m_owner; 10885 int __m_kind; 10886 struct _pthread_fastlock __m_lock; 10887 } 10888 pthread_mutex_t; 10889 typedef struct 10890 { 10891 int __mutexkind; 10892 } 10893 pthread_mutexattr_t; 10894 10895 typedef struct 10896 { 10897 int __detachstate; 10898 int __schedpolicy; 10899 struct sched_param __schedparam; 10900 int __inheritsched; 10901 int __scope; 10902 size_t __guardsize; 10903 int __stackaddr_set; 10904 void *__stackaddr; 10905 unsigned long __stacksize; 10906 } 10907 pthread_attr_t; 10908 10909 typedef struct 10910 { 10911 struct _pthread_fastlock __c_lock; 10912 _pthread_descr __c_waiting; 10913 char __padding[48 - sizeof (struct _pthread_fastlock) - 10914 sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; 10915 __pthread_cond_align_t __align; 10916 } 10917 pthread_cond_t; 10918 typedef struct 10919 { 10920 int __dummy; 10921 } 10922 pthread_condattr_t; 10923 10924 typedef struct _pthread_rwlock_t 10925 { 10926 struct _pthread_fastlock __rw_lock; 10927 int __rw_readers; 10928 _pthread_descr __rw_writer; 10929 _pthread_descr __rw_read_waiting; 10930 _pthread_descr __rw_write_waiting; 10931 int __rw_kind; 10932 int __rw_pshared; 10933 } 10934 pthread_rwlock_t; 10935 typedef struct 10936 { 10937 int __lockkind; 10938 int __pshared; 10939 } 10940 pthread_rwlockattr_t; 10941 10942 #define PTHREAD_CREATE_JOINABLE 0 10943 #define PTHREAD_INHERIT_SCHED 0 10944 #define PTHREAD_ONCE_INIT 0 10945 #define PTHREAD_PROCESS_PRIVATE 0 10946 #define PTHREAD_CREATE_DETACHED 1 10947 #define PTHREAD_EXPLICIT_SCHED 1 10948 #define PTHREAD_PROCESS_SHARED 1 10949 10950 #define PTHREAD_CANCELED ((void*)-1) 10951 #define PTHREAD_CANCEL_DEFERRED 0 10952 #define PTHREAD_CANCEL_ENABLE 0 10953 #define PTHREAD_CANCEL_ASYNCHRONOUS 1 10954 #define PTHREAD_CANCEL_DISABLE 1 10955 10956 ------------------------------------------------------------------------------- 10957 10958 semaphore.h 10959 10960 typedef struct 10961 { 10962 struct _pthread_fastlock __sem_lock; 10963 int __sem_value; 10964 _pthread_descr __sem_waiting; 10965 } 10966 sem_t; 10967 #define SEM_FAILED ((sem_t*)0) 10968 10969 #define SEM_VALUE_MAX ((int)((~0u)>>1)) 10970 10971 ------------------------------------------------------------------------------- 10972 10973 Interface Definitions for libpthread 10974 10975 Table of Contents 10976 _pthread_cleanup_pop -- establish cancellation handlers 10977 _pthread_cleanup_push -- establish cancellation handlers 10978 10979 The following interfaces are included in libpthread and are defined by this 10980 specification. Unless otherwise noted, these interfaces shall be included in 10981 the source standard. 10982 10983 Other interfaces listed above for libpthread shall behave as described in the 10984 referenced base document. 10985 10986 _pthread_cleanup_pop 10987 10988 Name 10989 10990 _pthread_cleanup_pop -- establish cancellation handlers 10991 10992 Synopsis 10993 10994 #include 10995 10996 extern void _pthread_cleanup_pop(struct _pthread_cleanup_buffer *, int); 10997 10998 Description 10999 11000 Macro pthread_cleanup_pop defines the ABI _pthread_cleanup_pop is as specified 11001 in the Single UNIX Specification, Version 3. 11002 11003 _pthread_cleanup_push 11004 11005 Name 11006 11007 _pthread_cleanup_push -- establish cancellation handlers 11008 11009 Synopsis 11010 11011 #include 11012 11013 extern void _pthread_cleanup_push(struct _pthread_cleanup_buffer *, void (*) 11014 (void *), void *); 11015 11016 Description 11017 11018 Macro pthread_cleanup_push defines the ABI _pthread_cleanup_push is as 11019 specified in the Single UNIX Specification, Version 3. 11020 11021 ------------------------------------------------------------------------------- 11022 11023 Interfaces for libgcc_s 11024 11025 Table 1-33 defines the library name and shared object name for the libgcc_s 11026 library 11027 11028 Table 1-33. libgcc_s Definition 11029 11030 +-----------------------+ 11031 |Library:|libgcc_s | 11032 |--------+--------------| 11033 |SONAME: |libgcc_s.so.1 | 11034 +-----------------------+ 11035 11036 ------------------------------------------------------------------------------- 11037 11038 Unwind Library 11039 11040 ------------------------------------------------------------------------------- 11041 11042 Interfaces for Unwind Library 11043 11044 No external functions are defined for libgcc_s - Unwind Library 11045 11046 ------------------------------------------------------------------------------- 11047 11048 Data Definitions for libgcc_s 11049 11050 This section defines global identifiers and their values that are associated 11051 with interfaces contained in libgcc_s. These definitions are organized into 11052 groups that correspond to system headers. This convention is used as a 11053 convenience for the reader, and does not imply the existence of these headers, 11054 or their content. 11055 11056 These definitions are intended to supplement those provided in the referenced 11057 underlying specifications. 11058 11059 This specification uses ISO/IEC 9899 C Language as the reference programming 11060 language, and data definitions are specified in ISO C format. The C language is 11061 used here as a convenient notation. Using a C language description of these 11062 data objects does not preclude their use by other programming languages. 11063 11064 ------------------------------------------------------------------------------- 11065 11066 unwind.h 11067 11068 struct dwarf_eh_base 11069 { 11070 void *tbase; 11071 void *dbase; 11072 void *func; 11073 } 11074 ; 11075 struct _Unwind_Context; 11076 11077 typedef unsigned int _Unwind_Ptr; 11078 typedef unsigned int _Unwind_Word; 11079 11080 typedef enum 11081 { 11082 _URC_NO_REASON, _URC_FOREIGN_EXCEPTION_CAUGHT = 1, _URC_FATAL_PHASE2_ERROR = 11083 2, _URC_FATAL_PHASE1_ERROR = 3, _URC_NORMAL_STOP = 4, _URC_END_OF_STACK = 11084 5, _URC_HANDLER_FOUND = 6, _URC_INSTALL_CONTEXT = 11085 7, _URC_CONTINUE_UNWIND = 8 11086 } 11087 _Unwind_Reason_Code; 11088 11089 struct _Unwind_Exception 11090 { 11091 _Unwind_Exception_Class; 11092 _Unwind_Exception_Cleanup_Fn; 11093 _Unwind_Word; 11094 _Unwind_Word; 11095 } 11096 ; 11097 #define _UA_SEARCH_PHASE 1 11098 #define _UA_END_OF_STACK 16 11099 #define _UA_CLEANUP_PHASE 2 11100 #define _UA_HANDLER_FRAME 4 11101 #define _UA_FORCE_UNWIND 8 11102 11103 ------------------------------------------------------------------------------- 11104 11105 Interfaces for libdl 11106 11107 Table 1-34 defines the library name and shared object name for the libdl 11108 library 11109 11110 Table 1-34. libdl Definition 11111 11112 +--------------------+ 11113 |Library:|libdl | 11114 |--------+-----------| 11115 |SONAME: |libdl.so.2 | 11116 +--------------------+ 11117 11118 The behavior of the interfaces in this library is specified by the following 11119 specifications: 11120 11121 Linux Standard Base 11122 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 11123 Specification(SUS) V3 11124 11125 ------------------------------------------------------------------------------- 11126 11127 Dynamic Loader 11128 11129 ------------------------------------------------------------------------------- 11130 11131 Interfaces for Dynamic Loader 11132 11133 An LSB conforming implementation shall provide the generic functions for 11134 Dynamic Loader specified in Table 1-35, with the full functionality as 11135 described in the referenced underlying specification. 11136 11137 Table 1-35. libdl - Dynamic Loader Function Interfaces 11138 11139 +-------------------------------------------------------+ 11140 |dladdr [1]|dlclose [2]|dlerror [2]|dlopen [1]|dlsym [1]| 11141 +-------------------------------------------------------+ 11142 11143 Referenced Specification(s) 11144 11145 [1]. Linux Standard Base 11146 11147 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 11148 Specification(SUS) V3 11149 11150 ------------------------------------------------------------------------------- 11151 11152 Data Definitions for libdl 11153 11154 This section defines global identifiers and their values that are associated 11155 with interfaces contained in libdl. These definitions are organized into groups 11156 that correspond to system headers. This convention is used as a convenience for 11157 the reader, and does not imply the existence of these headers, or their 11158 content. 11159 11160 These definitions are intended to supplement those provided in the referenced 11161 underlying specifications. 11162 11163 This specification uses ISO/IEC 9899 C Language as the reference programming 11164 language, and data definitions are specified in ISO C format. The C language is 11165 used here as a convenient notation. Using a C language description of these 11166 data objects does not preclude their use by other programming languages. 11167 11168 ------------------------------------------------------------------------------- 11169 11170 dlfcn.h 11171 11172 #define RTLD_NEXT ((void *) -1l) 11173 #define RTLD_LOCAL 0 11174 #define RTLD_LAZY 0x00001 11175 #define RTLD_NOW 0x00002 11176 #define RTLD_GLOBAL 0x00100 11177 11178 typedef struct 11179 { 11180 char *dli_fname; 11181 void *dli_fbase; 11182 char *dli_sname; 11183 void *dli_saddr; 11184 } 11185 Dl_info; 11186 11187 ------------------------------------------------------------------------------- 11188 11189 Interface Definitions for libdl 11190 11191 Table of Contents 11192 dladdr -- library routine for dynamic linking of object files 11193 dlopen -- open dynamic object 11194 dlsym -- obtain the address of a symbol from a dlopen object 11195 11196 The following interfaces are included in libdl and are defined by this 11197 specification. Unless otherwise noted, these interfaces shall be included in 11198 the source standard. 11199 11200 Other interfaces listed above for libdl shall behave as described in the 11201 referenced base document. 11202 11203 dladdr 11204 11205 Name 11206 11207 dladdr -- library routine for dynamic linking of object files 11208 11209 Synopsis 11210 11211 #include 11212 11213 typedef struct { 11214 const char *dli_fname; 11215 void *dli_fbase; 11216 const char *dli_sname; 11217 void *dli_saddr; 11218 } Dl_info; 11219 11220 int dladdr(void *address, Dl_info *dlip); 11221 11222 Description 11223 11224 dladdr implements the System V dynamic linking routines. 11225 11226 Return Value 11227 11228 dladdr is the inverse of dlsym. If address is successfully located inside a 11229 module, dladdr returns a nonzero value, otherwise, it returns a 0. On success, 11230 dladdr fills in the fields of dlip as follows: 11231 11232 dli_fname 11233 11234 the pathname of the module 11235 11236 dli_fbase 11237 11238 the base address of the module 11239 11240 dli_sname 11241 11242 the name of the highest addressed symbol whose address precedes the given 11243 address 11244 11245 dli_saddr 11246 11247 the address of that symbol 11248 11249 Shared objects shall be linked using the -shared option to the linker ld(1). 11250 The linker flag -rpath may be used to add a directory to the default search 11251 path for shared objects and shared libraries. The linker flag -E or the C 11252 compiler flag -rdynamic should be used to cause the application to export its 11253 symbols to the shared objects. 11254 11255 Environment 11256 11257 LD_LIBRARY_PATH 11258 11259 directory search-path for object files 11260 11261 dlopen 11262 11263 Name 11264 11265 dlopen -- open dynamic object 11266 11267 Synopsis 11268 11269 #include 11270 11271 void * dlopen(const char *filename, int flag); 11272 11273 Description 11274 11275 dlopen shall behave as specified in ISO/IEC 9945:2003 Portable Operating System 11276 (POSIX)and The Single UNIX Specification(SUS) V3, but with additional 11277 behaviors listed below. 11278 11279 If the file argument does not contain a slash character, then the system shall 11280 look for a library of that name in at least the following directories, and use 11281 the first one which is found: 11282 11283 * The directories specified by the DT_RPATH dynamic entry. 11284 11285 * The directories specified in the LD_LIBRARY_PATH environment variable 11286 (which is a colon separated list of pathnames). This step shall be skipped 11287 for setuid and setgid executables. 11288 11289 * A set of directories sufficient to contain the libraries specified in this 11290 standard. [14] 11291 11292 11293 11294 dlsym 11295 11296 Name 11297 11298 dlsym -- obtain the address of a symbol from a dlopen object 11299 11300 Description 11301 11302 dlsym is as specified in the ISO/IEC 9945:2003 Portable Operating System(POSIX) 11303 and The Single UNIX Specification(SUS) V3, but with differences as listed 11304 below. 11305 11306 The special purpose value for handle RTLD_NEXT 11307 11308 The value RTLD_NEXT, which is reserved for future use shall be available, with 11309 the behavior as described in ISO/IEC 9945:2003 Portable Operating System(POSIX) 11310 and The Single UNIX Specification(SUS) V3. 11311 11312 ------------------------------------------------------------------------------- 11313 11314 Interfaces for libcrypt 11315 11316 Table 1-36 defines the library name and shared object name for the libcrypt 11317 library 11318 11319 Table 1-36. libcrypt Definition 11320 11321 +-----------------------+ 11322 |Library:|libcrypt | 11323 |--------+--------------| 11324 |SONAME: |libcrypt.so.1 | 11325 +-----------------------+ 11326 11327 The behavior of the interfaces in this library is specified by the following 11328 specifications: 11329 11330 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 11331 Specification(SUS) V3 11332 11333 ------------------------------------------------------------------------------- 11334 11335 Encryption 11336 11337 ------------------------------------------------------------------------------- 11338 11339 Interfaces for Encryption 11340 11341 An LSB conforming implementation shall provide the generic functions for 11342 Encryption specified in Table 1-37, with the full functionality as described in 11343 the referenced underlying specification. 11344 11345 Table 1-37. libcrypt - Encryption Function Interfaces 11346 11347 +------------------------------------+ 11348 |crypt [1]|encrypt [1]|setkey [1]| | | 11349 +------------------------------------+ 11350 11351 Referenced Specification(s) 11352 11353 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 11354 Specification(SUS) V3 11355 11356 ------------------------------------------------------------------------------- 11357 11358 Interfaces for libpam 11359 11360 Table 1-38 defines the library name and shared object name for the libpam 11361 library 11362 11363 Table 1-38. libpam Definition 11364 11365 +---------------------+ 11366 |Library:|libpam | 11367 |--------+------------| 11368 |SONAME: |libpam.so.0 | 11369 +---------------------+ 11370 11371 A single service name, other, shall always be present. The behavior of this 11372 service shall be determined by the system administrator. Additional service 11373 names may also exist. [15] 11374 11375 The behavior of the interfaces in this library is specified by the following 11376 specifications: 11377 11378 Linux Standard Base 11379 11380 ------------------------------------------------------------------------------- 11381 11382 Pluggable Authentication API 11383 11384 ------------------------------------------------------------------------------- 11385 11386 Interfaces for Pluggable Authentication API 11387 11388 An LSB conforming implementation shall provide the generic functions for 11389 Pluggable Authentication API specified in Table 1-39, with the full 11390 functionality as described in the referenced underlying specification. 11391 11392 Table 1-39. libpam - Pluggable Authentication API Function Interfaces 11393 11394 +-----------------------------------------------------------------------------+ 11395 |pam_acct_mgmt |pam_close_session|pam_get_item [1]|pam_set_item|pam_strerror| 11396 |[1] |[1] | |[1] |[1] | 11397 |----------------+-----------------+----------------+------------+------------| 11398 |pam_authenticate|pam_end [1] |pam_getenvlist |pam_setcred | | 11399 |[1] | |[1] |[1] | | 11400 |----------------+-----------------+----------------+------------+------------| 11401 |pam_chauthtok |pam_fail_delay |pam_open_session|pam_start | | 11402 |[1] |[1] |[1] |[1] | | 11403 +-----------------------------------------------------------------------------+ 11404 11405 Referenced Specification(s) 11406 11407 [1]. Linux Standard Base 11408 11409 ------------------------------------------------------------------------------- 11410 11411 Data Definitions for libpam 11412 11413 This section defines global identifiers and their values that are associated 11414 with interfaces contained in libpam. These definitions are organized into 11415 groups that correspond to system headers. This convention is used as a 11416 convenience for the reader, and does not imply the existence of these headers, 11417 or their content. 11418 11419 These definitions are intended to supplement those provided in the referenced 11420 underlying specifications. 11421 11422 This specification uses ISO/IEC 9899 C Language as the reference programming 11423 language, and data definitions are specified in ISO C format. The C language is 11424 used here as a convenient notation. Using a C language description of these 11425 data objects does not preclude their use by other programming languages. 11426 11427 ------------------------------------------------------------------------------- 11428 11429 security/pam_appl.h 11430 11431 typedef struct pam_handle pam_handle_t; 11432 struct pam_message 11433 { 11434 int msg_style; 11435 const char *msg; 11436 } 11437 ; 11438 struct pam_response 11439 { 11440 char *resp; 11441 int resp_retcode; 11442 } 11443 ; 11444 11445 struct pam_conv 11446 { 11447 int (*conv) (int num_msg, const struct pam_message * *msg, 11448 struct pam_response * *resp, void *appdata_ptr); 11449 void *appdata_ptr; 11450 } 11451 ; 11452 #define PAM_PROMPT_ECHO_OFF 1 11453 #define PAM_PROMPT_ECHO_ON 2 11454 #define PAM_ERROR_MSG 3 11455 #define PAM_TEXT_INFO 4 11456 11457 #define PAM_SERVICE 1 11458 #define PAM_USER 2 11459 #define PAM_TTY 3 11460 #define PAM_RHOST 4 11461 #define PAM_CONV 5 11462 #define PAM_RUSER 8 11463 #define PAM_USER_PROMPT 9 11464 11465 #define PAM_SUCCESS 0 11466 #define PAM_OPEN_ERR 1 11467 #define PAM_USER_UNKNOWN 10 11468 #define PAM_MAXTRIES 11 11469 #define PAM_NEW_AUTHTOK_REQD 12 11470 #define PAM_ACCT_EXPIRED 13 11471 #define PAM_SESSION_ERR 14 11472 #define PAM_CRED_UNAVAIL 15 11473 #define PAM_CRED_EXPIRED 16 11474 #define PAM_CRED_ERR 17 11475 #define PAM_CONV_ERR 19 11476 #define PAM_SYMBOL_ERR 2 11477 #define PAM_AUTHTOK_ERR 20 11478 #define PAM_AUTHTOK_RECOVER_ERR 21 11479 #define PAM_AUTHTOK_LOCK_BUSY 22 11480 #define PAM_AUTHTOK_DISABLE_AGING 23 11481 #define PAM_TRY_AGAIN 24 11482 #define PAM_ABORT 26 11483 #define PAM_AUTHTOK_EXPIRED 27 11484 #define PAM_BAD_ITEM 29 11485 #define PAM_SERVICE_ERR 3 11486 #define PAM_SYSTEM_ERR 4 11487 #define PAM_BUF_ERR 5 11488 #define PAM_PERM_DENIED 6 11489 #define PAM_AUTH_ERR 7 11490 #define PAM_CRED_INSUFFICIENT 8 11491 #define PAM_AUTHINFO_UNAVAIL 9 11492 11493 #define PAM_DISALLOW_NULL_AUTHTOK 0x0001U 11494 #define PAM_ESTABLISH_CRED 0x0002U 11495 #define PAM_DELETE_CRED 0x0004U 11496 #define PAM_REINITIALIZE_CRED 0x0008U 11497 #define PAM_REFRESH_CRED 0x0010U 11498 #define PAM_CHANGE_EXPIRED_AUTHTOK 0x0020U 11499 #define PAM_SILENT 0x8000U 11500 11501 ------------------------------------------------------------------------------- 11502 11503 Interface Definitions for libpam 11504 11505 Table of Contents 11506 pam_acct_mgmt -- establish the status of a user's account 11507 pam_authenticate -- authenticate the user 11508 pam_chauthtok -- change the authentication token for a given user 11509 pam_close_session -- indicate that an authenticated session has ended 11510 pam_end -- terminate the use of the PAM library 11511 pam_fail_delay -- specify delay time to use on authentication error 11512 pam_get_item -- obtain the value of the indicated item. 11513 pam_getenvlist -- returns a pointer to the complete PAM environment. 11514 pam_open_session -- used to indicate that an authenticated session has been 11515 initiated 11516 pam_set_item -- (re)set the value of an item. 11517 pam_setcred -- set the module-specific credentials of the user 11518 pam_start -- initialize the PAM library 11519 pam_strerror -- returns a string describing the PAM error 11520 11521 The following interfaces are included in libpam and are defined by this 11522 specification. Unless otherwise noted, these interfaces shall be included in 11523 the source standard. 11524 11525 Other interfaces listed above for libpam shall behave as described in the 11526 referenced base document. 11527 11528 pam_acct_mgmt 11529 11530 Name 11531 11532 pam_acct_mgmt -- establish the status of a user's account 11533 11534 Synopsis 11535 11536 #include 11537 11538 extern int pam_acct_mgmt(pam_handle_t *pamh, int flags); 11539 11540 Description 11541 11542 pam_acct_mgmt establishes the account's usability and the user's accessibility 11543 to the system. It is typically called after the user has been authenticated. 11544 11545 flags may be specified as any valid flag (namely, one of those applicable to 11546 the flags argument of pam_authenticate). Additionally, the value of flags may 11547 be logically or'd with PAM_SILENT. 11548 11549 Return Value 11550 11551 PAM_SUCCESS 11552 11553 Success. 11554 11555 PAM_NEW_AUTHTOK_REQD 11556 11557 User is valid, but user's authentication token has expired. The correct 11558 response to this return-value is to require that the user satisfy the 11559 pam_chauthtok function before obtaining service. It may not be possible for 11560 an application to do this. In such a case, the user should be denied access 11561 until the account password is updated. 11562 11563 PAM_ACCT_EXPIRED 11564 11565 User is no longer permitted access to the system. 11566 11567 PAM_AUTH_ERR 11568 11569 Authentication error. 11570 11571 PAM_PERM_DENIED 11572 11573 User is not permitted to gain access at this time. 11574 11575 PAM_USER_UNKNOWN 11576 11577 User is not known to a module's account management component. 11578 11579 Errors 11580 11581 May be translated to text with pam_strerror. 11582 11583 pam_authenticate 11584 11585 Name 11586 11587 pam_authenticate -- authenticate the user 11588 11589 Synopsis 11590 11591 #include 11592 11593 extern int pam_authenticate(pam_handle_t *pamh, int flags); 11594 11595 Description 11596 11597 pam_authenticate serves as an interface to the authentication mechanisms of the 11598 loaded modules. 11599 11600 flags is an optional parameter that may be specified by the following value: 11601 11602 PAM_DISALLOW_NULL_AUTHTOK 11603 11604 Instruct the authentication modules to return PAM_AUTH_ERR if the user does 11605 not have a registered authorization token. 11606 11607 Additionally, the value of flags may be logically or'd with PAM_SILENT. 11608 11609 The process may need to be privileged in order to successfully call this 11610 function. 11611 11612 Return Value 11613 11614 PAM_SUCCESS 11615 11616 Success. 11617 11618 PAM_AUTH_ERR 11619 11620 User was not authenticated or process did not have sufficient privileges to 11621 perform authentication. 11622 11623 PAM_CRED_INSUFFICIENT 11624 11625 Application does not have sufficient credentials to authenticate the user. 11626 11627 PAM_AUTHINFO_UNAVAIL 11628 11629 Modules were not able to access the authentication information. This might 11630 be due to a network or hardware failure, etc. 11631 11632 PAM_USER_UNKNOWN 11633 11634 Supplied username is not known to the authentication service. 11635 11636 PAM_MAXTRIES 11637 11638 One or more authentication modules has reached its limit of tries 11639 authenticating the user. Do not try again. 11640 11641 PAM_ABORT 11642 11643 One or more authentication modules failed to load. 11644 11645 Errors 11646 11647 May be translated to text with pam_strerror. 11648 11649 pam_chauthtok 11650 11651 Name 11652 11653 pam_chauthtok -- change the authentication token for a given user 11654 11655 Synopsis 11656 11657 #include 11658 11659 extern int pam_chauthtok(pam_handle_t *pamh, const int flags); 11660 11661 Description 11662 11663 pam_chauthtok is used to change the authentication token for a given user as 11664 indicated by the state associated with the handle pamh. 11665 11666 flags is an optional parameter that may be specified by the following value: 11667 11668 PAM_CHANGE_EXPIRED_AUTHTOK 11669 11670 User's authentication token should only be changed if it has expired. 11671 11672 Additionally, the value of flags may be logically or'd with PAM_SILENT. 11673 11674 RETURN VALUE 11675 11676 PAM_SUCCESS 11677 11678 Success. 11679 11680 PAM_AUTHTOK_ERR 11681 11682 A module was unable to obtain the new authentication token. 11683 11684 PAM_AUTHTOK_RECOVER_ERR 11685 11686 A module was unable to obtain the old authentication token. 11687 11688 PAM_AUTHTOK_LOCK_BUSY 11689 11690 One or more modules were unable to change the authentication token since it 11691 is currently locked. 11692 11693 PAM_AUTHTOK_DISABLE_AGING 11694 11695 Authentication token aging has been disabled for at least one of the 11696 modules. 11697 11698 PAM_PERM_DENIED 11699 11700 Permission denied. 11701 11702 PAM_TRY_AGAIN 11703 11704 Not all modules were in a position to update the authentication token(s). 11705 In such a case, none of the user's authentication tokens are updated. 11706 11707 PAM_USER_UNKNOWN 11708 11709 User is not known to the authentication token changing service. 11710 11711 ERRORS 11712 11713 May be translated to text with pam_strerror. 11714 11715 pam_close_session 11716 11717 Name 11718 11719 pam_close_session -- indicate that an authenticated session has ended 11720 11721 Synopsis 11722 11723 #include 11724 11725 extern int pam_close_session(pam_handle_t *pamh, int flags); 11726 11727 Description 11728 11729 pam_close_session is used to indicate that an authenticated session has ended. 11730 It is used to inform the module that the user is exiting a session. It should 11731 be possible for the PAM library to open a session and close the same session 11732 from different applications. 11733 11734 flags may have the value PAM_SILENT to indicate that no output should be 11735 generated as a result of this function call. 11736 11737 Return Value 11738 11739 PAM_SUCCESS 11740 11741 Success. 11742 11743 PAM_SESSION_ERR 11744 11745 One of the required loaded modules was unable to close a session for the 11746 user. 11747 11748 Errors 11749 11750 May be translated to text with pam_strerror. 11751 11752 pam_end 11753 11754 Name 11755 11756 pam_end -- terminate the use of the PAM library 11757 11758 Synopsis 11759 11760 #include 11761 11762 extern int pam_end(pam_handle_t *pamh, int pam_status); 11763 11764 Description 11765 11766 pam_end terminates use of the PAM library. On success, the contents of *pamh 11767 are no longer valid, and all memory associated with it is invalid. 11768 11769 Normally, pam_status is passed the value PAM_SUCCESS, but in the event of an 11770 unsuccessful service application, the appropriate PAM error return value should 11771 be used. 11772 11773 Return Value 11774 11775 PAM_SUCCESS 11776 11777 Success. 11778 11779 Errors 11780 11781 May be translated to text with pam_strerror. 11782 11783 pam_fail_delay 11784 11785 Name 11786 11787 pam_fail_delay -- specify delay time to use on authentication error 11788 11789 Synopsis 11790 11791 #include 11792 11793 extern int pam_fail_delay(pam_handle_t *pamh, unsigned int micro_sec); 11794 11795 Description 11796 11797 pam_fail_delay specifies the minimum delay for the PAM library to use when an 11798 authentication error occurs. The actual delay can vary by as much at 25%. If 11799 this function is called multiple times, the longest time specified by any of 11800 the call will be used. 11801 11802 The delay is invoked if an authentication error occurs during the 11803 pam_authenticate or pam_chauthtok function calls. 11804 11805 Independent of the success of pam_authenticate or pam_chauthtok, the delay time 11806 is reset to its default value of 0 when the PAM library returns control to the 11807 application from these two functions. 11808 11809 Return Value 11810 11811 PAM_SUCCESS 11812 11813 Success. 11814 11815 Errors 11816 11817 May be translated to text with pam_strerror. 11818 11819 pam_get_item 11820 11821 Name 11822 11823 pam_get_item -- obtain the value of the indicated item. 11824 11825 Synopsis 11826 11827 #include 11828 11829 extern int pam_get_item(const pam_handle_t *pamh, int item_type, const void 11830 **item); 11831 11832 Description 11833 11834 pam_get_item obtains the value of the indicated item_type. The possible values 11835 of item_type are the same as listed for pam_set_item. 11836 11837 On success, item contains a pointer to the value of the corresponding item. 11838 Note that this is a pointer to the actual data and should not be free'd or 11839 over-written. 11840 11841 Return Value 11842 11843 PAM_SUCCESS 11844 11845 Success. 11846 11847 PAM_PERM_DENIED 11848 11849 Application passed a NULL pointer for item. 11850 11851 PAM_BAD_ITEM 11852 11853 Application attempted to get an undefined item. 11854 11855 Errors 11856 11857 May be translated to text with pam_strerror. 11858 11859 pam_getenvlist 11860 11861 Name 11862 11863 pam_getenvlist -- returns a pointer to the complete PAM environment. 11864 11865 Synopsis 11866 11867 #include 11868 11869 extern char * const *pam_getenvlist(pam_handle_t *pamh); 11870 11871 Description 11872 11873 pam_getenvlist returns a pointer to the complete PAM environment. This pointer 11874 points to an array of pointers to NUL-terminated strings and must be terminated 11875 by a NULL pointer. Each string has the form "name=value". 11876 11877 The PAM library module allocates memory for the returned value and the 11878 associated strings. The calling application is responsible for freeing this 11879 memory. 11880 11881 Return Value 11882 11883 pam_getenvlist returns an array of string pointers containing the PAM 11884 environment. On error, NULL is returned. 11885 11886 pam_open_session 11887 11888 Name 11889 11890 pam_open_session -- used to indicate that an authenticated session has been 11891 initiated 11892 11893 Synopsis 11894 11895 #include 11896 11897 extern int pam_open_session(pam_handle_t *pamh, int flags); 11898 11899 Description 11900 11901 pam_handle_t is used to indicate that an authenticated session has begun. It is 11902 used to inform the module that the user is currently in a session. It should be 11903 possible for the PAM library to open a session and close the same session from 11904 different applications. 11905 11906 flags may have the value PAM_SILENT to indicate that no output be generated as 11907 a rsult of this function call. 11908 11909 Return Value 11910 11911 PAM_SUCCESS 11912 11913 Success. 11914 11915 PAM_SESSION_ERR 11916 11917 One of the loaded modules was unable to open a session for the user. 11918 11919 ERRORS 11920 11921 May be translated to text with pam_strerror. 11922 11923 pam_set_item 11924 11925 Name 11926 11927 pam_set_item -- (re)set the value of an item. 11928 11929 Synopsis 11930 11931 #include 11932 11933 extern int pam_set_item(pam_handle_t *pamh, int item_type, const void *item); 11934 11935 Description 11936 11937 pam_set_item (re)sets the value of one of the following item_types: 11938 11939 PAM_SERVICE 11940 11941 service name 11942 11943 PAM_USER 11944 11945 user name 11946 11947 PAM_TTY 11948 11949 terminal name 11950 11951 The value for a device file should include the /dev/ prefix. The value for 11952 graphical, X-based, applications should be the $DISPLAY variable. 11953 11954 PAM_RHOST 11955 11956 remote host name 11957 11958 PAM_CONV 11959 11960 conversation structure 11961 11962 PAM_RUSER 11963 11964 remote user name 11965 11966 PAM_USER_PROMPT 11967 11968 string to be used when prompting for a user's name 11969 11970 The default value for this string is Please enter username: . 11971 11972 For all item_types other than PAM_CONV, item is a pointer to a NULL-terminated 11973 character string. In the case of PAM_CONV, item points to an initialized 11974 pam_conv structure. 11975 11976 Return Value 11977 11978 PAM_SUCCESS 11979 11980 Success. 11981 11982 PAM_PERM_DENIED 11983 11984 An attempt was made to replace the conversation structure with a NULL 11985 value. 11986 11987 PAM_BUF_ERR 11988 11989 Function ran out of memory making a copy of the item. 11990 11991 PAM_BAD_ITEM 11992 11993 Application attempted to set an undefined item. 11994 11995 Errors 11996 11997 May be translated to text with pam_strerror. 11998 11999 pam_setcred 12000 12001 Name 12002 12003 pam_setcred -- set the module-specific credentials of the user 12004 12005 Synopsis 12006 12007 #include 12008 12009 extern int pam_setcred(pam_handle_t *pamh, int flags); 12010 12011 Description 12012 12013 pam_setcred sets the module-specific credentials of the user. It is usually 12014 called after the user has been authenticated, after the account management 12015 function has been called and after a session has been opened for the user. 12016 12017 flags maybe specified from among the following values: 12018 12019 PAM_ESTABLISH_CRED 12020 12021 set credentials for the authentication service 12022 12023 PAM_DELETE_CRED 12024 12025 delete credentials associated with the authentication service 12026 12027 PAM_REINITIALIZE_CRED 12028 12029 reinitialize the user credentials 12030 12031 PAM_REFRESH_CRED 12032 12033 extend lifetime of the user credentials 12034 12035 Additionally, the value of flags may be logically or'd with PAM_SILENT. 12036 12037 Return Value 12038 12039 PAM_SUCCESS 12040 12041 Success. 12042 12043 PAM_CRED_UNAVAIL 12044 12045 Module cannot retrieve the user's credentials. 12046 12047 PAM_CRED_EXPIRED 12048 12049 User's credentials have expired. 12050 12051 PAM_USER_UNKNOWN 12052 12053 User is not known to an authentication module. 12054 12055 PAM_CRED_ERR 12056 12057 Module was unable to set the credentials of the user. 12058 12059 Errors 12060 12061 May be translated to text with pam_strerror. 12062 12063 pam_start 12064 12065 Name 12066 12067 pam_start -- initialize the PAM library 12068 12069 Synopsis 12070 12071 #include 12072 12073 extern int pam_start(const char *service_name, const char *user, const (struct 12074 pam_conv *pam_conversation), pam_handle_t **pamh); 12075 12076 Description 12077 12078 pam_start is used to initialize the PAM library. It must be called prior to any 12079 other usage of the PAM library. On success, *pamh becomes a handle that 12080 provides continuity for successive calls to the PAM library. pam_start expects 12081 arguments as follows: the service_name of the program, the username of the 12082 individual to be authenticated, a pointer to an application-supplied pam_conv 12083 structure, and a pointer to a pam_handle_t pointer. 12084 12085 An application must provide the conversation function used for direct 12086 communication between a loaded module and the application. The application also 12087 typically provides a means for the module to prompt the user for a password, 12088 etc. 12089 12090 The structure, pam_conv, is defined to be, 12091 12092 struct pam_conv { 12093 int (*conv) (int num_msg, 12094 const struct pam_message * *msg, 12095 struct pam_response * *resp, 12096 void *appdata_ptr); 12097 void *appdata_ptr; 12098 }; 12099 12100 It is initialized by the application before it is passed to the library. The 12101 contents of this structure are attached to the *pamh handle. The point of this 12102 argument is to provide a mechanism for any loaded module to interact directly 12103 with the application program; this is why it is called a conversation 12104 structure. 12105 12106 When a module calls the referenced conv function, appdata_ptr is set to the 12107 second element of this structure. 12108 12109 The other arguments of a call to conv concern the information exchanged by 12110 module and application. num_msg holds the length of the array of pointers 12111 passed via msg. On success, the pointer resp points to an array of num_msg 12112 pam_response structures, holding the application-supplied text. Note that resp 12113 is a struct pam_response array and not an array of pointers. 12114 12115 Return Value 12116 12117 PAM_SUCCESS 12118 12119 Success. 12120 12121 PAM_BUF_ERR 12122 12123 Memory allocation error. 12124 12125 PAM_ABORT 12126 12127 Internal failure. 12128 12129 ERRORS 12130 12131 May be translated to text with pam_strerror. 12132 12133 pam_strerror 12134 12135 Name 12136 12137 pam_strerror -- returns a string describing the PAM error 12138 12139 Synopsis 12140 12141 #include 12142 12143 extern const char * pam_strerror(pam_handle_t *pamh, int errnum); 12144 12145 Description 12146 12147 pam_strerror returns a string describing the PAM error associated with errnum. 12148 12149 Return Value 12150 12151 On success, this function returns a description of the indicated error. The 12152 application should not free or modify this string. This returned string will 12153 not be translated. 12154 12155 II. Utility Libraries 12156 12157 Table of Contents 12158 2. Libraries 12159 12160 ------------------------------------------------------------------------------- 12161 12162 Chapter 2. Libraries 12163 12164 An LSB-conforming implementation may also support some utility libraries which 12165 are built on top of the interfaces provided by the base libraries. These 12166 libraries implement common functionality, and hide additional system dependent 12167 information such as file formats and device names. 12168 12169 ------------------------------------------------------------------------------- 12170 12171 Interfaces for libz 12172 12173 Table 2-1 defines the library name and shared object name for the libz library 12174 12175 Table 2-1. libz Definition 12176 12177 +-------------------+ 12178 |Library:|libz | 12179 |--------+----------| 12180 |SONAME: |libz.so.1 | 12181 +-------------------+ 12182 12183 The behavior of the interfaces in this library is specified by the following 12184 specifications: 12185 12186 zlib 1.2 Manual 12187 12188 ------------------------------------------------------------------------------- 12189 12190 Compression Library 12191 12192 ------------------------------------------------------------------------------- 12193 12194 Interfaces for Compression Library 12195 12196 An LSB conforming implementation shall provide the generic functions for 12197 Compression Library specified in Table 2-2, with the full functionality as 12198 described in the referenced underlying specification. 12199 12200 Table 2-2. libz - Compression Library Function Interfaces 12201 12202 +-----------------------------------------------------------------------------+ 12203 |adler32 [1] |deflateInit_ [1] |gzerror |gzread [1] |inflateInit2_ [1] | 12204 | | |[1] | | | 12205 |-------------+--------------------+---------+-----------+--------------------| 12206 |compress [1] |deflateParams [1] |gzflush |gzrewind |inflateInit_ [1] | 12207 | | |[1] |[1] | | 12208 |-------------+--------------------+---------+-----------+--------------------| 12209 |compress2 [1]|deflateReset [1] |gzgetc |gzseek [1] |inflateReset [1] | 12210 | | |[1] | | | 12211 |-------------+--------------------+---------+-----------+--------------------| 12212 |crc32 [1] |deflateSetDictionary|gzgets |gzsetparams|inflateSetDictionary| 12213 | |[1] |[1] |[1] |[1] | 12214 |-------------+--------------------+---------+-----------+--------------------| 12215 |deflate [1] |get_crc_table [1] |gzopen |gztell [1] |inflateSync [1] | 12216 | | |[1] | | | 12217 |-------------+--------------------+---------+-----------+--------------------| 12218 |deflateCopy |gzclose [1] |gzprintf |gzwrite [1]|inflateSyncPoint [1]| 12219 |[1] | |[1] | | | 12220 |-------------+--------------------+---------+-----------+--------------------| 12221 |deflateEnd |gzdopen [1] |gzputc |inflate [1]|uncompress [1] | 12222 |[1] | |[1] | | | 12223 |-------------+--------------------+---------+-----------+--------------------| 12224 |deflateInit2_|gzeof [1] |gzputs |inflateEnd |zError [1] | 12225 |[1] | |[1] |[1] | | 12226 +-----------------------------------------------------------------------------+ 12227 12228 Referenced Specification(s) 12229 12230 [1]. zlib 1.2 Manual 12231 12232 ------------------------------------------------------------------------------- 12233 12234 Data Definitions for libz 12235 12236 This section defines global identifiers and their values that are associated 12237 with interfaces contained in libz. These definitions are organized into groups 12238 that correspond to system headers. This convention is used as a convenience for 12239 the reader, and does not imply the existence of these headers, or their 12240 content. 12241 12242 These definitions are intended to supplement those provided in the referenced 12243 underlying specifications. 12244 12245 This specification uses ISO/IEC 9899 C Language as the reference programming 12246 language, and data definitions are specified in ISO C format. The C language is 12247 used here as a convenient notation. Using a C language description of these 12248 data objects does not preclude their use by other programming languages. 12249 12250 ------------------------------------------------------------------------------- 12251 12252 zlib.h 12253 12254 #define Z_NULL 0 12255 #define MAX_WBITS 15 12256 #define MAX_MEM_LEVEL 9 12257 #define deflateInit2(strm,level,method,windowBits,memLevel,strategy) deflateInit2_((strm),(level),(method),(windowBits),(memLevel),(strategy),ZLIB_VERSION,sizeof(z_stream)) 12258 #define deflateInit(strm,level) deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream)) 12259 #define inflateInit2(strm,windowBits) inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream)) 12260 #define inflateInit(strm) inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream)) 12261 12262 typedef int intf; 12263 12264 typedef void *voidpf; 12265 typedef unsigned int uInt; 12266 typedef unsigned long uLong; 12267 typedef uLong uLongf; 12268 typedef void *voidp; 12269 typedef unsigned char Byte; 12270 typedef off_t z_off_t; 12271 typedef void *const voidpc; 12272 12273 typedef voidpf (*alloc_func) (voidpf opaque, uInt items, uInt size); 12274 typedef void (*free_func) (voidpf opaque, voidpf address); 12275 struct internal_state 12276 { 12277 int dummy; 12278 } 12279 ; 12280 typedef Byte Bytef; 12281 typedef uInt uIntf; 12282 12283 typedef struct z_stream_s 12284 { 12285 Bytef *next_in; 12286 uInt avail_in; 12287 uLong total_in; 12288 Bytef *next_out; 12289 uInt avail_out; 12290 uLong total_out; 12291 char *msg; 12292 struct internal_state *state; 12293 alloc_func zalloc; 12294 free_func zfree; 12295 voidpf opaque; 12296 int data_type; 12297 uLong adler; 12298 uLong reserved; 12299 } 12300 z_stream; 12301 12302 typedef z_stream *z_streamp; 12303 typedef voidp gzFile; 12304 #define Z_NO_FLUSH 0 12305 #define Z_PARTIAL_FLUSH 1 12306 #define Z_SYNC_FLUSH 2 12307 #define Z_FULL_FLUSH 3 12308 #define Z_FINISH 4 12309 12310 #define Z_ERRNO (-1) 12311 #define Z_STREAM_ERROR (-2) 12312 #define Z_DATA_ERROR (-3) 12313 #define Z_MEM_ERROR (-4) 12314 #define Z_BUF_ERROR (-5) 12315 #define Z_OK 0 12316 #define Z_STREAM_END 1 12317 #define Z_NEED_DICT 2 12318 12319 #define Z_DEFAULT_COMPRESSION (-1) 12320 #define Z_NO_COMPRESSION 0 12321 #define Z_BEST_SPEED 1 12322 #define Z_BEST_COMPRESSION 9 12323 12324 #define Z_DEFAULT_STRATEGY 0 12325 #define Z_FILTERED 1 12326 #define Z_HUFFMAN_ONLY 2 12327 12328 #define Z_BINARY 0 12329 #define Z_ASCII 1 12330 #define Z_UNKNOWN 2 12331 12332 #define Z_DEFLATED 8 12333 12334 ------------------------------------------------------------------------------- 12335 12336 Interfaces for libncurses 12337 12338 Table 2-3 defines the library name and shared object name for the libncurses 12339 library 12340 12341 Table 2-3. libncurses Definition 12342 12343 +-------------------------+ 12344 |Library:|libncurses | 12345 |--------+----------------| 12346 |SONAME: |libncurses.so.5 | 12347 +-------------------------+ 12348 12349 The behavior of the interfaces in this library is specified by the following 12350 specifications: 12351 12352 CAE Specification, May 1996, X/Open Curses, Issue 4, Version 2 (ISBN: 12353 1-85912-171-3, C610), plus Corrigendum U018 12354 12355 ------------------------------------------------------------------------------- 12356 12357 Curses 12358 12359 ------------------------------------------------------------------------------- 12360 12361 Interfaces for Curses 12362 12363 An LSB conforming implementation shall provide the generic functions for Curses 12364 specified in Table 2-4, with the full functionality as described in the 12365 referenced underlying specification. 12366 12367 Table 2-4. libncurses - Curses Function Interfaces 12368 12369 +-----------------------------------------------------------------------------+ 12370 |addch [1] |has_ic [1] |mvwaddchnstr [1]|scr_init [1] |vwscanw [1] | 12371 |----------------+--------------+----------------+---------------+------------| 12372 |addchnstr [1] |has_il [1] |mvwaddchstr [1] |scr_restore [1]|waddch [1] | 12373 |----------------+--------------+----------------+---------------+------------| 12374 |addchstr [1] |hline [1] |mvwaddnstr [1] |scr_set [1] |waddchnstr | 12375 | | | | |[1] | 12376 |----------------+--------------+----------------+---------------+------------| 12377 |addnstr [1] |idcok [1] |mvwaddstr [1] |scrl [1] |waddchstr | 12378 | | | | |[1] | 12379 |----------------+--------------+----------------+---------------+------------| 12380 |addstr [1] |idlok [1] |mvwchgat [1] |scroll [1] |waddnstr [1]| 12381 |----------------+--------------+----------------+---------------+------------| 12382 |attr_get [1] |immedok [1] |mvwdelch [1] |scrollok [1] |waddstr [1] | 12383 |----------------+--------------+----------------+---------------+------------| 12384 |attr_off [1] |inch [1] |mvwgetch [1] |set_curterm [1]|wattr_get | 12385 | | | | |[1] | 12386 |----------------+--------------+----------------+---------------+------------| 12387 |attr_on [1] |inchnstr [1] |mvwgetnstr [1] |set_term [1] |wattr_off | 12388 | | | | |[1] | 12389 |----------------+--------------+----------------+---------------+------------| 12390 |attr_set [1] |inchstr [1] |mvwgetstr [1] |setscrreg [1] |wattr_on [1]| 12391 |----------------+--------------+----------------+---------------+------------| 12392 |attroff [1] |init_color [1]|mvwhline [1] |setupterm [1] |wattr_set | 12393 | | | | |[1] | 12394 |----------------+--------------+----------------+---------------+------------| 12395 |attron [1] |init_pair [1] |mvwin [1] |slk_attr_set |wattroff [1]| 12396 | | | |[1] | | 12397 |----------------+--------------+----------------+---------------+------------| 12398 |attrset [1] |initscr [1] |mvwinch [1] |slk_attroff [1]|wattron [1] | 12399 |----------------+--------------+----------------+---------------+------------| 12400 |baudrate [1] |innstr [1] |mvwinchnstr [1] |slk_attron [1] |wattrset [1]| 12401 |----------------+--------------+----------------+---------------+------------| 12402 |beep [1] |insch [1] |mvwinchstr [1] |slk_attrset [1]|wbkgd [1] | 12403 |----------------+--------------+----------------+---------------+------------| 12404 |bkgd [1] |insdelln [1] |mvwinnstr [1] |slk_clear [1] |wbkgdset [1]| 12405 |----------------+--------------+----------------+---------------+------------| 12406 |bkgdset [1] |insertln [1] |mvwinsch [1] |slk_color [1] |wborder [1] | 12407 |----------------+--------------+----------------+---------------+------------| 12408 |border [1] |insnstr [1] |mvwinsnstr [1] |slk_init [1] |wchgat [1] | 12409 |----------------+--------------+----------------+---------------+------------| 12410 |box [1] |insstr [1] |mvwinsstr [1] |slk_label [1] |wclear [1] | 12411 |----------------+--------------+----------------+---------------+------------| 12412 |can_change_color|instr [1] |mvwinstr [1] |slk_noutrefresh|wclrtobot | 12413 |[1] | | |[1] |[1] | 12414 |----------------+--------------+----------------+---------------+------------| 12415 |cbreak [1] |intrflush [1] |mvwprintw [1] |slk_refresh [1]|wclrtoeol | 12416 | | | | |[1] | 12417 |----------------+--------------+----------------+---------------+------------| 12418 |chgat [1] |is_linetouched|mvwscanw [1] |slk_restore [1]|wcolor_set | 12419 | |[1] | | |[1] | 12420 |----------------+--------------+----------------+---------------+------------| 12421 |clear [1] |is_wintouched |mvwvline [1] |slk_set [1] |wcursyncup | 12422 | |[1] | | |[1] | 12423 |----------------+--------------+----------------+---------------+------------| 12424 |clearok [1] |isendwin [1] |napms [1] |slk_touch [1] |wdelch [1] | 12425 |----------------+--------------+----------------+---------------+------------| 12426 |clrtobot [1] |keyname [1] |newpad [1] |standend [1] |wdeleteln | 12427 | | | | |[1] | 12428 |----------------+--------------+----------------+---------------+------------| 12429 |clrtoeol [1] |keypad [1] |newterm [1] |standout [1] |wechochar | 12430 | | | | |[1] | 12431 |----------------+--------------+----------------+---------------+------------| 12432 |color_content |killchar [1] |newwin [1] |start_color [1]|werase [1] | 12433 |[1] | | | | | 12434 |----------------+--------------+----------------+---------------+------------| 12435 |color_set [1] |leaveok [1] |nl [1] |subpad [1] |wgetch [1] | 12436 |----------------+--------------+----------------+---------------+------------| 12437 |copywin [1] |longname [1] |nocbreak [1] |subwin [1] |wgetnstr [1]| 12438 |----------------+--------------+----------------+---------------+------------| 12439 |curs_set [1] |meta [1] |nodelay [1] |syncok [1] |wgetstr [1] | 12440 |----------------+--------------+----------------+---------------+------------| 12441 |def_prog_mode |move [1] |noecho [1] |termattrs [1] |whline [1] | 12442 |[1] | | | | | 12443 |----------------+--------------+----------------+---------------+------------| 12444 |def_shell_mode |mvaddch [1] |nonl [1] |termname [1] |winch [1] | 12445 |[1] | | | | | 12446 |----------------+--------------+----------------+---------------+------------| 12447 |del_curterm [1] |mvaddchnstr |noqiflush [1] |tgetent [1] |winchnstr | 12448 | |[1] | | |[1] | 12449 |----------------+--------------+----------------+---------------+------------| 12450 |delay_output [1]|mvaddchstr [1]|noraw [1] |tgetflag [1] |winchstr [1]| 12451 |----------------+--------------+----------------+---------------+------------| 12452 |delch [1] |mvaddnstr [1] |notimeout [1] |tgetnum [1] |winnstr [1] | 12453 |----------------+--------------+----------------+---------------+------------| 12454 |deleteln [1] |mvaddstr [1] |overlay [1] |tgetstr [1] |winsch [1] | 12455 |----------------+--------------+----------------+---------------+------------| 12456 |delscreen [1] |mvchgat [1] |overwrite [1] |tgoto [1] |winsdelln | 12457 | | | | |[1] | 12458 |----------------+--------------+----------------+---------------+------------| 12459 |delwin [1] |mvcur [1] |pair_content [1]|tigetflag [1] |winsertln | 12460 | | | | |[1] | 12461 |----------------+--------------+----------------+---------------+------------| 12462 |derwin [1] |mvdelch [1] |pechochar [1] |tigetnum [1] |winsnstr [1]| 12463 |----------------+--------------+----------------+---------------+------------| 12464 |doupdate [1] |mvderwin [1] |pnoutrefresh [1]|tigetstr [1] |winsstr [1] | 12465 |----------------+--------------+----------------+---------------+------------| 12466 |dupwin [1] |mvgetch [1] |prefresh [1] |timeout [1] |winstr [1] | 12467 |----------------+--------------+----------------+---------------+------------| 12468 |echo [1] |mvgetnstr [1] |printw [1] |touchline [1] |wmove [1] | 12469 |----------------+--------------+----------------+---------------+------------| 12470 |echochar [1] |mvgetstr [1] |putp [1] |touchwin [1] |wnoutrefresh| 12471 | | | | |[1] | 12472 |----------------+--------------+----------------+---------------+------------| 12473 |endwin [1] |mvhline [1] |putwin [1] |tparm [1] |wprintw [1] | 12474 |----------------+--------------+----------------+---------------+------------| 12475 |erase [1] |mvinch [1] |qiflush [1] |tputs [1] |wredrawln | 12476 | | | | |[1] | 12477 |----------------+--------------+----------------+---------------+------------| 12478 |erasechar [1] |mvinchnstr [1]|raw [1] |typeahead [1] |wrefresh [1]| 12479 |----------------+--------------+----------------+---------------+------------| 12480 |filter [1] |mvinchstr [1] |redrawwin [1] |unctrl [1] |wscanw [1] | 12481 |----------------+--------------+----------------+---------------+------------| 12482 |flash [1] |mvinnstr [1] |refresh [1] |ungetch [1] |wscrl [1] | 12483 |----------------+--------------+----------------+---------------+------------| 12484 |flushinp [1] |mvinsch [1] |reset_prog_mode |untouchwin [1] |wsetscrreg | 12485 | | |[1] | |[1] | 12486 |----------------+--------------+----------------+---------------+------------| 12487 |getbkgd [1] |mvinsnstr [1] |reset_shell_mode|use_env [1] |wstandend | 12488 | | |[1] | |[1] | 12489 |----------------+--------------+----------------+---------------+------------| 12490 |getch [1] |mvinsstr [1] |resetty [1] |vidattr [1] |wstandout | 12491 | | | | |[1] | 12492 |----------------+--------------+----------------+---------------+------------| 12493 |getnstr [1] |mvinstr [1] |restartterm [1] |vidputs [1] |wsyncdown | 12494 | | | | |[1] | 12495 |----------------+--------------+----------------+---------------+------------| 12496 |getstr [1] |mvprintw [1] |ripoffline [1] |vline [1] |wsyncup [1] | 12497 |----------------+--------------+----------------+---------------+------------| 12498 |getwin [1] |mvscanw [1] |savetty [1] |vw_printw [1] |wtimeout [1]| 12499 |----------------+--------------+----------------+---------------+------------| 12500 |halfdelay [1] |mvvline [1] |scanw [1] |vw_scanw [1] |wtouchln [1]| 12501 |----------------+--------------+----------------+---------------+------------| 12502 |has_colors [1] |mvwaddch [1] |scr_dump [1] |vwprintw [1] |wvline [1] | 12503 +-----------------------------------------------------------------------------+ 12504 12505 Referenced Specification(s) 12506 12507 [1]. CAE Specification, May 1996, X/Open Curses, Issue 4, Version 2 (ISBN: 12508 1-85912-171-3, C610), plus Corrigendum U018 12509 12510 An LSB conforming implementation shall provide the generic data interfaces for 12511 Curses specified in Table 2-5, with the full functionality as described in the 12512 referenced underlying specification. 12513 12514 Table 2-5. libncurses - Curses Data Interfaces 12515 12516 +---------------------------------------------------+ 12517 |COLORS [1] |COLS [1] |acs_map [1] |curscr [1]| | 12518 |---------------+---------+------------+----------+-| 12519 |COLOR_PAIRS [1]|LINES [1]|cur_term [1]|stdscr [1]| | 12520 +---------------------------------------------------+ 12521 12522 Referenced Specification(s) 12523 12524 [1]. CAE Specification, May 1996, X/Open Curses, Issue 4, Version 2 (ISBN: 12525 1-85912-171-3, C610), plus Corrigendum U018 12526 12527 ------------------------------------------------------------------------------- 12528 12529 Data Definitions for libncurses 12530 12531 This section defines global identifiers and their values that are associated 12532 with interfaces contained in libncurses. These definitions are organized into 12533 groups that correspond to system headers. This convention is used as a 12534 convenience for the reader, and does not imply the existence of these headers, 12535 or their content. 12536 12537 These definitions are intended to supplement those provided in the referenced 12538 underlying specifications. 12539 12540 This specification uses ISO/IEC 9899 C Language as the reference programming 12541 language, and data definitions are specified in ISO C format. The C language is 12542 used here as a convenient notation. Using a C language description of these 12543 data objects does not preclude their use by other programming languages. 12544 12545 ------------------------------------------------------------------------------- 12546 12547 curses.h 12548 12549 #define ERR (-1) 12550 #define OK (0) 12551 #define ACS_RARROW (acs_map['+']) 12552 #define ACS_LARROW (acs_map[',']) 12553 #define ACS_UARROW (acs_map['-']) 12554 #define ACS_DARROW (acs_map['.']) 12555 #define ACS_BLOCK (acs_map['0']) 12556 #define ACS_CKBOARD (acs_map['a']) 12557 #define ACS_DEGREE (acs_map['f']) 12558 #define ACS_PLMINUS (acs_map['g']) 12559 #define ACS_BOARD (acs_map['h']) 12560 #define ACS_LANTERN (acs_map['i']) 12561 #define ACS_LRCORNER (acs_map['j']) 12562 #define ACS_URCORNER (acs_map['k']) 12563 #define ACS_ULCORNER (acs_map['l']) 12564 #define ACS_LLCORNER (acs_map['m']) 12565 #define ACS_PLUS (acs_map['n']) 12566 #define ACS_S1 (acs_map['o']) 12567 #define ACS_HLINE (acs_map['q']) 12568 #define ACS_S9 (acs_map['s']) 12569 #define ACS_LTEE (acs_map['t']) 12570 #define ACS_RTEE (acs_map['u']) 12571 #define ACS_BTEE (acs_map['v']) 12572 #define ACS_TTEE (acs_map['w']) 12573 #define ACS_VLINE (acs_map['x']) 12574 #define ACS_DIAMOND (acs_map['`']) 12575 #define ACS_BULLET (acs_map['~']) 12576 #define getmaxyx(win,y,x) (y=(win)?((win)->_maxy+1):ERR,x=(win)?((win)->_maxx+1):ERR) 12577 #define getbegyx(win,y,x) (y=(win)?(win)->_begy:ERR,x=(win)?(win)->_begx:ERR) 12578 #define getyx(win,y,x) (y=(win)?(win)->_cury:ERR,x=(win)?(win)->_curx:ERR) 12579 #define getparyx(win,y,x) (y=(win)?(win)->_pary:ERR,x=(win)?(win)->_parx:ERR) 12580 12581 #define WA_ALTCHARSET A_ALTCHARSET 12582 #define WA_ATTRIBUTES A_ATTRIBUTES 12583 #define WA_BLINK A_BLINK 12584 #define WA_BOLD A_BOLD 12585 #define WA_DIM A_DIM 12586 #define WA_HORIZONTAL A_HORIZONTAL 12587 #define WA_INVIS A_INVIS 12588 #define WA_LEFT A_LEFT 12589 #define WA_LOW A_LOW 12590 #define WA_NORMAL A_NORMAL 12591 #define WA_PROTECT A_PROTECT 12592 #define WA_REVERSE A_REVERSE 12593 #define WA_RIGHT A_RIGHT 12594 #define WA_STANDOUT A_STANDOUT 12595 #define WA_TOP A_TOP 12596 #define WA_UNDERLINE A_UNDERLINE 12597 #define WA_VERTICAL A_VERTICAL 12598 #define A_REVERSE NCURSES_BITS(1UL,10) 12599 12600 #define COLOR_BLACK 0 12601 #define COLOR_RED 1 12602 #define COLOR_GREEN 2 12603 #define COLOR_YELLOW 3 12604 #define COLOR_BLUE 4 12605 #define COLOR_MAGENTA 5 12606 #define COLOR_CYAN 6 12607 #define COLOR_WHITE 7 12608 12609 #define _SUBWIN 0x01 12610 #define _ENDLINE 0x02 12611 #define _FULLWIN 0x04 12612 #define _ISPAD 0x10 12613 #define _HASMOVED 0x20 12614 12615 typedef unsigned char bool; 12616 12617 typedef unsigned long chtype; 12618 typedef struct screen SCREEN; 12619 typedef struct _win_st WINDOW; 12620 typedef chtype attr_t; 12621 typedef struct 12622 { 12623 attr_t attr; 12624 wchar_t chars[5]; 12625 } 12626 cchar_t; 12627 struct pdat 12628 { 12629 short _pad_y; 12630 short _pad_x; 12631 short _pad_top; 12632 short _pad_left; 12633 short _pad_bottom; 12634 short _pad_right; 12635 } 12636 ; 12637 12638 struct _win_st 12639 { 12640 short _cury; 12641 short _curx; 12642 short _maxy; 12643 short _maxx; 12644 short _begy; 12645 short _begx; 12646 short _flags; 12647 attr_t _attrs; 12648 chtype _bkgd; 12649 bool _notimeout; 12650 bool _clear; 12651 bool _leaveok; 12652 bool _scroll; 12653 bool _idlok; 12654 bool _idcok; 12655 bool _immed; 12656 bool _sync; 12657 bool _use_keypad; 12658 int _delay; 12659 struct ldat *_line; 12660 short _regtop; 12661 short _regbottom; 12662 int _parx; 12663 int _pary; 12664 WINDOW *_parent; 12665 struct pdat _pad; 12666 short _yoffset; 12667 cchar_t _bkgrnd; 12668 } 12669 ; 12670 #define KEY_CODE_YES 0400 12671 #define KEY_BREAK 0401 12672 #define KEY_MIN 0401 12673 #define KEY_DOWN 0402 12674 #define KEY_UP 0403 12675 #define KEY_LEFT 0404 12676 #define KEY_RIGHT 0405 12677 #define KEY_HOME 0406 12678 #define KEY_BACKSPACE 0407 12679 #define KEY_F0 0410 12680 #define KEY_DL 0510 12681 #define KEY_IL 0511 12682 #define KEY_DC 0512 12683 #define KEY_IC 0513 12684 #define KEY_EIC 0514 12685 #define KEY_CLEAR 0515 12686 #define KEY_EOS 0516 12687 #define KEY_EOL 0517 12688 #define KEY_SF 0520 12689 #define KEY_SR 0521 12690 #define KEY_NPAGE 0522 12691 #define KEY_PPAGE 0523 12692 #define KEY_STAB 0524 12693 #define KEY_CTAB 0525 12694 #define KEY_CATAB 0526 12695 #define KEY_ENTER 0527 12696 #define KEY_SRESET 0530 12697 #define KEY_RESET 0531 12698 #define KEY_PRINT 0532 12699 #define KEY_LL 0533 12700 #define KEY_A1 0534 12701 #define KEY_A3 0535 12702 #define KEY_B2 0536 12703 #define KEY_C1 0537 12704 #define KEY_C3 0540 12705 #define KEY_BTAB 0541 12706 #define KEY_BEG 0542 12707 #define KEY_CANCEL 0543 12708 #define KEY_CLOSE 0544 12709 #define KEY_COMMAND 0545 12710 #define KEY_COPY 0546 12711 #define KEY_CREATE 0547 12712 #define KEY_END 0550 12713 #define KEY_EXIT 0551 12714 #define KEY_FIND 0552 12715 #define KEY_HELP 0553 12716 #define KEY_MARK 0554 12717 #define KEY_MESSAGE 0555 12718 #define KEY_MOVE 0556 12719 #define KEY_NEXT 0557 12720 #define KEY_OPEN 0560 12721 #define KEY_OPTIONS 0561 12722 #define KEY_PREVIOUS 0562 12723 #define KEY_REDO 0563 12724 #define KEY_REFERENCE 0564 12725 #define KEY_REFRESH 0565 12726 #define KEY_REPLACE 0566 12727 #define KEY_RESTART 0567 12728 #define KEY_RESUME 0570 12729 #define KEY_SAVE 0571 12730 #define KEY_SBEG 0572 12731 #define KEY_SCANCEL 0573 12732 #define KEY_SCOMMAND 0574 12733 #define KEY_SCOPY 0575 12734 #define KEY_SCREATE 0576 12735 #define KEY_SDC 0577 12736 #define KEY_SDL 0600 12737 #define KEY_SELECT 0601 12738 #define KEY_SEND 0602 12739 #define KEY_SEOL 0603 12740 #define KEY_SEXIT 0604 12741 #define KEY_SFIND 0605 12742 #define KEY_SHELP 0606 12743 #define KEY_SHOME 0607 12744 #define KEY_SIC 0610 12745 #define KEY_SLEFT 0611 12746 #define KEY_SMESSAGE 0612 12747 #define KEY_SMOVE 0613 12748 #define KEY_SNEXT 0614 12749 #define KEY_SOPTIONS 0615 12750 #define KEY_SPREVIOUS 0616 12751 #define KEY_SPRINT 0617 12752 #define KEY_SREDO 0620 12753 #define KEY_SREPLACE 0621 12754 #define KEY_SRIGHT 0622 12755 #define KEY_SRSUME 0623 12756 #define KEY_SSAVE 0624 12757 #define KEY_SSUSPEND 0625 12758 #define KEY_SUNDO 0626 12759 #define KEY_SUSPEND 0627 12760 #define KEY_UNDO 0630 12761 #define KEY_MOUSE 0631 12762 #define KEY_RESIZE 0632 12763 #define KEY_MAX 0777 12764 12765 #define PAIR_NUMBER(a) (((a)& A_COLOR)>>8) 12766 #define NCURSES_BITS(mask,shift) ((mask)<<((shift)+8)) 12767 #define A_CHARTEXT (NCURSES_BITS(1UL,0)-1UL) 12768 #define A_NORMAL 0L 12769 #define NCURSES_ATTR_SHIFT 8 12770 #define A_COLOR NCURSES_BITS(((1UL)<<8)-1UL,0) 12771 #define A_BLINK NCURSES_BITS(1UL,11) 12772 #define A_DIM NCURSES_BITS(1UL,12) 12773 #define A_BOLD NCURSES_BITS(1UL,13) 12774 #define A_ALTCHARSET NCURSES_BITS(1UL,14) 12775 #define A_INVIS NCURSES_BITS(1UL,15) 12776 #define A_PROTECT NCURSES_BITS(1UL,16) 12777 #define A_HORIZONTAL NCURSES_BITS(1UL,17) 12778 #define A_LEFT NCURSES_BITS(1UL,18) 12779 #define A_LOW NCURSES_BITS(1UL,19) 12780 #define A_RIGHT NCURSES_BITS(1UL,20) 12781 #define A_TOP NCURSES_BITS(1UL,21) 12782 #define A_VERTICAL NCURSES_BITS(1UL,22) 12783 #define A_STANDOUT NCURSES_BITS(1UL,8) 12784 #define A_UNDERLINE NCURSES_BITS(1UL,9) 12785 #define COLOR_PAIR(n) NCURSES_BITS(n,0) 12786 #define A_ATTRIBUTES NCURSES_BITS(~(1UL-1UL),0) 12787 12788 ------------------------------------------------------------------------------- 12789 12790 Interfaces for libutil 12791 12792 Table 2-6 defines the library name and shared object name for the libutil 12793 library 12794 12795 Table 2-6. libutil Definition 12796 12797 +----------------------+ 12798 |Library:|libutil | 12799 |--------+-------------| 12800 |SONAME: |libutil.so.1 | 12801 +----------------------+ 12802 12803 The behavior of the interfaces in this library is specified by the following 12804 specifications: 12805 12806 Linux Standard Base 12807 12808 ------------------------------------------------------------------------------- 12809 12810 Utility Functions 12811 12812 ------------------------------------------------------------------------------- 12813 12814 Interfaces for Utility Functions 12815 12816 An LSB conforming implementation shall provide the generic functions for 12817 Utility Functions specified in Table 2-7, with the full functionality as 12818 described in the referenced underlying specification. 12819 12820 Table 2-7. libutil - Utility Functions Function Interfaces 12821 12822 +-----------------------------------------+ 12823 |forkpty [1]|login_tty [1]|logwtmp [1]| | | 12824 |-----------+-------------+-----------+-+-| 12825 |login [1] |logout [1] |openpty [1]| | | 12826 +-----------------------------------------+ 12827 12828 Referenced Specification(s) 12829 12830 [1]. Linux Standard Base 12831 12832 ------------------------------------------------------------------------------- 12833 12834 Interface Definitions for libutil 12835 12836 Table of Contents 12837 forkpty -- find and open an available pseudo-tty 12838 login -- login utility function 12839 login_tty -- find and open an available pseudo-tty 12840 logout -- logout utility function 12841 logwtmp -- append an entry to the wtmp file 12842 openpty -- find and open an available pseudo-tty 12843 12844 The following interfaces are included in libutil and are defined by this 12845 specification. Unless otherwise noted, these interfaces shall be included in 12846 the source standard. 12847 12848 Other interfaces listed above for libutil shall behave as described in the 12849 referenced base document. 12850 12851 forkpty 12852 12853 Name 12854 12855 forkpty -- find and open an available pseudo-tty 12856 12857 Synopsis 12858 12859 int forkpty(int *amaster, 12860 char *name, 12861 struct termios *termp, 12862 struct winsize *winp); 12863 12864 Description 12865 12866 The forkpty() function joins openpty(), fork(), and login_tty() to create a new 12867 process operating on a pseudo-tty. The file descriptor of the master side of 12868 the pseudo-tty is returned in amaster, and null or the filename of the slave in 12869 name. If non-null, the termp and winp parameters will determine the terminal 12870 attributes and window size of the slave side of the pseudo-tty. 12871 12872 Return Value 12873 12874 On success of the child process, zero is returned. When the parent process 12875 receives the PID of its child process, pid is returned. On error, -1 is 12876 returned, and errno is set appropriately. 12877 12878 login 12879 12880 Name 12881 12882 login -- login utility function 12883 12884 Synopsis 12885 12886 void login(struct utmp *ut); 12887 12888 Description 12889 12890 The login() function updates the /var/run/utmp and /var/log/wtmp files with 12891 user information contained in ut. 12892 12893 login_tty 12894 12895 Name 12896 12897 login_tty -- find and open an available pseudo-tty 12898 12899 Synopsis 12900 12901 int login_tty(int fdr); 12902 12903 Description 12904 12905 login_tty() sets up for a login on the tty referenced by the file descriptor 12906 fdr. This function creates a new session, makes the tty for the current process 12907 the controlling terminal, sets the standard input, output, and error streams of 12908 the current process, and closes fdr. 12909 12910 Return Value 12911 12912 On success, zero is returned. On error, -1 is returned, and errno is set 12913 appropriately. 12914 12915 logout 12916 12917 Name 12918 12919 logout -- logout utility function 12920 12921 Synopsis 12922 12923 int logout(const char *line); 12924 12925 Description 12926 12927 Given the device line, the logout() function removes the entry from the 12928 corresponding /var/run/utmp system file. 12929 12930 Return Value 12931 12932 Zero is returned if there was no entry to remove. A non-zero return value 12933 indicates success. 12934 12935 logwtmp 12936 12937 Name 12938 12939 logwtmp -- append an entry to the wtmp file 12940 12941 Synopsis 12942 12943 #include 12944 12945 void logwtmp(const char *line, const char *name, const char *host); 12946 12947 Description 12948 12949 logwtmp() constructs an utmp structure using line, name, host, current time and 12950 current process id. Then it calls updwtmp() to append the structure to the utmp 12951 file. 12952 12953 Availability 12954 12955 Both functions are available under glibc2, but not under libc5. However, 12956 logwtmp occurs in the old libbsd. 12957 12958 Files 12959 12960 /var/log/wtmp database of past user logins 12961 12962 openpty 12963 12964 Name 12965 12966 openpty -- find and open an available pseudo-tty 12967 12968 Synopsis 12969 12970 int openpty(int *amaster, 12971 int *aslave, 12972 char *name, 12973 struct termios *termp, 12974 struct winsize *winp); 12975 12976 Description 12977 12978 The openpty() function finds an available pseudo-tty and returns file 12979 descriptors for the amaster and aslave. The filename of the slave is returned 12980 in name, otherwise a null. The terminal parameters of the slave will be set to 12981 the values in termp, otherwise a null. The window size of the slave will be set 12982 to the values in winp, otherwise a null. 12983 12984 Return Value 12985 12986 On success, zero is returned. On error, -1 is returned, and errno is set 12987 appropriately. 12988 12989 Errors 12990 12991 ENOENT 12992 12993 There are no available ttys. 12994 12995 III. Commands and Utilities 12996 12997 Table of Contents 12998 3. Commands and Utilities 12999 13000 ------------------------------------------------------------------------------- 13001 13002 Chapter 3. Commands and Utilities 13003 13004 Commands and Utilities 13005 13006 If any operand (except one which follows --) starts with a hyphen the behavior 13007 is unspecified. [16] 13008 13009 The following table lists the Commands and Utilities. Unless otherwise 13010 specified the command or utility is described in the Single UNIX Specification 13011 (SUS). When an interface is not defined in the Single UNIX Specification, then 13012 the next prevailing standard is referenced (ie., POSIX, SVID). 13013 13014 The behavior of the interfaces described in this section are specified by the 13015 following standards. 13016 13017 Linux Standard Base [17] 13018 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 13019 Specification(SUS) V3 [18] 13020 13021 Table 3-1. Commands and Utilities 13022 13023 +-----------------------------------------------------------------------------+ 13024 |[ [18] |ar [17] |at [17] |awk [17] |basename [18] | 13025 |-----------------+------------+---------------+-------------+----------------| 13026 |batch [17] |bc [17] |cat [18] |chfn [17] |chgrp [17] | 13027 |-----------------+------------+---------------+-------------+----------------| 13028 |chmod [18] |chown [17] |chsh [17] |cksum [18] |cmp [18] | 13029 |-----------------+------------+---------------+-------------+----------------| 13030 |col [17] |comm [18] |cp [18] |cpio [17] |crontab [17] | 13031 |-----------------+------------+---------------+-------------+----------------| 13032 |csplit [18] |cut [17] |date [18] |dd [18] |df [17] | 13033 |-----------------+------------+---------------+-------------+----------------| 13034 |diff [18] |dirname [18]|dmesg [17] |du [17] |echo [17] | 13035 |-----------------+------------+---------------+-------------+----------------| 13036 |egrep [17] |env [18] |expand [18] |expr [18] |false [18] | 13037 |-----------------+------------+---------------+-------------+----------------| 13038 |fgrep [17] |file [17] |find [17] |fold [18] |fuser [17] | 13039 |-----------------+------------+---------------+-------------+----------------| 13040 |gencat [18] |getconf [18]|gettext [17] |grep [17] |groupadd [17] | 13041 |-----------------+------------+---------------+-------------+----------------| 13042 |groupdel [17] |groupmod |groups [17] |gunzip [17] |gzip [17] | 13043 | |[17] | | | | 13044 |-----------------+------------+---------------+-------------+----------------| 13045 |head [18] |hostname |iconv [18] |id [18] |install [17] | 13046 | |[17] | | | | 13047 |-----------------+------------+---------------+-------------+----------------| 13048 |install_initd |ipcrm [17] |ipcs [17] |join [18] |kill [18] | 13049 |[17] | | | | | 13050 |-----------------+------------+---------------+-------------+----------------| 13051 |killall [17] |ln [18] |locale [18] |localedef |logname [18] | 13052 | | | |[18] | | 13053 |-----------------+------------+---------------+-------------+----------------| 13054 |lpr [17] |ls [17] |lsb_release |m4 [17] |make [18] | 13055 | | |[17] | | | 13056 |-----------------+------------+---------------+-------------+----------------| 13057 |man [18] |md5sum [17] |mkdir [18] |mkfifo [18] |mknod [17] | 13058 |-----------------+------------+---------------+-------------+----------------| 13059 |mktemp [17] |more [17] |mount [17] |msgfmt [17] |mv [18] | 13060 |-----------------+------------+---------------+-------------+----------------| 13061 |newgrp [17] |nice [18] |nl [18] |nohup [18] |od [17] | 13062 |-----------------+------------+---------------+-------------+----------------| 13063 |passwd [17] |paste [18] |patch [17] |pathchk [18] |pidof [17] | 13064 |-----------------+------------+---------------+-------------+----------------| 13065 |pr [18] |printf [18] |ps [18] |pwd [18] |remove_initd | 13066 | | | | |[17] | 13067 |-----------------+------------+---------------+-------------+----------------| 13068 |renice [17] |rm [18] |rmdir [18] |sed [17] |sendmail [17] | 13069 |-----------------+------------+---------------+-------------+----------------| 13070 |sh [18] |shutdown |sleep [18] |sort [18] |split [18] | 13071 | |[17] | | | | 13072 |-----------------+------------+---------------+-------------+----------------| 13073 |strip [18] |stty [18] |su [17] |sync [17] |tail [18] | 13074 |-----------------+------------+---------------+-------------+----------------| 13075 |tar [17] |tee [18] |test [18] |time [18] |touch [18] | 13076 |-----------------+------------+---------------+-------------+----------------| 13077 |tr [18] |true [18] |tsort [18] |tty [18] |umount [17] | 13078 |-----------------+------------+---------------+-------------+----------------| 13079 |uname [18] |unexpand |uniq [18] |useradd [17] |userdel [17] | 13080 | |[18] | | | | 13081 |-----------------+------------+---------------+-------------+----------------| 13082 |usermod [17] |wc [18] |xargs [17] | | | 13083 +-----------------------------------------------------------------------------+ 13084 ------------------------------------------------------------------------------- 13085 13086 Command Behavior 13087 13088 Table of Contents 13089 ar -- create and maintain library archives (LSB DEPRECATED) 13090 at -- examine or delete jobs for later execution 13091 awk -- pattern scanning and processing language 13092 batch -- execute commands when the system load permits 13093 bc -- An arbitrary precision calculator language 13094 chfn -- change user name and information 13095 chgrp -- change file group 13096 chown -- change file owner and group 13097 chsh -- change login shell 13098 col -- filter reverse line feeds from input 13099 cpio -- copy file archives in and out 13100 crontab -- maintain crontab files for individual users 13101 cut -- split a file into sections determined by context lines 13102 df -- report filesystem disk space usage 13103 dmesg -- print or control the kernel ring buffer 13104 du -- estimate file space usage 13105 echo -- display a line of text 13106 egrep -- search a file with an ERE pattern 13107 fgrep -- search a file with a fixed pattern 13108 file -- determine file type 13109 find -- search for files in a directory hierarchy 13110 fuser -- identify processes using files or sockets 13111 gettext -- retrieve text string from message database 13112 grep -- print lines matching a pattern 13113 groupadd -- create a new group 13114 groupdel -- delete a group 13115 groupmod -- modify a group 13116 groups -- display a group 13117 gunzip -- uncompress files 13118 gzip -- compress or expand files 13119 hostname -- show the system's host name 13120 install -- copy files and set attributes 13121 install_initd -- install an init.d file 13122 ipcrm -- provide information on ipc facilities 13123 ipcs -- provide information on ipc facilities 13124 killall -- kill processes by name 13125 lpr -- off line print 13126 ls -- list directory contents 13127 lsb_release -- print distribution specific information 13128 m4 -- macro processor 13129 md5sum -- generates or checks MD5 message digests 13130 mknod -- make block or character special files 13131 mktemp -- make temporary file name (unique) 13132 more -- file perusal filter for crt viewing 13133 mount -- mount a file system 13134 msgfmt -- create a message object from a message file 13135 newgrp -- change group ID 13136 od -- dump files in octal and other formats 13137 passwd -- change user password 13138 patch -- apply a diff file to an original 13139 pidof -- find the process ID of a running program 13140 remove_initd -- clean up boot script system modifications introduced by 13141 install_initd 13142 renice -- alter priority of running processes 13143 sed -- stream editor 13144 sendmail -- an electronic mail transport agent 13145 shutdown -- bring the system down 13146 su -- change user ID or become super-user 13147 sync -- flush filesystem buffers 13148 tar -- file archiver 13149 umount -- unmount file systems 13150 useradd -- create a new user or update default new user information 13151 userdel -- delete a user account and related files 13152 usermod -- modify a user account 13153 xargs -- build and execute command lines from standard input 13154 13155 This section contains descriptions for commands and utilities whose specified 13156 behavior in the LSB contradicts or extends the standards referenced. It also 13157 contains commands and utilities only required by the LSB and not specified by 13158 other standards. 13159 13160 ar 13161 13162 Name 13163 13164 ar -- create and maintain library archives (LSB DEPRECATED) 13165 13166 Description 13167 13168 ar is deprecated from the LSB and is expected to disappear from a future 13169 version of the LSB. [19] 13170 13171 ar is as specified in the Single UNIX Specification but with differences as 13172 listed below. 13173 13174 Differences 13175 13176 -T, -C 13177 13178 need not be accepted. 13179 13180 -l 13181 13182 has unspecified behavior. 13183 13184 -q 13185 13186 has unspecified behavior; using -r is suggested. 13187 13188 at 13189 13190 Name 13191 13192 at -- examine or delete jobs for later execution 13193 13194 Description 13195 13196 at is as specified in the Single UNIX Specification but with differences as 13197 listed below. 13198 13199 Differences 13200 13201 -d 13202 13203 is functionally equivalent to the -r option specified in the Single UNIX 13204 Specification. 13205 13206 -r 13207 13208 need not be supported, but the '-d' option is equivalent. 13209 13210 -t time 13211 13212 need not be supported. 13213 13214 Files 13215 13216 The files at.allow and at.deny reside in /etc rather than /usr/lib/cron. 13217 13218 awk 13219 13220 Name 13221 13222 awk -- pattern scanning and processing language 13223 13224 Description 13225 13226 awk is as specified in the Single UNIX Specification but with differences as 13227 listed below. 13228 13229 Differences 13230 13231 Certain aspects of internationalized regular expressions are optional; see 13232 Internationalization and Regular Expressions>. 13233 13234 batch 13235 13236 Name 13237 13238 batch -- execute commands when the system load permits 13239 13240 Description 13241 13242 The specification for batch is as specified in the Single UNIX Specification 13243 but with the following differences as listed below. 13244 13245 Files 13246 13247 The files at.allow and at.deny reside in /etc rather than /usr/lib/cron. 13248 13249 bc 13250 13251 Name 13252 13253 bc -- An arbitrary precision calculator language 13254 13255 Description 13256 13257 bc is as specified in the Single UNIX Specification but with differences as 13258 listed below. 13259 13260 Differences 13261 13262 -s, --standard 13263 13264 processes exactly the POSIX bc language. 13265 13266 -w, --warn 13267 13268 gives warnings for extensions to POSIX bc. 13269 13270 chfn 13271 13272 Name 13273 13274 chfn -- change user name and information 13275 13276 Synopsis 13277 13278 chfn [-f full_name] [-h home-phone] [user] 13279 13280 Description 13281 13282 chfn changes user fullname and other information for a user's account. This 13283 information is typically printed by finger and similar programs. A normal user 13284 may only change the fields for their own account, the super user may change the 13285 fields for any account. 13286 13287 The only restrictions placed on the contents of the fields is that no control 13288 characters may be present, nor any of comma, colon, or equal sign. 13289 13290 If none of the options are selected, chfn operates in an interactive fashion. 13291 The prompts and expected input in interactive mode are unspecified and should 13292 not be relied upon. 13293 13294 As it is possible for the system to be configured to restrict which fields a 13295 non-privileged user is permitted to change, applications should be written to 13296 gracefully handle these situations. 13297 13298 Standard Options 13299 13300 -f full_name 13301 13302 sets the user's full name. 13303 13304 -h home-phone 13305 13306 sets the user's home phone number. 13307 13308 [20] 13309 13310 chgrp 13311 13312 Name 13313 13314 chgrp -- change file group 13315 13316 Description 13317 13318 chgrp is as specified in the Single UNIX Specification but with differences as 13319 listed below. 13320 13321 Differences 13322 13323 The -L, -H, and -P options need not be supported. 13324 13325 chown 13326 13327 Name 13328 13329 chown -- change file owner and group 13330 13331 Description 13332 13333 chown is as specified in the Single UNIX Specification but with differences as 13334 listed below. 13335 13336 Differences 13337 13338 The -L, -H, and -P options need not be supported. 13339 13340 chsh 13341 13342 Name 13343 13344 chsh -- change login shell 13345 13346 Synopsis 13347 13348 chsh [-s login_shell] [user] 13349 13350 Description 13351 13352 chsh changes the user login shell. This determines the name of the user's 13353 initial login command. A normal user may only change the login shell for their 13354 own account, the super user may change the login shell for any account. 13355 13356 The only restrictions placed on the login shell is that the command name shall 13357 be listed in /etc/shells, unless the invoker is the super-user, and then any 13358 value may be added. Accounts which are restricted (in an implementation-defined 13359 manner) may not change their login shell. 13360 13361 If the -s option is not selected, chsh operates in an interactive mode. The 13362 prompts and expected input in this mode are implementation-defined. 13363 13364 Standard Options 13365 13366 -s login_shell 13367 13368 sets the login shell. 13369 13370 col 13371 13372 Name 13373 13374 col -- filter reverse line feeds from input 13375 13376 Description 13377 13378 col is as specified in the The Single UNIX Specification(SUS) Version 2, 13379 Commands and Utilities (XCU), Issue 5 (ISBN: 1-85912-191-8, C604) with the 13380 difference that the -p option has unspecified behavior. 13381 13382 Although col is shown as legacy in the Single UNIX Specification, Version 2, it 13383 is not (yet) deprecated in the LSB. 13384 13385 cpio 13386 13387 Name 13388 13389 cpio -- copy file archives in and out 13390 13391 Description 13392 13393 cpio is as specified in the Single UNIX Specification but with differences as 13394 listed below. 13395 13396 Differences 13397 13398 Certain aspects of internationalized filename globbing are optional; see 13399 Internationalization and Filename Globbing>. 13400 13401 crontab 13402 13403 Name 13404 13405 crontab -- maintain crontab files for individual users 13406 13407 Synopsis 13408 13409 crontab [ -u user ] file 13410 crontab [ -u user ] { -l | -r | -e } 13411 13412 Description 13413 13414 crontab is as specified in the Single UNIX Specification but with differences 13415 as listed below. 13416 13417 Files 13418 13419 The files cron.allow and cron.deny reside in /etc rather than /usr/lib/cron. 13420 13421 cut 13422 13423 Name 13424 13425 cut -- split a file into sections determined by context lines 13426 13427 Description 13428 13429 cut is as specified in the Single UNIX Specification but with differences as 13430 listed below. 13431 13432 Differences 13433 13434 -n 13435 13436 has unspecified behavior. 13437 13438 df 13439 13440 Name 13441 13442 df -- report filesystem disk space usage 13443 13444 Description 13445 13446 df is as specified in the Single UNIX Specification but with the following 13447 differences. 13448 13449 If the -k option is not specified, disk space is shown in unspecified units. 13450 Applications should specify -k. 13451 13452 If an argument is the absolute file name of a disk device node containing a 13453 mounted filesystem, df shows the space available on that filesystem rather than 13454 on the filesystem containing the device node (which is always the root 13455 filesystem). 13456 13457 dmesg 13458 13459 Name 13460 13461 dmesg -- print or control the kernel ring buffer 13462 13463 Synopsis 13464 13465 dmesg [ -c ] [ -n level ] [ -s bufsize ] 13466 13467 Description 13468 13469 dmesg examines or controls the kernel ring buffer. 13470 13471 Standard Options 13472 13473 -c 13474 13475 clears the ring buffer contents after printing. 13476 13477 -n level 13478 13479 sets the level at which logging of messages is done to the console. 13480 13481 -s bufsize 13482 13483 uses a buffer of bufsize to query the kernel ring buffer. This is 8196 by 13484 default (this matches the default kernel syslog buffer size in 2.0.33 and 13485 2.1.103). If you have set the kernel buffer to larger than the default then 13486 this option can be used to view the entire buffer. 13487 13488 du 13489 13490 Name 13491 13492 du -- estimate file space usage 13493 13494 Description 13495 13496 du is as specified in the Single UNIX Specification but with differences as 13497 listed below. 13498 13499 Differences 13500 13501 If the -k option is not specified, disk space is shown in unspecified units. 13502 Applications should specify -k. 13503 13504 echo 13505 13506 Name 13507 13508 echo -- display a line of text 13509 13510 Synopsis 13511 13512 echo [STRING]... 13513 13514 Description 13515 13516 The echo command is as specified in the Single UNIX Specification but with the 13517 following differences. 13518 13519 Unlike the behavior specified in the Single UNIX Specification, whether echo 13520 supports options is implementation defined. The behavior of echo if any 13521 arguments contain backslashes is also implementation defined. Applications 13522 shall not run echo with a first argument starting with a hyphen, or with any 13523 arguments containing backslashes; they shall use printf in those cases. [21] 13524 13525 egrep 13526 13527 Name 13528 13529 egrep -- search a file with an ERE pattern 13530 13531 Description 13532 13533 egrep is equivalent to grep -E. For further details, see the specification for 13534 grep. 13535 13536 fgrep 13537 13538 Name 13539 13540 fgrep -- search a file with a fixed pattern 13541 13542 Description 13543 13544 fgrep is equivalent to grep -F. For further details, see the specification for 13545 grep. 13546 13547 file 13548 13549 Name 13550 13551 file -- determine file type 13552 13553 Description 13554 13555 file is as specified in the Single UNIX Specification but with differences as 13556 listed below. 13557 13558 Differences 13559 13560 The -M, -h, -d, and -i options need not be supported. 13561 13562 find 13563 13564 Name 13565 13566 find -- search for files in a directory hierarchy 13567 13568 Description 13569 13570 find is as specified in the Single UNIX Specification but with additional 13571 options as specified below. 13572 13573 Differences 13574 13575 Certain aspects of internationalized filename globbing are optional; see 13576 Internationalization and Filename Globbing>. 13577 13578 fuser 13579 13580 Name 13581 13582 fuser -- identify processes using files or sockets 13583 13584 Description 13585 13586 fuser is as specified in the Single UNIX Specification but with differences as 13587 listed below. 13588 13589 Differences 13590 13591 -c 13592 13593 has unspecified behavior. 13594 13595 -f 13596 13597 has unspecified behavior. 13598 13599 gettext 13600 13601 Name 13602 13603 gettext -- retrieve text string from message database 13604 13605 Synopsis 13606 13607 gettext [ options ] [ textdomain ] msgid 13608 13609 gettext -s [ options ] msgid ... 13610 13611 Description 13612 13613 The gettext utility retrieves a translated text string corresponding to string 13614 msgid from a message object generated with msgfmt utility. 13615 13616 The message object name is derived from the optional argument textdomain if 13617 present, otherwise from the TEXTDOMAIN environment. If no domain is specified, 13618 or if a corresponding string cannot be found, gettext prints msgid. 13619 13620 Ordinarily gettext looks for its message object in dirname/lang/LC_MESSAGES 13621 where dirname is the implementation-defined default directory and lang is the 13622 locale name. If present, the TEXTDOMAINDIR environment variable replaces the 13623 dirname. 13624 13625 This utility interprets C escape sequences such as \t for tab. Use \\ to print 13626 a backslash. To produce a message on a line of its own, either put a \n at the 13627 end of msgid, or use this command in conjunction with printf utility. 13628 13629 When used with the -s option the utility behaves like the echo utility. But it 13630 does not simply copy its arguments to standard output. Instead those messages 13631 found in the selected catalog are translated. 13632 13633 Options 13634 13635 -d domainname, --domain=domainname 13636 13637 Retrieve translated messages from domainname. 13638 13639 -e 13640 13641 Enable expansion of some escape sequences. 13642 13643 -n 13644 13645 Suppress trailing newline. 13646 13647 Operands 13648 13649 The following operands are supported: 13650 13651 textdomain 13652 13653 A domain name used to retrieve the messages. 13654 13655 msgid 13656 13657 A key to retrieve the localized message. 13658 13659 Environment Variables 13660 13661 LANGUAGE 13662 13663 Specifies one or more locale names. See gettext message handling functions 13664 for more information. 13665 13666 LANG 13667 13668 Specifies locale name. 13669 13670 LC_MESSAGES 13671 13672 Specifies messaging locale, and if present overrides LANG for messages. 13673 13674 TEXTDOMAIN 13675 13676 Specifies the text domain name, which is identical to the message object 13677 filename without .mo suffix. 13678 13679 TEXTDOMAINDIR 13680 13681 Specifies the pathname to the message database, and if present replaces the 13682 implementation-defined default directory. 13683 13684 Exit Status 13685 13686 The following exit values are returned: 13687 13688 0 13689 13690 Successful completion. 13691 13692 >0 13693 13694 An error occurred. 13695 13696 grep 13697 13698 Name 13699 13700 grep -- print lines matching a pattern 13701 13702 Description 13703 13704 grep is as specified in the Single UNIX Specification but with differences as 13705 listed below. 13706 13707 LSB Differences 13708 13709 Certain aspects of internationalized regular expressions are optional; see 13710 Internationalization and Regular Expressions>. 13711 13712 groupadd 13713 13714 Name 13715 13716 groupadd -- create a new group 13717 13718 Synopsis 13719 13720 groupadd [-g gid [-o]] group 13721 13722 Options 13723 13724 -g gid [-o] 13725 13726 specifies the numerical value of the group's ID. This value shall be 13727 unique, unless the -o option is used. The value shall be non-negative. 13728 13729 groupdel 13730 13731 Name 13732 13733 groupdel -- delete a group 13734 13735 Synopsis 13736 13737 groupdel group 13738 13739 Description 13740 13741 groupdel modifies the system account files, deleting all entries that refer to 13742 group. The named group shall exist. 13743 13744 groupmod 13745 13746 Name 13747 13748 groupmod -- modify a group 13749 13750 Synopsis 13751 13752 groupmod [-g gid [-o]] [-n group_name ] group 13753 13754 Options 13755 13756 -g gid [-o] 13757 13758 specifies the numerical value of the group's ID. This value shall be 13759 unique, unless the -o option is used. The value shall be non-negative. Any 13760 files which the old group ID is the file group ID shall have the file group 13761 ID changed manually. 13762 13763 -n groupname 13764 13765 changes the name of the group from group to group_name. 13766 13767 groups 13768 13769 Name 13770 13771 groups -- display a group 13772 13773 Synopsis 13774 13775 groups [user] 13776 13777 Description 13778 13779 groups displays the current group ID names or values. If the value does not 13780 have a corresponding entry in the group database, the value will be displayed 13781 as the numerical group value. The optional user parameter will display the 13782 groups for the named user. 13783 13784 gunzip 13785 13786 Name 13787 13788 gunzip -- uncompress files 13789 13790 Description 13791 13792 gunzip is equivalent to gzip -d. See the specification for gzip for further 13793 details. 13794 13795 gzip 13796 13797 Name 13798 13799 gzip -- compress or expand files 13800 13801 Synopsis 13802 13803 gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ] 13804 13805 Description 13806 13807 gzip tries to reduce the size of the named files. Whenever possible, each file 13808 is replaced by one with the extension .gz, while keeping the same ownership 13809 modes, access and modification times. If no files are specified, or if a file 13810 name is "-", the standard input is compressed to the standard output. gzip will 13811 only attempt to compress regular files. In particular, it will ignore symbolic 13812 links. 13813 13814 When compressing, gzip uses the deflate algorithm specified in RFC1951 and 13815 stores the result in a file using the gzip file format specified in RFC1952. 13816 13817 Options 13818 13819 -a, --ascii 13820 13821 does nothing on Linux systems. 13822 13823 -c, --stdout, --to-stdout 13824 13825 writes output on standard output; keeps original files unchanged. If there 13826 are several input files, the output consists of a sequence of independently 13827 compressed members. To obtain better compression, concatenate all input 13828 files before compressing them. 13829 13830 -d, --decompress, --uncompress 13831 13832 decompresses. 13833 13834 -f, --force 13835 13836 forces compression or decompression even if the file has multiple links or 13837 the corresponding file already exists, or if the compressed data is read 13838 from or written to a terminal. If the input data is not in a format 13839 recognized by gzip, and if the option --stdout is also given, copy the 13840 input data without change to the standard ouput: let gzip behave as cat. If 13841 -f is not given, and when not running in the background, gzip prompts to 13842 verify whether an existing file should be overwritten. 13843 13844 -l, --list 13845 13846 lists the compressed size, uncompressed size, ration and uncompressed name 13847 for each compressed file. Gives the uncompressed size as -1 for files not 13848 in gzip format. Additionally displays method, crc and timestamp for the 13849 uncompress file when used in combination with --verbose. 13850 13851 The compression methods currently supported are deflate, compress, lzh (SCO 13852 compress -H) and pack. The crc is given as ffffffff for a file not in gzip 13853 format. 13854 13855 With --name, the uncompressed name, date and time are those stored within 13856 the compress file, if present. 13857 13858 With --verbose, the size totals and compression ratio for all files is also 13859 displayed, unless some sizes are unknown. With --quiet, the title and 13860 totals lines are not displayed. 13861 13862 -L, --license 13863 13864 displays the gzip license and quit. 13865 13866 -n, --no-name 13867 13868 does not save the original file name and time stamp by default when 13869 compressing. (The original name is always saved if the name had to be 13870 truncated.) When decompressing, do not restore the original file name if 13871 present (remove only the gzip suffix from the compressed file name) and do 13872 not restore the original time stamp if present (copy it from the compressed 13873 file). This option is the default when decompressing. 13874 13875 -N, --name 13876 13877 always saves the original file name and time stamp when compressing; this 13878 is the default. When decompressing, restore the original file name and time 13879 stamp if present. This option is useful on systems which have a limit on 13880 file name length or when the time stamp has been lost after a file 13881 transfer. 13882 13883 -q, --quiet 13884 13885 suppresses all warnings. 13886 13887 -r, --recursive 13888 13889 travels the directory structure recursively. If any of the file names 13890 specified on the command line are directories, gzip will descend into the 13891 directory and compress all the files it finds there (or decompress them in 13892 the case of gunzip). 13893 13894 -S .suf, --sufix .suf 13895 13896 uses suffix .suf instead of .gz. 13897 13898 -t, --test 13899 13900 checks the compressed file integrity. 13901 13902 -v, --verbose 13903 13904 displays the name and percentage reduction for each file compressed or 13905 decompressed. 13906 13907 -#, --fast, --best 13908 13909 regulates the speed of compression using the specified digit #, where -1 or 13910 --fast indicates the fastest compression method (less compression) and -9 13911 or --best indicates the slowest compression method (best compression). The 13912 default compression level is -6 (that is, biased towards high compression 13913 at expense of speed). 13914 13915 LSB Deprecated Options 13916 13917 The behaviors specified in this section are expected to disappear from a future 13918 version of the LSB; applications should only use the non-LSB-deprecated 13919 behaviors. 13920 13921 -V, --version 13922 13923 displays the version number and compilation options, then quits. 13924 13925 hostname 13926 13927 Name 13928 13929 hostname -- show the system's host name 13930 13931 Synopsis 13932 13933 hostname [-v] [-a] [--alias] [-d] [--domain] [-f] [--fqdn] 13934 [-i] [--ip-address] [--long] [-s] [--short] [-y] [--yp] 13935 [--nis] 13936 13937 hostname [-v] [-F filename] [--file filename] [hostname] 13938 13939 hostname [-v] [-h] [--help] [-V] [--version] 13940 13941 Description 13942 13943 hostname is used to either set or display the current host or domain name of 13944 the system. This name is used by many of the networking programs to identify 13945 the machine. The domain name is also used by NIS/YP. 13946 13947 When called without any arguments, the program displays the name of the system 13948 as returned by the gethostname(2) function. 13949 13950 When called with one argument or with the --file option, the commands set the 13951 host name or the NIS/YP domain name. Note, that only the super-user can change 13952 the names. 13953 13954 Options 13955 13956 -a, --alias 13957 13958 displays the alias name of the host (if used). 13959 13960 -d, --domain 13961 13962 displays the name of the DNS domain. 13963 13964 -F, --file filename 13965 13966 reads the host name from the specified file. Comments (lines starting with 13967 a #) are ignored. 13968 13969 -f, --fqdn, --long 13970 13971 displays the FQDN (Fully Qualified Domain Name). 13972 13973 -i, --ip-address 13974 13975 displays the IP address(es) of the host. 13976 13977 -s, --short 13978 13979 displays the short host name. This is the host name cut at the first dot. 13980 13981 -v, --verbose 13982 13983 tells what's going on. 13984 13985 -y, --yp, --nis 13986 13987 displays the NIS domain name. If a parameter is given (or --file name) then 13988 root can also set a new NIS domain. 13989 13990 LSB Deprecated Options 13991 13992 The behaviors specified in this section are expected to disappear from a future 13993 version of the LSB; applications should only use the non-LSB-deprecated 13994 behaviors. 13995 13996 -V, --version 13997 13998 prints version information on standard output and exits successfully. 13999 14000 install 14001 14002 Name 14003 14004 install -- copy files and set attributes 14005 14006 Synopsis 14007 14008 install [OPTION]... SOURCE DEST (1st format) 14009 install [OPTION]... SOURCE... DIRECTORY (2nd format) 14010 install -d [OPTION]... DIRECTORY... (3rd format) 14011 14012 Description 14013 14014 In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to the 14015 existing DIRECTORY, while setting permission modes and owner/group. In the 14016 third format, create all components of the given DIRECTORY(ies). 14017 14018 Standard Options 14019 14020 --backup[=CONTROL] 14021 14022 makes a backup of each existing destination file. 14023 14024 -b 14025 14026 is like --backup, but does not accept an argument. 14027 14028 -d, --directory 14029 14030 treats all arguments as directory names; creates all components of the 14031 specified directories. 14032 14033 -D 14034 14035 creates all leading components of DEST except the last, then copies SOURCE 14036 to DEST; useful in the 1st format. 14037 14038 -g, --group=GROUP 14039 14040 sets group ownership, instead of process' current group. 14041 14042 -m, --mode=MODE 14043 14044 sets permission mode (as in chmod), instead of rwxr-xr-x. 14045 14046 -o, --owner=OWNER 14047 14048 sets ownership (super-user only). 14049 14050 -p, --preserve-timestamps 14051 14052 applies access/modification times of SOURCE files to corresponding 14053 destination files. 14054 14055 -s, --strip 14056 14057 strips symbol tables, only for 1st and 2nd formats. 14058 14059 -S, --suffix=SUFFIX 14060 14061 overrides the usual backup suffix. 14062 14063 --verbose 14064 14065 prints the name of each directory as it is created. 14066 14067 install_initd 14068 14069 Name 14070 14071 install_initd -- install an init.d file 14072 14073 Synopsis 14074 14075 /usr/lib/lsb/install_initd initd_file 14076 14077 Description 14078 14079 install_initd installs an init.d file that has been copied to the /etc/init.d 14080 location or symlink. In the postinstall script of a package, the program /usr/ 14081 lib/lsb/install_initd configures a distribution's boot script system to call 14082 the init.d file of the package at an appropriate time. See also the Section 14083 called Installation and Removal of init.d Files in Chapter 8. 14084 14085 ipcrm 14086 14087 Name 14088 14089 ipcrm -- provide information on ipc facilities 14090 14091 Synopsis 14092 14093 ipcrm [ shm | msg | sem ] id... 14094 14095 Description 14096 14097 ipcrm removes the resource(s) specified by id. 14098 14099 ipcs 14100 14101 Name 14102 14103 ipcs -- provide information on ipc facilities 14104 14105 Synopsis 14106 14107 ipcs [ -smq ] [ -tcp ] 14108 14109 Description 14110 14111 ipcs provides information on the ipc facilities for which the calling process 14112 has read access. 14113 14114 Resource display options 14115 14116 -m 14117 14118 shared memory segments. 14119 14120 -q 14121 14122 message queues. 14123 14124 -s 14125 14126 semaphore arrays. 14127 14128 Output format options 14129 14130 -t 14131 14132 time. 14133 14134 -p 14135 14136 pid. 14137 14138 -c 14139 14140 creator. 14141 14142 Application Usage 14143 14144 In some implementations of ipcs the -a option will print all information 14145 available. In other implementations the -a option will print all resource 14146 types. Therefore, applications shall not use the -a option. 14147 14148 Some implements of ipcs implement more output formats than are specified here. 14149 These options are not consistent between differing implementations of ipcs. 14150 Therefore, only the -t -c and -p option flags may be used. At least one of the 14151 -t -c and -p options shall be specified. 14152 14153 killall 14154 14155 Name 14156 14157 killall -- kill processes by name 14158 14159 Synopsis 14160 14161 killall [-egiqvw] [-signal] name ... 14162 killall -l 14163 killall -V 14164 14165 Description 14166 14167 killall sends a signal to all processes running any of the specified commands. 14168 If no signal name is specified, SIGTERM is sent. 14169 14170 Signals can be specified either by name (e.g. -HUP) or by number (e.g. -1). 14171 Signal 0 (check if a process exists) can only be specified by number. 14172 14173 If the command name contains a slash (/), processes executing that particular 14174 file will be selected for killing, independent of their name. 14175 14176 killall returns a non-zero return code if no process has been killed for any of 14177 the listed commands. If at least one process has been killed for each command, 14178 killall returns zero. 14179 14180 A killall process never kills itself (but may kill other killall processes). 14181 14182 Standard Options 14183 14184 -e 14185 14186 requires an exact match for very long names. If a command name is longer 14187 than 15 characters, the full name may be unavailable (i.e. it is swapped 14188 out). In this case, killall will kill everything that matches within the 14189 first 15 characters. With -e, such entries are skipped. killall prints a 14190 message for each skipped entry if -v is specified in addition to -e. 14191 14192 -g 14193 14194 kills the process group to which the process belongs. The kill signal is 14195 only sent once per group, even if multiple processes belonging to the same 14196 process group were found. 14197 14198 -i 14199 14200 asks interactively for confirmation before killing. 14201 14202 -l 14203 14204 lists all known signal names. 14205 14206 -q 14207 14208 does not complain if no processes were killed. 14209 14210 -v 14211 14212 reports if the signal was successfully sent. 14213 14214 LSB Deprecated Options 14215 14216 The behaviors specified in this section are expected to disappear from a future 14217 version of the LSB; applications should only use the non-LSB-deprecated 14218 behaviors. 14219 14220 -V 14221 14222 displays version information. 14223 14224 lpr 14225 14226 Name 14227 14228 lpr -- off line print 14229 14230 Synopsis 14231 14232 lpr [-l] [-p] [-Pprinter] [-h] [-s] [-#copies] [-J name] 14233 [-T title] [name ...] 14234 14235 Description 14236 14237 lpr uses a spooling daemon to print the named files when facilities become 14238 available. If no names appear, the standard input is assumed. 14239 14240 Standard Options 14241 14242 -l 14243 14244 identifies binary data that is not to be filtered but sent as raw input to 14245 printer. 14246 14247 -p 14248 14249 formats with "pr" before sending to printer. 14250 14251 -Pprinter 14252 14253 sends output to the printer named printer instead of the default printer. 14254 14255 -h 14256 14257 suppresses header page. 14258 14259 -s 14260 14261 uses symbolic links. 14262 14263 -#copies 14264 14265 specifies copies as the number of copies to print. 14266 14267 -J name 14268 14269 specifies name as the job name for the header page. 14270 14271 -T title 14272 14273 specifies title as the title used for "pr". 14274 14275 ls 14276 14277 Name 14278 14279 ls -- list directory contents 14280 14281 Description 14282 14283 ls is as specified in the Single UNIX Specification, but with differences 14284 listed below. 14285 14286 Differences 14287 14288 -p 14289 14290 in addition to the Single UNIX Specification behavior of printing a slash 14291 for a directory, ls -p may display other characters for other file types. 14292 14293 Certain aspects of internationalized filename globbing are optional; see 14294 Internationalization and Filename Globbing>. 14295 14296 lsb_release 14297 14298 Name 14299 14300 lsb_release -- print distribution specific information 14301 14302 Synopsis 14303 14304 lsb_release [OPTION]... 14305 14306 Description 14307 14308 The lsb_release command prints certain LSB (Linux Standard Base) and 14309 Distribution information. 14310 14311 With no option, same as -v. 14312 14313 Options 14314 14315 -v, --version 14316 14317 displays version of LSB against which distribution is compliant. The 14318 version is expressed as a colon seperated list of LSB module descriptions. 14319 LSB module descriptions are dash seperated tuples containing the module 14320 name, version, and architecture name. The output is a single line of text 14321 of the following format: 14322 14323 LSB Version:\t 14324 14325 -i, --id 14326 14327 displays string id of distributor. The output is a single line of text of 14328 the following format: 14329 14330 Distributor ID:\t 14331 14332 -d, --description 14333 14334 displays single line text description of distribution. The output is of the 14335 following format: 14336 14337 Description:\t 14338 14339 -r, --release 14340 14341 displays release number of distribution. The output is a single line of 14342 text of the following format: 14343 14344 Release:\t 14345 14346 -c, --codename 14347 14348 displays codename according to distribution release. The output is a single 14349 line of text of the following format. 14350 14351 Codename:\t 14352 14353 -a, --all 14354 14355 displays all of the above information. 14356 14357 -s, --short 14358 14359 displays all of the above information in short output format. 14360 14361 -h, --help 14362 14363 displays a human-readable help message. 14364 14365 Examples 14366 14367 The following command will list the LSB Profiles which are currently supported 14368 on this platform. 14369 14370 example% lsb_release -v 14371 LSB Version: core-2.0-ia32:graphics-2.0-ia32 14372 14373 m4 14374 14375 Name 14376 14377 m4 -- macro processor 14378 14379 Description 14380 14381 m4 is as specified in the Single UNIX Specification but with extensions as 14382 listed below. 14383 14384 Extensions 14385 14386 -P 14387 14388 forces a m4_ prefix to all builtins. 14389 14390 -I directory 14391 14392 Add directory to the end of the search path for includes. 14393 14394 md5sum 14395 14396 Name 14397 14398 md5sum -- generates or checks MD5 message digests 14399 14400 Synopsis 14401 14402 md5sum [-b] [-c [file]] | [file...] 14403 14404 Description 14405 14406 For each file, write to standard output a line containing the MD5 checksum of 14407 that file, followed by one or more blank characters, followed by the name of 14408 the file. The MD5 checksum shall be calculated according to RFC1321 and output 14409 as 32 hexadecimal digits (as RFC1321 does). 14410 14411 If no file names are specified as operands, read from standard input and use 14412 "-" as the file name in the output. 14413 14414 Options 14415 14416 -b 14417 14418 uses binary mode. 14419 14420 -c [file] 14421 14422 checks md5sum of all files listed in file against the checksum listed in 14423 the same file. The actual format of that file is the same as output of 14424 md5sum. That is, each line in the file describes a file. 14425 14426 mknod 14427 14428 Name 14429 14430 mknod -- make block or character special files 14431 14432 Synopsis 14433 14434 mknod [OPTION]... NAME TYPE [MAJOR MINOR] 14435 14436 Description 14437 14438 Create the special file NAME of the given TYPE. 14439 14440 MAJOR MINOR are forbidden for TYPE p, mandatory otherwise. TYPE may be: 14441 14442 b 14443 14444 creates a block (buffered) special file. 14445 14446 c, u 14447 14448 creates a character (unbuffered) special file. 14449 14450 p 14451 14452 creates a FIFO. 14453 14454 Standard Options 14455 14456 -m, --mode=MODE 14457 14458 sets permission mode (as in chmod), not a=rw - umask. 14459 14460 --version 14461 14462 outputs version information and exits. 14463 14464 mktemp 14465 14466 Name 14467 14468 mktemp -- make temporary file name (unique) 14469 14470 Synopsis 14471 14472 mktemp [-q] [-u] template 14473 14474 Description 14475 14476 mktemp takes the given file name template and overwrites a portion of it to 14477 create a file name. This file name is unique and suitable for use by the 14478 application. 14479 14480 Options 14481 14482 -q 14483 14484 fails silently if an error occurs. This is useful if a script does not want 14485 error output to go to standard error. 14486 14487 -u 14488 14489 operates in `unsafe' mode. The temp file will be unlinked before mktemp 14490 exits. This is slightly better than mktemp(3) but still introduces a race 14491 condition. Use of this option is not encouraged. 14492 14493 more 14494 14495 Name 14496 14497 more -- file perusal filter for crt viewing 14498 14499 Description 14500 14501 more is as specified in the Single UNIX Specification but with differences as 14502 listed below. 14503 14504 Differences 14505 14506 The more command need not respect the LINES and COLUMNS environment variables. 14507 14508 The more command need not support the following interactive commands: 14509 14510 g 14511 G 14512 u 14513 control u 14514 control f 14515 newline 14516 j 14517 k 14518 r 14519 R 14520 m 14521 ' (return to mark) 14522 /! 14523 ? 14524 N 14525 :e 14526 :t 14527 control g 14528 ZZ 14529 14530 -num 14531 14532 specifies an integer which is the screen size (in lines). 14533 14534 -e 14535 14536 has unspecified behavior. 14537 14538 -i 14539 14540 has unspecified behavior. 14541 14542 -n 14543 14544 has unspecified behavior. 14545 14546 -p 14547 14548 Either (1) clear the whole screen and then display the text (instead of the 14549 usual scrolling behavior), or (2) provide the behavior specified by the 14550 Single UNIX Specification. In the latter case, the syntax is "-p command". 14551 14552 -t 14553 14554 has unspecified behavior. 14555 14556 +num 14557 14558 starts at line number num. 14559 14560 +/string 14561 14562 specifies a string that will be searched for before each file is displayed. 14563 14564 Rationale 14565 14566 The +num and +/string options are deprecated in the Single UNIX Specification, 14567 Version 2; however we shall continue to specify them because util-linux-2.11f 14568 does not support the replacement (-p command). The +command option as found in 14569 the Single UNIX Specification is more general than what we specify, but 14570 util-linux-2.11f appears to only support the more specific +num and +/string 14571 forms. 14572 14573 mount 14574 14575 Name 14576 14577 mount -- mount a file system 14578 14579 Synopsis 14580 14581 mount [-hV] 14582 mount -a [-fFnrsvw] [-t vfstype] 14583 mount [-fnrsvw] [-o options [,...]] device | dir 14584 mount [-fnrsvw] [-t vfstype] [-o options] device dir 14585 14586 Description 14587 14588 Files are named in a big tree, the file hierarchy, rooted at /. These files can 14589 be spread out over several devices. mount serves to attach the file system 14590 found on some device to the big file tree. Conversely, umount(8) will detach it 14591 again. 14592 14593 Standard Options 14594 14595 -v 14596 14597 invokes verbose mode. 14598 14599 -a 14600 14601 mounts all filesystems (of the given types) mentioned in fstab. 14602 14603 -F 14604 14605 combines with -a. to fork off a new incarnation of mount for each device. 14606 This will do the mounts on different devices or different NFS servers in 14607 parallel. 14608 14609 -f 14610 14611 causes everything to be done except for the actual system call; if it's not 14612 obvious, this `fakes' mounting the file system. 14613 14614 -n 14615 14616 mounts without writing in /etc/mtab. This is necessary for example when / 14617 etc is on a read-only file system. 14618 14619 -s 14620 14621 tolerates sloppy mount options rather than failing. This will ignore mount 14622 options not supported by a filesystem type. Not all filesystems support 14623 this option. 14624 14625 -r 14626 14627 mounts the file system read-only. A synonym is -o ro. 14628 14629 -w 14630 14631 mounts the file system read/write. (default) A synonym is -o rw. 14632 14633 -L label 14634 14635 mounts the partition that has the specified label. 14636 14637 -U uuid 14638 14639 mounts the partition that has the specified uuid. These two options require 14640 the file /proc/partitions to exist. 14641 14642 -t vfstype 14643 14644 indicates a file system type of vfstype. 14645 14646 More than one type may be specified in a comma separated list. The list of 14647 file system types can be prefixed with no to specify the file system types 14648 on which no action should be taken. 14649 14650 -o 14651 14652 options are specified with a -o flag followed by a comma-separated string 14653 of options. Some of these options are only useful when they appear in the / 14654 etc/fstab file. The following options apply to any file system that is 14655 being mounted: 14656 14657 async 14658 14659 does all I/O to the file system asynchronously. 14660 14661 atime 14662 14663 updates inode access time for each access. (default) 14664 14665 auto 14666 14667 is mountable with -a. 14668 14669 defaults 14670 14671 uses default options: rw, suid, dev, exec, auto, nouser, and async. 14672 14673 dev 14674 14675 interprets character or block special devices on the file system. 14676 14677 exec 14678 14679 permits execution of binaries. 14680 14681 noatime 14682 14683 does not update inode access times on this file system. 14684 14685 noauto 14686 14687 is only explicitly mountable. 14688 14689 nodev 14690 14691 does not interpret character or block special devices on the file 14692 system. 14693 14694 noexec 14695 14696 does not allow execution of any binaries on the mounted file system. 14697 14698 nosuid 14699 14700 does not allow set-user-identifier or set-group-identifier bits to take 14701 effect. 14702 14703 nouser 14704 14705 forbids an ordinary (i.e., non-root) user to mount the file system. 14706 (default) 14707 14708 remount 14709 14710 attempts to remount an already-mounted file system. This is commonly 14711 used to change the mount flags for a file system, especially to make a 14712 read-only file system writable. 14713 14714 ro 14715 14716 mounts the file system read-only. 14717 14718 rw 14719 14720 mounts the file system read-write. 14721 14722 suid 14723 14724 allows set-user-identifier or set-group-identifier bits to take effect. 14725 14726 sync 14727 14728 does all I/O to the file system synchronously. 14729 14730 user 14731 14732 allows an ordinary user to mount the file system. This option implies 14733 the options noexec, nosuid, and nodev (unless overridden by subsequent 14734 options, as in the option line user,exec,dev,suid). 14735 14736 LSB Deprecated Options 14737 14738 The behaviors specified in this section are expected to disappear from a future 14739 version of the LSB; applications should only use the non-LSB-deprecated 14740 behaviors. 14741 14742 -V 14743 14744 outputs version. 14745 14746 msgfmt 14747 14748 Name 14749 14750 msgfmt -- create a message object from a message file 14751 14752 Synopsis 14753 14754 msgfmt [ options ] filename.po ... 14755 14756 Description 14757 14758 msgfmt creates message object files from portable object files (filename.po), 14759 without changing the portable object files. 14760 14761 The .po file contains messages displayed to users by system utilities or by 14762 application programs. .po files can be edited, and the messages in them can be 14763 rewritten in any language supported by the system. 14764 14765 If input file is -, standard input is read. 14766 14767 The xgettext utility can be used to create .po files from script or programs. 14768 14769 msgfmt interprets data as characters according to the current setting of the 14770 LC_CTYPE locale category. 14771 14772 Options 14773 14774 -D directory, --directory=directory 14775 14776 Add directory to list for input files search. 14777 14778 -f, --use-fuzzy 14779 14780 Use fuzzy entries in output. If this option is not specified, fuzzy entries 14781 are not included into the output. 14782 14783 -o output-file, --output-file=output-file 14784 14785 Specify output file name as output-file. If multiple domains or duplicate 14786 msgids in the .po file are present, the behavior is unspecified. If 14787 output-file is -, output is written to standard output. 14788 14789 --strict 14790 14791 Direct the utility to work strictly following the UniForum/Sun 14792 implementation. Currently this only affects the naming of the output file. 14793 If this option is not given the name of the output file is the same as the 14794 domain name. If the strict UniForum mode is enabled the suffix .mo is added 14795 to the file name if it is not already present. 14796 14797 -v, --verbose 14798 14799 Detect and diagnose input file anomalies which might represent translation 14800 errors. The msgid and msgstr strings are studied and compared. It is 14801 considered abnormal that one string starts or ends with a newline while the 14802 other does not. 14803 14804 Also, if the string represents a format string used in a printf-like 14805 function both strings should have the same number of % format specifiers, 14806 with matching types. If the flag c-format or possible-c-format appears in 14807 the special comment #, for this entry a check is performed. For example, 14808 the check will diagnose using %.*s against %s, or %d against %s, or %d 14809 against %x. It can even handle positional parameters. 14810 14811 Operands 14812 14813 The filename.po operands are treated as portable object files. The format of 14814 portable object files is defined in EXTENDED DESCRIPTION. 14815 14816 Standard Input 14817 14818 The standard input is not used unless a filename.po operand is specified as 14819 "-". 14820 14821 Environment Variables 14822 14823 LANGUAGE 14824 14825 Specifies one or more locale names. See gettext message handling functions 14826 for more information. 14827 14828 LANG 14829 14830 Specifies locale name. 14831 14832 LC_ALL 14833 14834 Specifies locale name for all categories. If defined, overrides LANG, 14835 LC_CTYPE and LC_MESSAGES. 14836 14837 LC_CTYPE 14838 14839 Specifies locale name for character handling. 14840 14841 LC_MESSAGES 14842 14843 Specifies messaging locale, and if present overrides LANG for messages. 14844 14845 Standard Output 14846 14847 The standard output is not used unless the option-argument of the -o option is 14848 specified as -. 14849 14850 Extended Description 14851 14852 The format of portable object files (.po files) is defined as follows. Each .po 14853 file contains one or more lines, with each line containing either a comment or 14854 a statement. Comments start the line with a hash mark (#) and end with the 14855 newline character. All comments and empty lines are ignored. The format of a 14856 statement is: 14857 14858 directive value 14859 14860 Each directive starts at the beginning of the line and is separated from value 14861 by white space (such as one or more space or tab characters). value consists of 14862 one or more quoted strings separated by white space. If two or more strings are 14863 specified as value, they are normalized into single string using the string 14864 normalization syntax the same as the ISO C language. Use any of the following 14865 types of directives: 14866 14867 domain domainname 14868 14869 msgid message_identifier 14870 14871 msgid_plural untranslated_string_plural 14872 14873 msgstr message_string 14874 14875 msgstr[n] message_string 14876 14877 The behavior of the domain directive is affected by the options used. See 14878 OPTIONS for the behavior when the -o option is specified. If the -o option is 14879 not specified, the behavior of the domain directive is as follows: (1) All 14880 msgids from the beginning of each .po file to the first domain directive are 14881 put into a default message object file, messages (or messages.mo if --strict 14882 option is specified). (2) When msgfmt encounters a domain domainname directive 14883 in the .po file, all following msgids until the next domain directive are put 14884 into the message object file domainname (or domainname.mo if --strict option is 14885 specified). (3) Duplicate msgids are defined in the scope of each domain. That 14886 is, a msgid is considered a duplicate only if the identical msgid exists in the 14887 same domain. (4) All duplicate msgids are ignored. 14888 14889 The msgid directive specifies the value of a message identifier associated with 14890 the directive that follows it. The msgid_plural directive specifies the plural 14891 form message specified to the plural message handling functions ngettext(), 14892 dngettext() or dcngettext(). The message_identifier string identifies a target 14893 string to be used at retrieval time. Each statement containing a msgid 14894 directive shall be followed by a statement containing a msgstr directive or 14895 msgstr[n] directives. 14896 14897 The msgstr directive specifies the target string associated with the 14898 message_identifier string declared in the immediately preceding msgid 14899 directive. 14900 14901 The msgstr[n] (where n = 0, 1, 2, ...) directive specifies the target string to 14902 be used with plural form handling functions ngettext(), dngettext() and 14903 dcngettext(). 14904 14905 Message strings can contain the escape sequences \n for newline, \t for tab, \v 14906 for vertical tab, \b for backspace, \r for carriage return, \f for formfeed, \\ 14907 for backslash, \" for double quote, \ddd for octal bit pattern, and \xHH for 14908 hexadecimal bit pattern. 14909 14910 Comments should be in one of the following formats: 14911 14912 # translator-comments 14913 14914 #. automatic-comments 14915 14916 #: reference... 14917 14918 #, flag 14919 14920 The comments that starts with #. and #: are automatically generated by xgettext 14921 utility. The #: comments indicate the location of the msgid string in the 14922 source files in filename:line format. The #. comments are generated when -c 14923 option of the xgettext utility is specified. These comments are informative 14924 only and silently ignored by the msgfmt utility. 14925 14926 The #, comments requires one or more flags separated by comma (,) character. 14927 The following flags can be specified: 14928 14929 fuzzy 14930 14931 This flag can be generated by the msgmerge utility or can be inserted by 14932 the translator. It shows that the msgstr string might not be a correct 14933 translation (anymore). Only the translator can judge if the translation 14934 requires further modification, or is acceptable as is. Once satisfied with 14935 the translation, the translator then removes this fuzzy flag. The msgmerge 14936 programs inserts this when it combined the msgid and msgstr entries after 14937 fuzzy search only. 14938 14939 If this flag is specified, the msgfmt utility will not generate the entry 14940 for the immediately following msgid in the output message catalog. 14941 14942 c-format, no-c-format 14943 14944 The flags are automatically added by the xgettext utility and they should 14945 not be added manually. The c-format flag indicates that the msgid string is 14946 used as format string by printf-like functions. In case the c-format flag 14947 is given for a string the msgfmt utility does some more tests to check to 14948 validity of the translation. 14949 14950 The msgid entry with empty string ("") is called the header entry and treated 14951 specially. If the message string for the header entry contains nplurals=value, 14952 the value indicates the number of plural forms. For example, if nplurals=4, 14953 there are 4 plural forms. If nplurals is defined, there should be plural= 14954 expression in the same line, separated by a semicolon (;) character. The 14955 expression is a C language expression to determine which version of msgstr[n] 14956 to be used based on the value of n, the last argument of ngettext(), dngettext 14957 () or dcngettext(). For example: 14958 14959 nplurals=2; plural=n == 1 ? 0 : 1 14960 14961 indicates that there are 2 plural forms in the language; msgstr[0] is used if n 14962 == 1, otherwise msgstr[1] is used. Another example: 14963 14964 nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2 14965 14966 indicates that there are 3 plural forms in the language; msgstr[0] is used if n 14967 == 1, msgstr[1] is used if n == 2, otherwise msgstr[2] is used. 14968 14969 If the header entry contains charset=codeset string, the codeset is used to 14970 indicate the codeset to be used to encode the message strings. If the output 14971 string's codeset is different from the message string's codeset, codeset 14972 conversion from the message strings's codeset to the output string's codeset 14973 will be performed upon the call of gettext(), dgettext(), dcgettext(), ngettext 14974 (), dngettext(), and dcngettext(). The output string's codeset is determined by 14975 the current locale's codeset (the return value of nl_langinfo(CODESET)) by 14976 default, and can be changed by the call of bind_textdomain_codeset(). 14977 14978 Exit Status 14979 14980 The following exit values are returned: 14981 14982 0 14983 14984 Successful completion. 14985 14986 >0 14987 14988 An error occurred. 14989 14990 Application Usage 14991 14992 Neither msgfmt nor any gettext() routine imposes a limit on the total length of 14993 a message. Installing message catalogs under the C locale is pointless, since 14994 they are ignored for the sake of efficiency. 14995 14996 Examples 14997 14998 Example 1: Examples of creating message objects from message files. 14999 15000 In this example module1.po and module2.po are portable message objects files. 15001 15002 example% cat module1.po 15003 15004 # default domain "messages" 15005 15006 msgid "msg 1" 15007 15008 msgstr "msg 1 translation" 15009 15010 # 15011 15012 domain "help_domain" 15013 15014 msgid "help 2" 15015 15016 msgstr "help 2 translation" 15017 15018 # 15019 15020 domain "error_domain" 15021 15022 msgid "error 3" 15023 15024 msgstr "error 3 translation" 15025 15026 example% cat module2.po 15027 15028 # default domain "messages" 15029 15030 msgid "mesg 4" 15031 15032 msgstr "mesg 4 translation" 15033 15034 # 15035 15036 domain "error_domain" 15037 15038 msgid "error 5" 15039 15040 msgstr "error 5 translation" 15041 15042 # 15043 15044 domain "window_domain" 15045 15046 msgid "window 6" 15047 15048 msgstr "window 6 translation" 15049 15050 The following command will produce the output files, messages, help_domain, and 15051 error_domain. 15052 15053 example% msgfmt module1.po 15054 15055 The following command will produce the output files, messages, help_domain, 15056 error_domain, and window_domain. 15057 15058 example% msgfmt module1.po module2.po 15059 15060 The following example will produce the output file hello.mo. 15061 15062 example% msgfmt -o hello.mo module1.po module2.po 15063 15064 newgrp 15065 15066 Name 15067 15068 newgrp -- change group ID 15069 15070 Synopsis 15071 15072 newgrp [-] [group] 15073 15074 Description 15075 15076 newgrp changes the current group ID during a login session. If the optional - 15077 flag is given, the user's environment will be reinitialized as though the user 15078 had logged in, otherwise the current environment, including current working 15079 directory, remains unchanged. 15080 15081 od 15082 15083 Name 15084 15085 od -- dump files in octal and other formats 15086 15087 Description 15088 15089 od is as specified in the Single UNIX Specification but with extensions as 15090 listed below. 15091 15092 Extensions 15093 15094 -w, --width[=BYTES] 15095 15096 outputs BYTES bytes per output line. 15097 15098 --traditional 15099 15100 accepts arguments in pre-POSIX form. 15101 15102 Pre-POSIX Specifications 15103 15104 The LSB supports option intermixtures with the following pre-POSIX 15105 specifications: 15106 15107 -a 15108 15109 is equivalent to -t a, selects named characters. 15110 15111 -f 15112 15113 is equivalent to -t fF, selects floats. 15114 15115 -h 15116 15117 is equivalent to -t x2, selects hexadecimal shorts. 15118 15119 -i 15120 15121 is equivalent to -t d2, selects decimal shorts. 15122 15123 -l 15124 15125 is equivalent to -t d4, selects decimal longs. 15126 15127 passwd 15128 15129 Name 15130 15131 passwd -- change user password 15132 15133 Synopsis 15134 15135 passwd [-x max] [-n min] [-w warn] [-i inact] name 15136 passwd {-l|-u} name 15137 15138 Description 15139 15140 passwd changes passwords for user and group accounts. A normal user may only 15141 change the password for their own account, the super user may change the 15142 password for any account. passwd also changes password expiry dates and 15143 intervals. Applications may not assume the format of prompts and anticipated 15144 input for user interaction, because they are unspecified. 15145 15146 Options 15147 15148 -x max 15149 15150 sets the maximum number of days a password remains valid. 15151 15152 -n min 15153 15154 sets the minimum number of days before a password may be changed. 15155 15156 -w warn 15157 15158 sets the number of days warning the user will receive before their password 15159 will expire. 15160 15161 -i inactive 15162 15163 disables an account after the password has been expired for the given 15164 number of days. 15165 15166 -l 15167 15168 disables an account by changing the password to a value which matches no 15169 possible encrypted value. 15170 15171 -u 15172 15173 re-enables an account by changing the password back to its previous value. 15174 15175 patch 15176 15177 Name 15178 15179 patch -- apply a diff file to an original 15180 15181 Description 15182 15183 patch is as specified in the Single UNIX Specification but with extensions as 15184 listed below. 15185 15186 Extensions 15187 15188 --binary 15189 15190 reads and write all files in binary mode, except for standard output and / 15191 dev/tty. This option has no effect on POSIX-compliant systems. 15192 15193 -u, --unified 15194 15195 interprets the patch file as a unified context diff. 15196 15197 pidof 15198 15199 Name 15200 15201 pidof -- find the process ID of a running program 15202 15203 Synopsis 15204 15205 pidof [-s] [-x] [-o omitpid..] program [program..] 15206 15207 Description 15208 15209 Return the process ID of a process which is running the program named on the 15210 command line.[22] 15211 15212 Options 15213 15214 -s 15215 15216 instructs the program to only return one pid. 15217 15218 -x 15219 15220 causes the program to also return process id's of shells running the named 15221 scripts. 15222 15223 -o 15224 15225 omits processes with specified process id. 15226 15227 remove_initd 15228 15229 Name 15230 15231 remove_initd -- clean up boot script system modifications introduced by 15232 install_initd 15233 15234 Synopsis 15235 15236 /usr/lib/lsb/remove_initd initd_file 15237 15238 Description 15239 15240 remove_initd processes the removal of the modifications made to a 15241 distribution's boot script system by the install_initd program. This cleanup is 15242 performed in the preuninstall script of a package; however, the package manager 15243 is still responsible for removing the /etc/init.d file. See also the Section 15244 called Installation and Removal of init.d Files in Chapter 8. 15245 15246 renice 15247 15248 Name 15249 15250 renice -- alter priority of running processes 15251 15252 Description 15253 15254 renice is as specified in the Single UNIX Specification but with differences as 15255 listed below. 15256 15257 Differences 15258 15259 -n increment 15260 15261 has unspecified behavior. 15262 15263 sed 15264 15265 Name 15266 15267 sed -- stream editor 15268 15269 Description 15270 15271 sed is as specified in the Single UNIX Specification but with differences as 15272 listed below. 15273 15274 LSB Differences 15275 15276 Certain aspects of internationalized regular expressions are optional; see 15277 Internationalization and Regular Expressions>. 15278 15279 sendmail 15280 15281 Name 15282 15283 sendmail -- an electronic mail transport agent 15284 15285 Synopsis 15286 15287 sendmail [flags] [address ...] 15288 15289 Description 15290 15291 To deliver electronic mail (email), applications shall support the interface 15292 provided by /usr/sbin/sendmail (described here). This interface shall be the 15293 default delivery method for applications. 15294 15295 This program sends an email message to one or more recipients, routing the 15296 message as necessary. This program is not intended as a user interface routine. 15297 15298 With no flags, sendmail reads its standard input up to an end-of-file or a line 15299 consisting only of a single dot and sends a copy of the message found there to 15300 all of the addresses listed. It determines the network(s) to use based on the 15301 syntax and contents of the addresses. 15302 15303 It is recommended that applications use as few flags as necessary, none if 15304 possible. 15305 15306 Some agents allow aliasing on the local system to be prevented by preceding the 15307 address with a backslash. 15308 15309 The format of messages shall be as defined in RFC 2822. 15310 15311 Options 15312 15313 -bm 15314 15315 reads mail from standard input and delivers to the recipient addresses. 15316 This is the default mode of operation. 15317 15318 -bp 15319 15320 lists information about messages currently in the input mail queue. 15321 15322 -bs 15323 15324 uses the SMTP protocol as described in RFC 2821; reads SMTP commands on 15325 standard input and writes SMTP responses on standard output. 15326 15327 Note that RFC 2821 specifies \r\n (CR-LF) be used at the end of each line, 15328 but pipes almost always use \n (LF) instead. To deal with this, agents will 15329 accept both \r\n and \n at the end of each line. When accepting \r\n, the \ 15330 r before the \n is silently discarded. 15331 15332 -F fullname 15333 15334 explicitly sets the full name of the sender for incoming mail unless the 15335 message already contains a From: message header. 15336 15337 If the user running sendmail is not sufficiently trusted, then the actual 15338 sender may be indicated in the message, depending on the behavior of the 15339 agent. 15340 15341 -f name 15342 15343 explicitly sets the envelope sender address for incoming mail. If there is 15344 no From: header, the address specified in the From: header will also be 15345 set. 15346 15347 If the user running sendmail is not sufficiently trusted, then the actual 15348 sender will be indicated in the message. 15349 15350 -i 15351 15352 ignores dots alone on lines by themselves in incoming messages. If -bs is 15353 also used, the behavior is unspecified. 15354 15355 -odb 15356 15357 delivers any mail in background, if supported; otherwise ignored. 15358 15359 -odf 15360 15361 delivers any mail in foreground, if supported; otherwise ignored. 15362 15363 -oem or -em 15364 15365 mails errors back to the sender. (default) 15366 15367 -oep or -ep 15368 15369 writes errors to the standard error output. 15370 15371 -oeq or -eq 15372 15373 does not send notification of errors to the sender. This only works for 15374 mail delivered locally. 15375 15376 -oi 15377 15378 is equivalent to -i. 15379 15380 -om 15381 15382 indicates that the sender of a message should receive a copy of the message 15383 if the sender appears in an alias expansion. Ignored if aliases are not 15384 supported. 15385 15386 -t 15387 15388 reads the message to obtain recipients from the To:, Cc:, and Bcc: headers 15389 in the message instead of from the command arguments. If a Bcc: header is 15390 present, it is removed from the message unless there is no To: or Cc: 15391 header, in which case a Bcc: header with no data is created, in accordance 15392 with RFC 2822. 15393 15394 If there are any arguments, they specify addresses to which the message is 15395 not to be delivered. That is, the argument addresses are removed from the 15396 recipients list obtained from the headers. Note: some agents implement this 15397 behavior in reverse, adding addresses instead of removing them. Others may 15398 disallow addresses in argument list. Therefore, applications should not put 15399 addresses in the argument list if -t is used. 15400 15401 This option is sometimes ignored when not in -bm mode (the default). 15402 15403 Exit status 15404 15405 0 15406 15407 successful completion on all addresses. This does not indicate successful 15408 delivery. 15409 15410 >0 15411 15412 there was an error. 15413 15414 Notes/Rationale 15415 15416 This page is believed to reflect functionality provided by smail, exim and 15417 other implementations, not just the sendmail implementation. 15418 15419 shutdown 15420 15421 Name 15422 15423 shutdown -- bring the system down 15424 15425 Synopsis 15426 15427 /sbin/shutdown [-t sec] [-arkhcfF] time [warning-message] 15428 15429 Description 15430 15431 shutdown brings the system down in a secure way. All logged-in users are 15432 notified that the system is going down, and login(1) is blocked. It is possible 15433 to shut the system down immediately or after a specified delay. All processes 15434 are first notified that the system is going down by the signal SIGTERM. If 15435 neither the -h or the -r argument is used, then the default behavior is to take 15436 the system to runlevel one where administrative tasks can be run. 15437 15438 Standard Options 15439 15440 -a 15441 15442 uses /etc/shutdown.allow. 15443 15444 -t sec 15445 15446 tells init(8) to wait sec seconds between sending processes the warning and 15447 the kill signal, before changing to another runlevel. 15448 15449 -k 15450 15451 doesn't really shutdown; only sends the warning messages to everybody. 15452 15453 -r 15454 15455 reboots after shutdown. 15456 15457 -h 15458 15459 halts after shutdown. Powering off after halting is unspecified. 15460 15461 -f 15462 15463 skips fsck on reboot. 15464 15465 -F 15466 15467 forces fsck on reboot. 15468 15469 -c 15470 15471 cancels an already running shutdown. With this option, it is of course not 15472 possible to give the time argument, but you can enter a explanatory message 15473 on the command line that will be sent to all users. 15474 15475 time 15476 15477 specifies when to shut down. 15478 15479 The time argument can have different formats. First, it can be an absolute 15480 time in the format hh:mm, in which hh is the hour (1 or 2 digits) and mm is 15481 the minute of the hour (in two digits). Second, it can be in the format +m, 15482 in which m is the number of minutes to wait. The word now is an alias for 15483 +0. 15484 15485 If shutdown is called with a delay, it creates the advisory file /etc/ 15486 nologin which causes programs such as login(1) to not allow new user 15487 logins. shutdown only removes this file if it is stopped before it can 15488 signal init (i.e. it is cancelled or something goes wrong). Otherwise it is 15489 the responsibility of the system shutdown or startup scripts to remove this 15490 file so that users can login. 15491 15492 warning-message 15493 15494 specifies message to send all users. 15495 15496 su 15497 15498 Name 15499 15500 su -- change user ID or become super-user 15501 15502 Synopsis 15503 15504 su [OPTS] [-] [username [ARGS]] 15505 15506 Description 15507 15508 su is used to become another user during a login session. Invoked without a 15509 username, su defaults to becoming the super user. The optional argument - may 15510 be used to provide an environment similar to what the user would expect had the 15511 user logged in directly. 15512 15513 The user will be prompted for a password, if appropriate. Invalid passwords 15514 will produce an error message. All attempts, both valid and invalid, are logged 15515 to detect abuses of the system. Applications may not assume the format of 15516 prompts and anticipated input for user interaction, because they are 15517 unspecified. 15518 15519 An optional command can be executed. This is done by the shell specified in / 15520 etc/passwd for the target user unless the -s or -m options are used. Any 15521 arguments supplied after the username will be passed to the invoked shell 15522 (shell shall support the -c command line option in order for a command to be 15523 passed to it). 15524 15525 The current environment is passed to the new shell. The value of $PATH is reset 15526 to /bin:/usr/bin for normal users, or /sbin:/bin:/usr/sbin:/usr/bin for the 15527 super user. This may be changed with the ENV_PATH and ENV_SUPATH definitions in 15528 /etc/login.defs. When using the -m or -p options, the user's environment is not 15529 changed. 15530 15531 A subsystem login is indicated by the presense of a "*" as the first character 15532 of the login shell. The given home directory will be used as the root of a new 15533 filesystem which the user is actually logged into. 15534 15535 Standard Options 15536 15537 - 15538 15539 makes this a login shell. 15540 15541 -c, --comand=command 15542 15543 passes command to the invoked shell. It is passed directly to the invoked 15544 shell (using the shell's -c option), so its syntax is whatever that shell 15545 can accept. 15546 15547 -m, -p, --preserve-environment 15548 15549 does not reset environment variables, and keeps the same shell if it is 15550 present in /etc/shells. 15551 15552 -s, --shell=shell 15553 15554 uses shell instead of the default in /etc/passwd. The shell specified shall 15555 be present in /etc/shells. 15556 15557 sync 15558 15559 Name 15560 15561 sync -- flush filesystem buffers 15562 15563 Synopsis 15564 15565 sync 15566 15567 Description 15568 15569 Force changed blocks to disk, update the super block. 15570 15571 tar 15572 15573 Name 15574 15575 tar -- file archiver 15576 15577 Description 15578 15579 tar is as specified in the Single UNIX Specification, Version 2, but with 15580 differences as listed below. 15581 15582 Differences 15583 15584 Certain aspects of internationalized filename globbing are optional; see 15585 Internationalization and Filename Globbing>. 15586 15587 -h 15588 15589 doesn't dump symlinks; dumps the files they point to. 15590 15591 -z 15592 15593 filters the archive through gzip. 15594 15595 umount 15596 15597 Name 15598 15599 umount -- unmount file systems 15600 15601 Synopsis 15602 15603 umount [-hV] 15604 umount -a [-nrv] [-t vfstype] 15605 umount [-nrv] device | dir [...] 15606 15607 Description 15608 15609 umount detaches the file system(s) mentioned from the file hierarchy. A file 15610 system is specified by giving the directory where it has been mounted. 15611 15612 Standard Options 15613 15614 -v 15615 15616 invokes verbose mode. 15617 15618 -n 15619 15620 unmounts without writing in /etc/mtab. 15621 15622 -r 15623 15624 tries to remount read-only if unmounting fails. 15625 15626 -a 15627 15628 unmounts all of the file systems described in /etc/mtab except for the proc 15629 filesystem. 15630 15631 -t vfstype 15632 15633 indicates that the actions should only be taken on file systems of the 15634 specified type. More than one type may be specified in a comma separated 15635 list. The list of file system types can be prefixed with no to specify the 15636 file system types on which no action should be taken. 15637 15638 -f 15639 15640 forces unmount (in case of an unreachable NFS system). 15641 15642 LSB Deprecated Options 15643 15644 The behaviors specified in this section are expected to disappear from a future 15645 version of the LSB; applications should only use the non-LSB-deprecated 15646 behaviors. 15647 15648 -V 15649 15650 print version and exits. 15651 15652 useradd 15653 15654 Name 15655 15656 useradd -- create a new user or update default new user information 15657 15658 Synopsis 15659 15660 useradd [-c comment] [-d home_dir] 15661 [-g initial_group] [-G group[,...]] 15662 [-m [-k skeleton_dir]] [-p passwd] [-r] 15663 [-s shell] [-u uid [ -o]] login 15664 15665 useradd -D [-g default_group] [-b default_home] 15666 [-s default_shell] 15667 15668 Description 15669 15670 When invoked without the -D option, useradd creates a new user account using 15671 the values specified on the command line and the default values from the 15672 system. The new user account will be entered into the system files as needed, 15673 the home directory will be created, and initial files copied, depending on the 15674 command line options. 15675 15676 When invoked with the -D option, useradd will either display the current 15677 default values, or update the default values from the command line. If no 15678 options are specified, useradd displays the current default values. 15679 15680 Standard Options 15681 15682 -c comment 15683 15684 specifies the new user's password file comment field value. 15685 15686 -d home_dir 15687 15688 creates the new user using home_dir as the value for the user's login 15689 directory. The default is to append the login name to default_home and use 15690 that as the login directory name. 15691 15692 -g initial_group 15693 15694 specifies the group name or number of the user's initial login group. The 15695 group name shall exist. A group number shall refer to an already existing 15696 group. If -g is not specified, the implementation will follow the normal 15697 user default for that system. This may create a new group or choose a 15698 default group that normal users are placed in. Applications which require 15699 control of the groups into which a user is placed should specify -g. 15700 15701 -G group,[...] 15702 15703 specifies a list of supplementary groups which the user is also a member 15704 of. Each group is separated from the next by a comma, with no intervening 15705 whitespace. The groups are subject to the same restrictions as the group 15706 given with the -g option. The default is for the user to belong only to the 15707 initial group. 15708 15709 -m [-k skeleton_dir] 15710 15711 specifies the user's home directory will be created if it does not exist. 15712 The files contained in skeleton_dir will be copied to the home directory if 15713 the -k option is used, otherwise the files contained in /etc/skel will be 15714 used instead. Any directories contained in skeleton_dir or /etc/skel will 15715 be created in the user's home directory as well. The -k option is only 15716 valid in conjunction with the -m option. The default is to not create the 15717 directory and to not copy any files. 15718 15719 -p passwd 15720 15721 is the encrypted password, as returned by crypt(3). The default is to 15722 disable the account. 15723 15724 -r 15725 15726 creates a system account, that is, a user with a UID in the range reserved 15727 for system account users. If there is not a UID free in the reserved range 15728 the command will fail. 15729 15730 -s shell 15731 15732 specifies the name of the user's login shell. The default is to leave this 15733 field blank, which causes the system to select the default login shell. 15734 15735 -u uid [-o] 15736 15737 specifies the numerical value of the user's ID. This value shall be unique, 15738 unless the -o option is used. The value shall be non-negative. The default 15739 is the smallest ID value greater than 499 which is not yet used. 15740 15741 Change Default Options 15742 15743 -b default_home 15744 15745 specifies the initial path prefix for a new user's home directory. The 15746 user's name will be affixed to the end of default_home to create the new 15747 directory name if the -d option is not used when creating a new account. 15748 15749 -g default_group 15750 15751 specifies the group name or ID for a new user's initial group. The named 15752 group shall exist, and a numerical group ID shall have an existing entry. 15753 15754 -s default_shell 15755 15756 specifies the name of the new user's login shell. The named program will be 15757 used for all future new user accounts. 15758 15759 -c comment 15760 15761 specifies the new user's password file comment field value. 15762 15763 Application Usage 15764 15765 The -D option will typically be used by system administration packages. Most 15766 applications should not change defaults which will affect other applications 15767 and users. 15768 15769 userdel 15770 15771 Name 15772 15773 userdel -- delete a user account and related files 15774 15775 Synopsis 15776 15777 userdel [-r] login 15778 15779 Description 15780 15781 Delete the user account named login. If there is also a group named login, this 15782 command may delete the group as well, or may leave it alone. 15783 15784 Options 15785 15786 -r 15787 15788 removes files in the user's home directory along with the home directory 15789 itself. Files located in other file system will have to be searched for and 15790 deleted manually. 15791 15792 usermod 15793 15794 Name 15795 15796 usermod -- modify a user account 15797 15798 Synopsis 15799 15800 usermod [-c comment] [-d home_dir [ -m]] 15801 [-g initial_group] [-G group[,...]] 15802 [-l login_name] [-p passwd] 15803 [-s shell] [-u uid [ -o]] login 15804 15805 Options 15806 15807 -c comment 15808 15809 specifies the new value of the user's password file comment field. 15810 15811 -d home_dir 15812 15813 specifies the user's new login directory. If the -m option is given the 15814 contents of the current home directory will be moved to the new home 15815 directory, which is created if it does not already exist. 15816 15817 -g initial_group 15818 15819 specifies the group name or number of the user's new initial login group. 15820 The group name shall exist. A group number shall refer to an already 15821 existing group. 15822 15823 -G group,[...] 15824 15825 specifies a list of supplementary groups which the user is also a member 15826 of. Each group is separated from the next by a comma, with no intervening 15827 whitespace. The groups are subject to the same restrictions as the group 15828 given with the -g option. If the user is currently a member of a group 15829 which is not listed, the user will be removed from the group. 15830 15831 -l login_name 15832 15833 changes the name of the user from login to login_name. Nothing else is 15834 changed. In particular, the user's home directory name should probably be 15835 changed to reflect the new login name. 15836 15837 -p passwd 15838 15839 is the encrypted password, as returned by crypt(3). 15840 15841 -s shell 15842 15843 specifies the name of the user's new login shell. Setting this field to 15844 blank causes the system to select the default login shell. 15845 15846 -u uid [-o] 15847 15848 specifies the numerical value of the user's ID. This value shall be unique, 15849 unless the -o option is used. The value shall be non-negative. Any files 15850 which the user owns and which are located in the directory tree rooted at 15851 the user's home directory will have the file user ID changed automatically. 15852 Files outside of the user's home directory shall be altered manually. 15853 15854 xargs 15855 15856 Name 15857 15858 xargs -- build and execute command lines from standard input 15859 15860 Description 15861 15862 xargs is as specified in the Single UNIX Specification but with differences as 15863 listed below. 15864 15865 Differences 15866 15867 -E 15868 15869 has unspecified behavior. 15870 15871 -I 15872 15873 has unspecified behavior. 15874 15875 -L 15876 15877 has unspecified behavior. 15878 15879 IV. Execution Environment 15880 15881 Table of Contents 15882 4. File System Hierarchy 15883 5. Additional Recommendations 15884 6. Additional Behaviors 15885 7. Localization 15886 15887 ------------------------------------------------------------------------------- 15888 15889 Chapter 4. File System Hierarchy 15890 15891 An LSB conforming implementation shall adhere to the Filesystem Hierarchy 15892 Standard (FHS) 2.3 15893 15894 An LSB conforming application shall follow the FHS. 15895 15896 The FHS allows many components or subsystems to be optional. An application 15897 shall check for the existence of an optional component before using it, and 15898 should behave in a reasonable manner if the optional component is not present. 15899 15900 The FHS requirement to locate the operating system kernel in either / or /boot 15901 does not apply if the operating system kernel does not exist as a file in the 15902 filesystem. 15903 15904 The FHS specifies certain behaviors for a variety of commands if they are 15905 present (for example, ping or python). However, LSB applications shall not rely 15906 on any commands beyond those specified by the LSB. The mere existence of a 15907 command may not be used as an indication that the command behaves in any 15908 particular way. 15909 15910 The following directories or links need not be present: /etc/X11 /usr/bin/X11 / 15911 usr/lib/X11 /proc 15912 15913 ------------------------------------------------------------------------------- 15914 15915 /dev 15916 15917 The following shall exist under /dev. Other devices may also exist in /dev. 15918 Device names may exist as symbolic links to other device nodes located in /dev 15919 or subdirectories of /dev. There is no requirement concerning major/minor 15920 number values. 15921 15922 /dev/null 15923 15924 An infinite data source and data sink. Data written to this device shall be 15925 discarded. Reads from this device shall always return end-of-file (EOF). 15926 15927 /dev/zero 15928 15929 This device is a source of zeroed out data. All data written to this device 15930 shall be discarded. A read from this device shall always return the 15931 requested number of bytes, each initialized to the value '\0'. 15932 15933 /dev/tty 15934 15935 In each process, a synonym for the controlling terminal associated with the 15936 process group of that process, if any. All reads and writes to this device 15937 shall behave as if the actual controlling terminal device had been opened. 15938 15939 ------------------------------------------------------------------------------- 15940 15941 Chapter 5. Additional Recommendations 15942 15943 Minimal granted Directory and File permissions 15944 15945 In this Chapter "System" means an "LSB conforming implementation" and 15946 "application" means an "LSB conforming (third party vendor) application". 15947 15948 The system shall grant to the application read and execute permissions needed 15949 to use all system interfaces (ABIs) mentioned in the LSB document and included 15950 standards. 15951 15952 ------------------------------------------------------------------------------- 15953 15954 Recommendations for applications on ownership and permissions 15955 15956 Directory Write Permissions 15957 15958 The application should not depend on having directory write permission outside 15959 /tmp, /var/tmp, invoking user's home directory and /var/opt/package, (where 15960 package is the name of the application package). 15961 15962 The application should not depend on owning these directories. 15963 15964 For these directories the application should be able to work with directory 15965 write permissions restricted by the "sticky bit". (Which prevents the 15966 application from removing files owned by another user. This is classically done 15967 with /tmp, to prevent accidental deletion of "foreign" files.) 15968 15969 ------------------------------------------------------------------------------- 15970 15971 File Write Permissions 15972 15973 The application should not depend on file write permission on files not owned 15974 by the user it runs under with the exception of its personal inbox /var/mail/ 15975 username 15976 15977 ------------------------------------------------------------------------------- 15978 15979 File Read and execute Permissions 15980 15981 The application should not depend on having read permission to every file and 15982 directory. 15983 15984 ------------------------------------------------------------------------------- 15985 15986 Suid and Sgid Permissions 15987 15988 The application should not depend on the suid/sgid permissions of a file not 15989 packaged with the application. Instead, the distribution is responsible for 15990 assuming that all system commands have the required permissions and work 15991 correctly. 15992 15993 Rationale: Let us make security officers happy. Let's give them the freedom to 15994 take sgid/suid perms away, as long as they do not break the system's 15995 functionality. 15996 15997 ------------------------------------------------------------------------------- 15998 15999 Privileged users 16000 16001 "Normal" applications should not depend on running as a privileged user. 16002 16003 Special applications that have a reason to run under a privileged user, should 16004 outline these reasons clearly in their documentation, if they are not obvious 16005 as in the case of a backup/restore program. Users of the application should be 16006 informed, that "this application demands security privileges, which could 16007 interfere with system security". 16008 16009 The application should not contain binary-only software that requires being run 16010 as root, as this makes security auditing harder or even impossible. 16011 16012 ------------------------------------------------------------------------------- 16013 16014 Changing permissions 16015 16016 The application should not change permissions of files and directories that do 16017 not belong to its own package. To do so without a warning notice in the 16018 documentation is regarded as unfriendly act. 16019 16020 ------------------------------------------------------------------------------- 16021 16022 Removable Media (Cdrom, Floppy, etc.) 16023 16024 Applications that expect to be runnable from removable media should not depend 16025 on logging in as a privileged user, and should be prepared to deal with a 16026 restrictive environment. Examples of such restrictions could be default mount 16027 options that disable set-user/group-ID attributes, disabling block or 16028 character-special files on the medium, or remapping the user/group IDs of files 16029 away from 0. [23] 16030 16031 ------------------------------------------------------------------------------- 16032 16033 Installable applications 16034 16035 If the installation of an application requires the execution of programs with 16036 superuser privileges, such programs should also be supplied in a human-readable 16037 form. 16038 16039 Without this, the local system administrator would have to blindly trust a 16040 piece of software, particularly with respect to its security. 16041 16042 ------------------------------------------------------------------------------- 16043 16044 Chapter 6. Additional Behaviors 16045 16046 Mandatory Optional Behaviors 16047 16048 This section specifies behaviors in which there is optional behavior in one of 16049 the standards on which the LSB relies, and where the LSB requires a specific 16050 behavior. [24] 16051 16052 LSB conforming implementations shall support the following options defined 16053 within the ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single 16054 UNIX Specification(SUS) V3: 16055 16056 _POSIX_FSYNC 16057 _POSIX_MAPPED_FILES 16058 _POSIX_MEMLOCK 16059 _POSIX_MEMLOCK_RANGE 16060 _POSIX_MEMORY_PROTECTION 16061 _POSIX_PRIORITY_SCHEDULING 16062 _POSIX_REALTIME_SIGNALS 16063 _POSIX_THREAD_ATTR_STACKADDR 16064 _POSIX_THREAD_ATTR_STACKSIZE 16065 _POSIX_THREAD_PROCESS_SHARED 16066 _POSIX_THREAD_SAFE_FUNCTIONS 16067 _POSIX_THREADS 16068 _XOPEN_UNIX 16069 16070 The opendir() function shall consume a file descriptor in the same fashion as 16071 open, and therefore may fail with EMFILE or ENFILE. 16072 16073 The START and STOP termios characters shall be changeable, as described as 16074 optional behavior in the "General Terminal Interface" section of the ISO/IEC 16075 9945:2003 Portable Operating System(POSIX)and The Single UNIX Specification 16076 (SUS) V3. 16077 16078 The access() function function shall fail with errno set to EINVAL if the amode 16079 argument contains bits other than those set by the bitwise inclusive OR of 16080 R_OK, W_OK, X_OK and F_OK. 16081 16082 The link() function shall require access to the existing file in order to 16083 succeed, as described as optional behavior in the ISO/IEC 9945:2003 Portable 16084 Operating System(POSIX)and The Single UNIX Specification(SUS) V3. 16085 16086 Calling unlink() on a directory shall fail. Calling link() specifying a 16087 directory as the first argument shall fail. See also unlink. [25] 16088 16089 ------------------------------------------------------------------------------- 16090 16091 Special Requirements 16092 16093 LSB conforming systems shall enforce certain special additional restrictions 16094 above and beyond those required by ISO/IEC 9945:2003 Portable Operating System 16095 (POSIX)and The Single UNIX Specification(SUS) V3. [26] 16096 16097 The fcntl() function shall treat the "cmd" value -1 as invalid. 16098 16099 The "whence" value -1 shall be an invalid value for the lseek(), fseek() and 16100 fcntl() functions. 16101 16102 The value "-5" shall be an invalid signal number. 16103 16104 If the sigaddset() or sigdelset() functions are passed an invalid signal 16105 number, they shall return with EINVAL. Implementations are only required to 16106 enforce this requirement for signal numbers which are specified to be invalid 16107 by this specification (such as the -5 mentioned above). 16108 16109 The mode value "-1" to the access() function shall be treated as invalid. 16110 16111 A value of -1 shall be an invalid "_PC_..." value for pathconf(). 16112 16113 A value of -1 shall be an invalid "_SC..." value for sysconf(). 16114 16115 The nl_item value "-1" shall be invalid for nl_langinfo. 16116 16117 The value -1 shall be an invalid "_CS_..." value for confstr(). 16118 16119 The value "z" shall be an invalid mode argument to popen(). 16120 16121 ------------------------------------------------------------------------------- 16122 16123 Chapter 7. Localization 16124 16125 Applications may either install a message catalog in the MO format as specified 16126 by the info page in version 0.10.40 of the gettext source package, or the 16127 application may execute the msgfmt command during it's installation to compile 16128 the message catalog. In either case, the resulting output shall be located in 16129 the package's private area under /opt, and the application may use 16130 bindtextdomain() to specify this location. 16131 16132 Implementations shall support the POSIX and C locales as specified in the 16133 Single UNIX Specification. 16134 16135 ------------------------------------------------------------------------------- 16136 16137 Regular Expressions 16138 16139 Utilities that process regular expressions shall support Basic Regular 16140 Expressions and Extended Regular Expressions as specified in the Single UNIX 16141 Specification, with the following exceptions: 16142 16143 Range expression (such as [a-z]) can be based on code point order instead of 16144 collating element order. 16145 16146 Equivalence class expression (such as [=a=]) and multi-character collating 16147 element expression (such as [.ch.]) are optional. 16148 16149 Handling of a multi-character collating element is optional. 16150 16151 This affects at least the following utilities: grep (grep>) (including egrep), 16152 sed (sed>), and awk (awk>). 16153 16154 ------------------------------------------------------------------------------- 16155 16156 Filename Globbing 16157 16158 Utilities that perform filename globbing (also known as Pattern Matching 16159 Notation) shall do it as specified in the Single UNIX Specification, with the 16160 following exceptions: 16161 16162 Range expression (such as [a-z]) can be based on code point order instead of 16163 collating element order. 16164 16165 Equivalence class expression (such as [=a=]) and multi-character collating 16166 element expression (such as [.ch.]) are optional. 16167 16168 Handling of a multi-character collating element is optional. 16169 16170 This affects at least the following utilities: cpio (cpio>), find (find>), ls ( 16171 ls>) and tar (tar>). 16172 16173 V. System Initialization 16174 16175 Table of Contents 16176 8. System Initialization 16177 16178 ------------------------------------------------------------------------------- 16179 16180 Chapter 8. System Initialization 16181 16182 Cron Jobs 16183 16184 Packages may not touch the configuration file /etc/crontab, nor may they modify 16185 the files in /var/spool/cron/crontabs. 16186 16187 If a package wants to install a job that has to be executed via cron, it shall 16188 place a file in one of the following directories: 16189 16190 /etc/cron.daily 16191 /etc/cron.weekly 16192 /etc/cron.monthly 16193 16194 As these directory names say, the files within them are executed on a daily, 16195 weekly, or monthly basis, respectively. See below for the rules concerning the 16196 names of these files. 16197 16198 If a certain job has to be executed more frequently than daily, the package 16199 shall install a file /etc/cron.d/cron-name tagged as configuration file. This 16200 file uses the same syntax as /etc/crontab and is processed by cron 16201 automatically. 16202 16203 It is recommended that files installed in any of these directories be scripts 16204 (shell scripts, Perl scripts, etc.) so that they may be modified by the local 16205 system administrator. In addition, they shall be registered as configuration 16206 file. 16207 16208 The scripts in these directories have to check, if all necessary programs are 16209 installed before they try to execute them. Otherwise, problems will arise when 16210 a package was removed (but not purged), since the configuration files are kept 16211 on the system in this situation. 16212 16213 To avoid namespace conflicts in the /etc/cron.* directories, the filenames used 16214 by LSB-compliant packages in /etc/cron.daily, /etc/cron.weekly, /etc/ 16215 cron.monthly, or /etc/cron.d shall come from a managed namespace. These 16216 filenames may be assigned using one of the following methods: 16217 16218 * Assigned namespace. This namespace consists of names which only use the 16219 character set [a-z0-9]. In order to avoid conflicts these cron script names 16220 shall be reserved through the Linux Assigned Names and Numbers Authority 16221 (LANANA). Information about the LANANA may be found at www.lanana.org. 16222 16223 Commonly used names shall be reserved in advance; developers for projects 16224 should be encouraged reserve names from LANA, so that each distribution can 16225 use the same name, and to avoid conflicts with other projects. 16226 16227 * Hierarchical namespace. This namespace consists of scripts names which look 16228 like this: [hier1]-[hier2]-...-[name], where name is again taken the 16229 character set [a-z0-9], and where there may be one or more [hier-n] 16230 components. [hier1] may either be an LSB provider name assigned by the 16231 LANANA, or it may be owners' DNS name in lower case, with at least one '.'. 16232 I.e., "debian.org", "staroffice.sun.com", etc. The LSB provider name 16233 assigned by LANANA shall only consist of the ASCII characters [a-z0-9]. 16234 16235 * Reserved namespace. This namespace consists of script names which begin 16236 with the character '_', and is reserved for distribution use only. This 16237 namespace should be used for core packages only, and in general use of this 16238 namespace is highly discouraged. 16239 16240 ------------------------------------------------------------------------------- 16241 16242 Init Script Actions 16243 16244 Init files provided by LSB applications shall accept one argument, saying what 16245 to do: 16246 16247 start start the service 16248 stop stop the service 16249 restart stop and restart the service if the service is already running, 16250 otherwise start the service 16251 try-restart restart the service if the service is already running 16252 reload cause the configuration of the service to be reloaded without 16253 actually stopping and restarting the service 16254 force-reload cause the configuration to be reloaded if the service supports 16255 this, otherwise restart the service if it is running 16256 status print the current status of the service 16257 16258 The start, stop, restart, force-reload, and status commands shall be supported 16259 by all init files; the reload and the try-restart options are optional. Other 16260 init script actions may be defined by the init script. 16261 16262 Init files shall ensure that they will behave sensibly if invoked with start 16263 when the service is already running, or with stop when it isn't, and that they 16264 don't kill unfortunately-named user processes. The best way to achieve this is 16265 to use the init-script functions provided by /lib/lsb/init-functions. 16266 16267 If a service reloads its configuration automatically (as in the case of cron, 16268 for example), the reload option of the init file shall behave as if the 16269 configuration has been reloaded successfully. The restart, try-restart, reload 16270 and force-reload action may be atomic; i.e. if a service is known not be 16271 operational after a restart or reload, the script may return an error without 16272 any further action. 16273 16274 These executable files shall not fail obscurely when the configuration files 16275 remain but the package has been removed, as the default in [the packaging 16276 system] is to leave configuration files on the system after the package has 16277 been removed. Only when it is executed with the [purge] option will [the 16278 packaging system] remove configuration files. Therefore, you should include a 16279 test statement at the top of the file, like this: 16280 16281 test -f program-executed-later-in-file || exit 5 16282 16283 or take the equivalent action if the init file is not a shell script. 16284 16285 If the status command is given, the init script will return the following exit 16286 status codes. 16287 16288 0 program is running or service is OK 16289 1 program is dead and /var/run pid file exists 16290 2 program is dead and /var/lock lock file exists 16291 3 program is not running 16292 4 program or service status is unknown 16293 5-99 reserved for future LSB use 16294 100-149 reserved for distribution use 16295 150-199 reserved for application use 16296 200-254 reserved 16297 16298 In the case of init script commands other than "status" (i.e., "start", "stop", 16299 "restart", "try-restart", "reload", and "force-reload"), the init script shall 16300 return an exit status of zero if the action described by the argument has been 16301 successful. Otherwise, the exit status shall be non-zero, as defined below. In 16302 addition to straightforward success, the following situations are also to be 16303 considered successful: 16304 16305 * restarting a service (instead of reloading it) with the "force-reload" 16306 argument 16307 16308 * running "start" on a service already running 16309 16310 * running "stop" on a service already stopped or not running 16311 16312 * running "restart" on a service already stopped or not running 16313 16314 * running "try-restart" on a service already stopped or not running 16315 16316 16317 16318 In case of an error, while processing any init script action except for 16319 "status", the init script shall print an error message and return one of the 16320 following non-zero exit status codes. 16321 16322 1 generic or unspecified error (current practice) 16323 2 invalid or excess argument(s) 16324 3 unimplemented feature (for example, "reload") 16325 4 user had insufficient privilege 16326 5 program is not installed 16327 6 program is not configured 16328 7 program is not running 16329 8-99 reserved for future LSB use 16330 100-149 reserved for distribution use 16331 150-199 reserved for application use 16332 200-254 reserved 16333 16334 Error and status messages should be printed with the logging functions such as 16335 log_failure_msg and so on. Scripts may write to standard error or standard 16336 output, but implementations need not present text written to standard error/ 16337 output to the user or do anything else with it. 16338 16339 Since init files may be run manually by a system administrator with 16340 non-standard environment variable values for PATH, USER, LOGNAME, etc. init 16341 files shall not depend on the values of these environment variables. They 16342 should set them to some known/default values if they are needed. 16343 16344 ------------------------------------------------------------------------------- 16345 16346 Comment Conventions for Init Scripts 16347 16348 LSB applications which need to execute script(s) at bootup and/or shutdown may 16349 provide one or more init.d files. These files are installed by the 16350 install_initd program described below, which copies it into a standard 16351 directory and makes whatever other adjustments (creation of symlinks, creation 16352 of entries in a database, etc.) are necessary so that the script can be run at 16353 boot-time. [27] 16354 16355 In the init.d file, information about the shell script shall be delimited by 16356 the lines "### BEGIN INIT INFO" and "### END INIT INFO". These delimiter lines 16357 may containg trailing whitespace, which shall be ignored. Inside this block 16358 there shall be lines of the form "# {keyword}: [arg1] [arg2] ...". (All lines 16359 inside this block start with a hash ('#') character in the first column, so 16360 that shell treats them as comments.) There shall be exactly one space character 16361 between "#" and the keyword.[28] The following keywords, with their arguments 16362 are defined in this specification: 16363 16364 # Provides: boot_facility_1 [ boot_facility_2 ...] 16365 # Required-Start: boot_facility_1 [ boot_facility_2 ...] 16366 # Required-Stop: boot_facility_1 [ boot_facility_2 ...] 16367 # Should-Start: boot_facility_1 [ boot_facility_2 ...] 16368 # Should-Stop: boot_facility_1 [ boot_facility_2 ...] 16369 # Default-Start: run_level_1 [ run_level_2 ...] 16370 # Default-Stop: run_level_1 [ run_level_2 ...] 16371 # Short-Description: short_description 16372 # Description: multiline_description 16373 16374 Additional keywords may be defined in future LSB specifications. Distributions 16375 may define local extensions by using the prefix "X-[distribution name]" --- for 16376 example, "X-RedHat-foobardecl", or "X-Debian-xyzzydecl". 16377 16378 An init.d shell script may declare using the "Required-Start: " header that it 16379 shall not be run until certain boot facilities are provided. This information 16380 is used by the installation tool or the boot-time boot-script execution 16381 facility to assure that init scripts are run in the correct order. When an init 16382 script is run with a "start" argument, the boot facility or facilities 16383 specified in the "Provides" header shall be considered present, and hence init 16384 scripts which require those boot facilities would then be eligble to be run. 16385 When an init script is run with a "stop" argument, the boot facilities 16386 specified in the "Provides" header are considered no longer present. There are 16387 naming conventions for boot facilities and system facilities, as described in a 16388 following section. 16389 16390 Similarly, the "Required-Stop:" header defines which facilities shall still be 16391 available during the shutdown of that service. Hence, the init script system 16392 should avoid stopping shell scripts which provide those facilities until this 16393 shell script is stopped. 16394 16395 The "Should-Start:" header defines which facilities if present should be 16396 started before this service. This allows for weak dependencies which do not 16397 cause the service to fail if a facility is not available. But may cause reduced 16398 functionality of the service. Compliant applications should not rely on the 16399 existence of this feature. 16400 16401 The "Should-Stop:" header defines which facilities should be still available 16402 during the shutdown of that service. 16403 16404 The "Default-Start" and "Default-Stop" headers define which run levels should 16405 by default run the script with a start or stop argument, respectively, to start 16406 or stop the services controlled by the init script. [29] 16407 16408 The "Short-Description" and "Description" header fields are used to provide 16409 text which describes the actions of the init script. The "short_description" 16410 shall be a relatively short, pithy description of the init script, where as the 16411 "multiline_description" can be a much longer piece of text that may span 16412 mulitple lines. In a multiline description, each continuation line shall begin 16413 with a '#' followed by tab character or a '#' followed by at least two space 16414 characters. The multiline description is terminated by the first line that does 16415 not match this criteria. 16416 16417 The comment conventions described in this session are only required for use by 16418 LSB-compliant applications; system init scripts as provided by LSB-compliant 16419 run-time environments are not required to use the scheme outlined here. 16420 16421 ------------------------------------------------------------------------------- 16422 16423 Installation and Removal of init.d Files 16424 16425 An init.d file is installed in /etc/init.d (which may be a symlink to another 16426 location). This can be done by the package installer. See Script Names>. During 16427 the package's postinstall script, the program "/usr/lib/lsb/install_initd" 16428 configures the distribution's boot script system to call the package's init.d 16429 file at the appropriate time. [30] 16430 16431 The install_initd program takes a single argument, the pathname to the /etc/ 16432 init.d file. For example: 16433 16434 /usr/lib/lsb/install_initd /etc/init.d/example.com-coffeed 16435 16436 The install_initd program shall return an exit status of zero if the init.d 16437 file has been successfully installed or if the the init.d file was already 16438 installed. If the required boot facilities cannot be fulfilled an exit status 16439 of one shall be returned and the init.d file shall not be installed. 16440 16441 When a software package is removed, the package's preuninstall script shall 16442 call /usr/lib/lsb/remove_initd and pass the pathname to the /etc/init.d file. 16443 The package manager is still responsible for removing the /etc/init.d file; the 16444 remove_initd program is provided in case the distribution needs to clean up any 16445 other modifications in the distribution's boot script system that might have 16446 been made by the install_initd program. For example: 16447 16448 /usr/lib/lsb/remove_initd /etc/init.d/example.com-coffeed 16449 16450 The remove_initd program shall return an exit status of zero if the init.d file 16451 has been successfully removed or if the the init.d file is not installed. If 16452 another init.d file which depends on a boot facility provided by this init.d 16453 file is installed, an exit status of one shall be returned and the init.d file 16454 shall remained installed. 16455 16456 There should be a tool available to the user (e.g., RedHat's chkconfig) which 16457 can be used by the system administrator to easily manipulate at which init 16458 levels a particular init.d script is started or stopped. This specification 16459 currently does not specify such an interface, however. 16460 16461 ------------------------------------------------------------------------------- 16462 16463 Run Levels 16464 16465 The following run levels are specified for use by the "Default-Start:" and 16466 "Default-Stop:" specifiers as defined by the section Comment Conventions for 16467 Init Scripts>. Many LSB run-time environments commonly use these run level 16468 definitions, and in the absence of other considerations, providers of run-time 16469 environments are strongly encouraged to follow this convention to provide 16470 consistency for system administrators who need to work with multiple 16471 distributions. However, it is not required that LSB-compliant run-time 16472 environments use these run levels; the distribution-provided install_initd 16473 script may map the run levels specified below to whatever 16474 distribution-specified run levels are most appropriate. 16475 16476 0 halt 16477 1 single user mode 16478 2 multiuser with no network services exported 16479 3 normal/full multiuser 16480 4 reserved for local use, default is normal/full multiuser 16481 5 multiuser with xdm or equivalent 16482 6 reboot 16483 16484 ------------------------------------------------------------------------------- 16485 16486 Facility Names 16487 16488 Boot facilities are used to indicate dependencies in init scripts, as defined 16489 in a previous section. Facility names that begin with a dollar sign ('$') are 16490 system facility names, defined by the LSB, and SHALL be provided by 16491 distributions. [31] LSB applications shall not provide facilities that begin 16492 with a dollar sign. This document defines the following facility names: 16493 16494 $local_fs all local filesystems are mounted 16495 $network low level networking (ethernet card; may imply PCMCIA running) 16496 $named daemons which may provide hostname resolution (if present) are 16497 running[32] 16498 $portmap daemons providing SunRPC/ONCRPC portmapping service[33] (if present) 16499 are running 16500 $remote_fs all remote filesystems are mounted[34]. 16501 $syslog system logger is operational 16502 $time the system time has been set [35] 16503 16504 Other (non-system) facilities may be defined by other LSB applications. These 16505 facilities shall be named using the same conventions defined for naming init.d 16506 script names. Commonly, the facility provided by an LSB application init.d 16507 script will have the same name as the name assigned to the init.d script. 16508 16509 ------------------------------------------------------------------------------- 16510 16511 Script Names 16512 16513 Since the init.d scripts shall live in a single directory, they shall come from 16514 a single namespace. Three means of assigning names from this namespace are 16515 available: 16516 16517 * Assigned namespace. This namespace consists of names which only use the 16518 character set [a-z0-9]. This space is desirable for scripts which system 16519 administrators may often wish to run manually: e.g., "/etc/init.d/named 16520 restart" In order to avoid conflicts these init.d names shall be reserved 16521 through the Linux Assigned Names and Numbers Authority (LANANA). 16522 Information about the LANANA may be found at www.lanana.org. 16523 16524 Commonly used names shall be reserved in advance; developers for projects 16525 should be encouraged to reserve names from LANANA, so that each 16526 distribution can use the same name, and to avoid conflicts with other 16527 projects. 16528 16529 * Hierarchical namespace. This namespace consists of scripts names which look 16530 like this: [hier1]-[hier2]-...-[name], where name is again taken the 16531 character set [a-z0-9], and where there may be one or more [hier-n] 16532 components. [hier1] may either be an LSB provider name assigned by the 16533 LANANA, or it may be owners' DNS name in lower case, with at least one '.' 16534 (e.g., "debian.org", "staroffice.sun.com"). The LSB provider name assigned 16535 by LANANA shall only consist of the ASCII characters [a-z0-9]. 16536 16537 * Reserved namespace. This namespace consists of script names which begin 16538 with the character '_', and is reserved for distribution use only. This 16539 namespace should be used for core packages only, and in general use of this 16540 namespace is highly discouraged. 16541 16542 In general, if a package or some system function is likely to be used on 16543 multiple systems, the package developers or the distribution SHOULD get a 16544 registered name through LANANA, and distributions should strive to use the same 16545 name whenever possible. For applications which may not be "core" or may not be 16546 commonly installed, the hierarchical namespace may be more appropriate. An 16547 advantage to the hierarchical namespace is that there is no need to consult 16548 with the LANANA before obtaining an assigned name. 16549 16550 Short names are highly desirable, since many system administrators like to use 16551 them to manually start and stop services. Given this, they should be 16552 standardized on a per-package basis. This is the rationale behind having a 16553 LANANA organization to assign these names. The LANANA may be called upon to 16554 handle other namespace issues, such as package/prerequisites naming (which is 16555 essential to making prerequisites to work correctly). 16556 16557 ------------------------------------------------------------------------------- 16558 16559 Init Script Functions 16560 16561 Each LSB-compliant init.d script shall source the file /lib/lsb/init-functions. 16562 This file shall cause the following shell script commands to be defined. This 16563 can be done either by adding a directory to the PATH variable which defines 16564 these commands, or by defining sh aliases. While the distribution-provided 16565 aliases may choose to use shell extensions (at the distribution's option), the 16566 LSB init.d files themselves should only depend in shell features as defined by 16567 the LSB. 16568 16569 The start_daemon, killproc and pidofproc functions shall use this algorithm for 16570 determining the status and the pid(s) of the specified program. They shall read 16571 the pidfile specified or otherwise /var/run/basename.pid and use the pid(s) 16572 herein when determining whether a program is running. The method used to 16573 determine the status is implementation defined, but should allow for non-binary 16574 programs. [36] Compliant implementations may use other mechanisms besides those 16575 based on pidfiles, unless the -p pidfile option has been used. Compliant 16576 applications should not rely on such mechanisms and should always use a 16577 pidfile. When a program is stopped, it should delete its pidfile. Multiple pid 16578 (s) shall be separated by a single space in the pidfile and in the output of 16579 pidofproc. 16580 16581 This runs the specified program as a daemon. start_daemon shall 16582 start_daemon check if the program is already running using the algorithm 16583 [-f] [-n given above. If so, it shall not start another copy of the 16584 nicelevel] [-p daemon unless the -f option is given. The -n option specifies a 16585 pidfile] nice level. See nice(1). start_daemon should return the LSB 16586 pathname [args] defined exit status codes. It shall return 0 if the program has 16587 been successfully started or is running and not 0 otherwise. 16588 This stops the specified program. The program is found using 16589 the algorithm given above. If a signal is specified, using the 16590 -signal_name or -signal_number syntaxes as specified by the 16591 kill command, the program is sent that signal. Otherwise, a 16592 killproc [-p SIGTERM followed by a SIGKILL after some number of seconds 16593 pidfile] shall be sent. If a program has been terminated, the pidfile 16594 pathname should be removed if the terminated process has not already 16595 [signal] done so. Compliant applications may use the basename instead of 16596 the pathname. killproc should return the LSB defined exit 16597 status codes. If called without a signal, it shall return 0 if 16598 the program has been stopped or is not running and not 0 16599 otherwise. If a signal is given, it shall return 0 only if the 16600 program is running. 16601 This function returns one or more pid(s) for a particular 16602 pidofproc [-p daemon using the algorithm given above. Only pids of running 16603 pidfile] processes should be returned. Compliant applications may use 16604 pathname the basename instead of the pathname. pidofproc should return 16605 the LSB defined exit status codes for "status". It shall return 16606 0 if the program is running and not 0 otherwise. 16607 log_success_msg This requests the distribution to print a success message. The 16608 "message" message should be relatively short; no more than 60 characters 16609 is highly desirable. 16610 log_failure_msg This requests the distribution to print a failure message. The 16611 "message" message should be relatively short; no more than 60 characters 16612 is highly desirable. 16613 log_warning_msg This requests the distribution to print a warning message. The 16614 "message" message should be relatively short; no more than 60 characters 16615 is highly desirable. 16616 16617 VI. Users & Groups 16618 16619 Table of Contents 16620 9. Users & Groups 16621 16622 ------------------------------------------------------------------------------- 16623 16624 Chapter 9. Users & Groups 16625 16626 A "user name" is a string that is used to identify a user. A "login name" is a 16627 user name that is associated with a system login. A "user id" is a non negative 16628 integer, which can be contained in an object of type uid_t, that is used to 16629 identify a system user. 16630 16631 When the identity of a user is associated with a process, a user ID value is 16632 referred to as a real user ID, or an effective user ID. [POSIX 1003.1-1996] 16633 16634 A "group name" is a string that is used to identify a set of users. A "group 16635 id" is a non negative integer, which can be contained in a object of type 16636 gid_t, that is used to identify a group of system users. Each system user is a 16637 member of at least one group. When the identity of a group is associated with a 16638 process, a group ID value is referred to as a real group ID, or an effective 16639 group ID. [POSIX 1003.1-1996] 16640 16641 ------------------------------------------------------------------------------- 16642 16643 User and Group Database 16644 16645 The format of the User and Group databases is not specified. Programs may only 16646 read these databases using the provided API. Changes to these databases should 16647 be made using the provided commands. 16648 16649 ------------------------------------------------------------------------------- 16650 16651 User & Group Names 16652 16653 Below is a table of required mnemonic user and group names. This specification 16654 makes no attempt to numerically assign uid or gid numbers. The exception is the 16655 uid and gid for "root" which are equal to 0. 16656 16657 Table 9-1. Required User & Group Names 16658 16659 +-----------------------------------------------------------------------------+ 16660 |User |Group |Comments | 16661 |----------+----------+-------------------------------------------------------| 16662 |root |root |Administrative user with no restrictions | 16663 |----------+----------+-------------------------------------------------------| 16664 |bin |bin |Legacy UID/GID[a] | 16665 |----------+----------+-------------------------------------------------------| 16666 |daemon |daemon |Legacy UID/GID[b] | 16667 |-----------------------------------------------------------------------------| 16668 |Notes: | 16669 |a. The 'bin' UID/GID is included for compatibility with legacy applications. | 16670 |New applications should no longer use the 'bin' UID/GID. | 16671 |b. The 'daemon' UID/GID was used as an unprivileged UID/GID for daemons to | 16672 |execute under in order to limit their access to the system. Generally daemons| 16673 |should now run under individual UID/GIDs in order to further partition | 16674 |daemons from one another. | 16675 +-----------------------------------------------------------------------------+ 16676 16677 Below is a table of optional mnemonic user and group names. This specification 16678 makes no attempt to numerically assign uid or gid numbers. If the username 16679 exists on a system, then they should be in the suggested corresponding group. 16680 These user and group names are for use by distributions, not by applications. 16681 16682 Table 9-2. Optional User & Group Names 16683 16684 +---------------------------------------------------+ 16685 |User |Group |Comments | 16686 |--------+--------+---------------------------------| 16687 |adm |adm |Administrative special privileges| 16688 |--------+--------+---------------------------------| 16689 |lp |lp |Printer special privileges | 16690 |--------+--------+---------------------------------| 16691 |sync |sync |Login to sync the system | 16692 |--------+--------+---------------------------------| 16693 |shutdown|shutdown|Login to shutdown the system | 16694 |--------+--------+---------------------------------| 16695 |halt |halt |Login to halt the system | 16696 |--------+--------+---------------------------------| 16697 |mail |mail |Mail special privileges | 16698 |--------+--------+---------------------------------| 16699 |news |news |News special privileges | 16700 |--------+--------+---------------------------------| 16701 |uucp |uucp |UUCP special privileges | 16702 |--------+--------+---------------------------------| 16703 |operator|root |Operator special privileges | 16704 |--------+--------+---------------------------------| 16705 |man |man |Man special privileges | 16706 |--------+--------+---------------------------------| 16707 |nobody |nobody |Used by NFS | 16708 +---------------------------------------------------+ 16709 16710 The differences in numeric values of the uids and gids between systems on a 16711 network can be reconciled via NIS, rdist(1), rsync(1), or ugidd(8). Only a 16712 minimum working set of "user names" and their corresponding "user groups" are 16713 required. Applications cannot assume non system user or group names will be 16714 defined. 16715 16716 Applications cannot assume any policy for the default umask or the default 16717 directory permissions a user may have. Applications should enforce user only 16718 file permissions on private files such as mailboxes. The location of the users 16719 home directory is also not defined by policy other than the recommendations of 16720 the FHS and shall be obtained by the *pwnam(3) calls. 16721 16722 ------------------------------------------------------------------------------- 16723 16724 UID Ranges 16725 16726 The system UIDs from 0 to 99 should be statically allocated by the system, and 16727 not created by applications. 16728 16729 The system UIDs from 100 to 499 should be reserved for dynamically allocation 16730 by system administrators and post install scripts using useradd(1). 16731 16732 ------------------------------------------------------------------------------- 16733 16734 Rationale 16735 16736 The purpose of specifying optional users and groups is to reduce the potential 16737 for name conflicts between applications and distributions. 16738 16739 ------------------------------------------------------------------------------- 16740 16741 Appendix A. Alphabetical Listing of Interfaces 16742 16743 ------------------------------------------------------------------------------- 16744 16745 libX11 16746 16747 The behaviour of the interfaces in this library is specified by the following 16748 Standards. 16749 16750 Linux Standard Base 16751 16752 Table A-1. libX11 Function Interfaces 16753 16754 +-----------------------------------------------------------------------------------------+ 16755 |XActivateScreenSaver[1] |XIconifyWindow[1] |XcmsCIELabQueryMinL[1] | 16756 |----------------------------+--------------------------------+---------------------------| 16757 |XAddConnectionWatch[1] |XIfEvent[1] |XcmsCIELabToCIEXYZ[1] | 16758 |----------------------------+--------------------------------+---------------------------| 16759 |XAddExtension[1] |XImageByteOrder[1] |XcmsCIELabWhiteShiftColors | 16760 | | |[1] | 16761 |----------------------------+--------------------------------+---------------------------| 16762 |XAddHost[1] |XInitExtension[1] |XcmsCIELuvClipL[1] | 16763 |----------------------------+--------------------------------+---------------------------| 16764 |XAddHosts[1] |XInitImage[1] |XcmsCIELuvClipLuv[1] | 16765 |----------------------------+--------------------------------+---------------------------| 16766 |XAddPixel[1] |XInitThreads[1] |XcmsCIELuvClipuv[1] | 16767 |----------------------------+--------------------------------+---------------------------| 16768 |XAddToExtensionList[1] |XInsertModifiermapEntry[1] |XcmsCIELuvQueryMaxC[1] | 16769 |----------------------------+--------------------------------+---------------------------| 16770 |XAddToSaveSet[1] |XInstallColormap[1] |XcmsCIELuvQueryMaxL[1] | 16771 |----------------------------+--------------------------------+---------------------------| 16772 |XAllPlanes[1] |XInternAtom[1] |XcmsCIELuvQueryMaxLC[1] | 16773 |----------------------------+--------------------------------+---------------------------| 16774 |XAllocClassHint[1] |XInternAtoms[1] |XcmsCIELuvQueryMinL[1] | 16775 |----------------------------+--------------------------------+---------------------------| 16776 |XAllocColor[1] |XInternalConnectionNumbers[1] |XcmsCIELuvToCIEuvY[1] | 16777 |----------------------------+--------------------------------+---------------------------| 16778 |XAllocColorCells[1] |XIntersectRegion[1] |XcmsCIELuvWhiteShiftColors | 16779 | | |[1] | 16780 |----------------------------+--------------------------------+---------------------------| 16781 |XAllocColorPlanes[1] |XKeycodeToKeysym[1] |XcmsCIEXYZToCIELab[1] | 16782 |----------------------------+--------------------------------+---------------------------| 16783 |XAllocIconSize[1] |XKeysymToKeycode[1] |XcmsCIEXYZToCIEuvY[1] | 16784 |----------------------------+--------------------------------+---------------------------| 16785 |XAllocNamedColor[1] |XKeysymToString[1] |XcmsCIEXYZToCIExyY[1] | 16786 |----------------------------+--------------------------------+---------------------------| 16787 |XAllocSizeHints[1] |XKillClient[1] |XcmsCIEXYZToRGBi[1] | 16788 |----------------------------+--------------------------------+---------------------------| 16789 |XAllocStandardColormap[1] |XLastKnownRequestProcessed[1] |XcmsCIEuvYToCIELuv[1] | 16790 |----------------------------+--------------------------------+---------------------------| 16791 |XAllocWMHints[1] |XListDepths[1] |XcmsCIEuvYToCIEXYZ[1] | 16792 |----------------------------+--------------------------------+---------------------------| 16793 |XAllowEvents[1] |XListExtensions[1] |XcmsCIEuvYToTekHVC[1] | 16794 |----------------------------+--------------------------------+---------------------------| 16795 |XAutoRepeatOff[1] |XListFonts[1] |XcmsCIExyYToCIEXYZ[1] | 16796 |----------------------------+--------------------------------+---------------------------| 16797 |XAutoRepeatOn[1] |XListFontsWithInfo[1] |XcmsClientWhitePointOfCCC | 16798 | | |[1] | 16799 |----------------------------+--------------------------------+---------------------------| 16800 |XBaseFontNameListOfFontSet |XListHosts[1] |XcmsConvertColors[1] | 16801 |[1] | | | 16802 |----------------------------+--------------------------------+---------------------------| 16803 |XBell[1] |XListInstalledColormaps[1] |XcmsCreateCCC[1] | 16804 |----------------------------+--------------------------------+---------------------------| 16805 |XBitmapBitOrder[1] |XListPixmapFormats[1] |XcmsDefaultCCC[1] | 16806 |----------------------------+--------------------------------+---------------------------| 16807 |XBitmapPad[1] |XListProperties[1] |XcmsDisplayOfCCC[1] | 16808 |----------------------------+--------------------------------+---------------------------| 16809 |XBitmapUnit[1] |XLoadFont[1] |XcmsFormatOfPrefix[1] | 16810 |----------------------------+--------------------------------+---------------------------| 16811 |XBlackPixel[1] |XLoadQueryFont[1] |XcmsFreeCCC[1] | 16812 |----------------------------+--------------------------------+---------------------------| 16813 |XBlackPixelOfScreen[1] |XLocaleOfFontSet[1] |XcmsLookupColor[1] | 16814 |----------------------------+--------------------------------+---------------------------| 16815 |XCellsOfScreen[1] |XLocaleOfIM[1] |XcmsPrefixOfFormat[1] | 16816 |----------------------------+--------------------------------+---------------------------| 16817 |XChangeActivePointerGrab[1] |XLocaleOfOM[1] |XcmsQueryBlack[1] | 16818 |----------------------------+--------------------------------+---------------------------| 16819 |XChangeGC[1] |XLockDisplay[1] |XcmsQueryBlue[1] | 16820 |----------------------------+--------------------------------+---------------------------| 16821 |XChangeKeyboardControl[1] |XLookupColor[1] |XcmsQueryColor[1] | 16822 |----------------------------+--------------------------------+---------------------------| 16823 |XChangeKeyboardMapping[1] |XLookupKeysym[1] |XcmsQueryColors[1] | 16824 |----------------------------+--------------------------------+---------------------------| 16825 |XChangePointerControl[1] |XLookupString[1] |XcmsQueryGreen[1] | 16826 |----------------------------+--------------------------------+---------------------------| 16827 |XChangeProperty[1] |XLowerWindow[1] |XcmsQueryRed[1] | 16828 |----------------------------+--------------------------------+---------------------------| 16829 |XChangeSaveSet[1] |XMapRaised[1] |XcmsQueryWhite[1] | 16830 |----------------------------+--------------------------------+---------------------------| 16831 |XChangeWindowAttributes[1] |XMapSubwindows[1] |XcmsRGBToRGBi[1] | 16832 |----------------------------+--------------------------------+---------------------------| 16833 |XCheckIfEvent[1] |XMapWindow[1] |XcmsRGBiToCIEXYZ[1] | 16834 |----------------------------+--------------------------------+---------------------------| 16835 |XCheckMaskEvent[1] |XMaskEvent[1] |XcmsRGBiToRGB[1] | 16836 |----------------------------+--------------------------------+---------------------------| 16837 |XCheckTypedEvent[1] |XMatchVisualInfo[1] |XcmsScreenNumberOfCCC[1] | 16838 |----------------------------+--------------------------------+---------------------------| 16839 |XCheckTypedWindowEvent[1] |XMaxCmapsOfScreen[1] |XcmsScreenWhitePointOfCCC | 16840 | | |[1] | 16841 |----------------------------+--------------------------------+---------------------------| 16842 |XCheckWindowEvent[1] |XMaxRequestSize[1] |XcmsSetCCCOfColormap[1] | 16843 |----------------------------+--------------------------------+---------------------------| 16844 |XCirculateSubwindows[1] |XMinCmapsOfScreen[1] |XcmsSetCompressionProc[1] | 16845 |----------------------------+--------------------------------+---------------------------| 16846 |XCirculateSubwindowsDown[1] |XMoveResizeWindow[1] |XcmsSetWhiteAdjustProc[1] | 16847 |----------------------------+--------------------------------+---------------------------| 16848 |XCirculateSubwindowsUp[1] |XMoveWindow[1] |XcmsSetWhitePoint[1] | 16849 |----------------------------+--------------------------------+---------------------------| 16850 |XClearArea[1] |XNewModifiermap[1] |XcmsStoreColor[1] | 16851 |----------------------------+--------------------------------+---------------------------| 16852 |XClearWindow[1] |XNextEvent[1] |XcmsStoreColors[1] | 16853 |----------------------------+--------------------------------+---------------------------| 16854 |XClipBox[1] |XNextRequest[1] |XcmsTekHVCClipC[1] | 16855 |----------------------------+--------------------------------+---------------------------| 16856 |XCloseDisplay[1] |XNoOp[1] |XcmsTekHVCClipV[1] | 16857 |----------------------------+--------------------------------+---------------------------| 16858 |XCloseIM[1] |XOMOfOC[1] |XcmsTekHVCClipVC[1] | 16859 |----------------------------+--------------------------------+---------------------------| 16860 |XCloseOM[1] |XOffsetRegion[1] |XcmsTekHVCQueryMaxC[1] | 16861 |----------------------------+--------------------------------+---------------------------| 16862 |XConfigureWindow[1] |XOpenDisplay[1] |XcmsTekHVCQueryMaxV[1] | 16863 |----------------------------+--------------------------------+---------------------------| 16864 |XConnectionNumber[1] |XOpenIM[1] |XcmsTekHVCQueryMaxVC[1] | 16865 |----------------------------+--------------------------------+---------------------------| 16866 |XContextDependentDrawing[1] |XOpenOM[1] |XcmsTekHVCQueryMaxVSamples | 16867 | | |[1] | 16868 |----------------------------+--------------------------------+---------------------------| 16869 |XContextualDrawing[1] |XParseColor[1] |XcmsTekHVCQueryMinV[1] | 16870 |----------------------------+--------------------------------+---------------------------| 16871 |XConvertCase[1] |XParseGeometry[1] |XcmsTekHVCToCIEuvY[1] | 16872 |----------------------------+--------------------------------+---------------------------| 16873 |XConvertSelection[1] |XPeekEvent[1] |XcmsTekHVCWhiteShiftColors | 16874 | | |[1] | 16875 |----------------------------+--------------------------------+---------------------------| 16876 |XCopyArea[1] |XPeekIfEvent[1] |XcmsVisualOfCCC[1] | 16877 |----------------------------+--------------------------------+---------------------------| 16878 |XCopyColormapAndFree[1] |XPending[1] |XkbAllocClientMap[1] | 16879 |----------------------------+--------------------------------+---------------------------| 16880 |XCopyGC[1] |XPlanesOfScreen[1] |XkbAllocCompatMap[1] | 16881 |----------------------------+--------------------------------+---------------------------| 16882 |XCopyPlane[1] |XPointInRegion[1] |XkbAllocControls[1] | 16883 |----------------------------+--------------------------------+---------------------------| 16884 |XCreateBitmapFromData[1] |XPolygonRegion[1] |XkbAllocGeomColors[1] | 16885 |----------------------------+--------------------------------+---------------------------| 16886 |XCreateColormap[1] |XProcessInternalConnection[1] |XkbAllocGeomDoodads[1] | 16887 |----------------------------+--------------------------------+---------------------------| 16888 |XCreateFontCursor[1] |XProtocolRevision[1] |XkbAllocGeomKeyAliases[1] | 16889 |----------------------------+--------------------------------+---------------------------| 16890 |XCreateFontSet[1] |XProtocolVersion[1] |XkbAllocGeomKeys[1] | 16891 |----------------------------+--------------------------------+---------------------------| 16892 |XCreateGC[1] |XPutBackEvent[1] |XkbAllocGeomOutlines[1] | 16893 |----------------------------+--------------------------------+---------------------------| 16894 |XCreateGlyphCursor[1] |XPutImage[1] |XkbAllocGeomOverlayKeys[1] | 16895 |----------------------------+--------------------------------+---------------------------| 16896 |XCreateIC[1] |XPutPixel[1] |XkbAllocGeomOverlayRows[1] | 16897 |----------------------------+--------------------------------+---------------------------| 16898 |XCreateImage[1] |XQLength[1] |XkbAllocGeomOverlays[1] | 16899 |----------------------------+--------------------------------+---------------------------| 16900 |XCreateOC[1] |XQueryBestCursor[1] |XkbAllocGeomPoints[1] | 16901 |----------------------------+--------------------------------+---------------------------| 16902 |XCreatePixmap[1] |XQueryBestSize[1] |XkbAllocGeomProps[1] | 16903 |----------------------------+--------------------------------+---------------------------| 16904 |XCreatePixmapCursor[1] |XQueryBestStipple[1] |XkbAllocGeomRows[1] | 16905 |----------------------------+--------------------------------+---------------------------| 16906 |XCreatePixmapFromBitmapData |XQueryBestTile[1] |XkbAllocGeomSectionDoodads | 16907 |[1] | |[1] | 16908 |----------------------------+--------------------------------+---------------------------| 16909 |XCreateRegion[1] |XQueryColor[1] |XkbAllocGeomSections[1] | 16910 |----------------------------+--------------------------------+---------------------------| 16911 |XCreateSimpleWindow[1] |XQueryColors[1] |XkbAllocGeomShapes[1] | 16912 |----------------------------+--------------------------------+---------------------------| 16913 |XCreateWindow[1] |XQueryExtension[1] |XkbAllocGeometry[1] | 16914 |----------------------------+--------------------------------+---------------------------| 16915 |XDefaultColormap[1] |XQueryFont[1] |XkbAllocIndicatorMaps[1] | 16916 |----------------------------+--------------------------------+---------------------------| 16917 |XDefaultColormapOfScreen[1] |XQueryKeymap[1] |XkbAllocKeyboard[1] | 16918 |----------------------------+--------------------------------+---------------------------| 16919 |XDefaultDepth[1] |XQueryPointer[1] |XkbAllocNames[1] | 16920 |----------------------------+--------------------------------+---------------------------| 16921 |XDefaultDepthOfScreen[1] |XQueryTextExtents[1] |XkbAllocServerMap[1] | 16922 |----------------------------+--------------------------------+---------------------------| 16923 |XDefaultGC[1] |XQueryTextExtents16[1] |XkbApplyCompatMapToKey[1] | 16924 |----------------------------+--------------------------------+---------------------------| 16925 |XDefaultGCOfScreen[1] |XQueryTree[1] |XkbBell[1] | 16926 |----------------------------+--------------------------------+---------------------------| 16927 |XDefaultRootWindow[1] |XRaiseWindow[1] |XkbBellEvent[1] | 16928 |----------------------------+--------------------------------+---------------------------| 16929 |XDefaultScreen[1] |XReadBitmapFile[1] |XkbChangeEnabledControls[1]| 16930 |----------------------------+--------------------------------+---------------------------| 16931 |XDefaultScreenOfDisplay[1] |XReadBitmapFileData[1] |XkbChangeMap[1] | 16932 |----------------------------+--------------------------------+---------------------------| 16933 |XDefaultString[1] |XRebindKeysym[1] |XkbChangeNames[1] | 16934 |----------------------------+--------------------------------+---------------------------| 16935 |XDefaultVisual[1] |XRecolorCursor[1] |XkbChangeTypesOfKey[1] | 16936 |----------------------------+--------------------------------+---------------------------| 16937 |XDefaultVisualOfScreen[1] |XReconfigureWMWindow[1] |XkbComputeEffectiveMap[1] | 16938 |----------------------------+--------------------------------+---------------------------| 16939 |XDefineCursor[1] |XRectInRegion[1] |XkbComputeRowBounds[1] | 16940 |----------------------------+--------------------------------+---------------------------| 16941 |XDeleteContext[1] |XRefreshKeyboardMapping[1] |XkbComputeSectionBounds[1] | 16942 |----------------------------+--------------------------------+---------------------------| 16943 |XDeleteModifiermapEntry[1] |XRegisterIMInstantiateCallback |XkbComputeShapeBounds[1] | 16944 | |[1] | | 16945 |----------------------------+--------------------------------+---------------------------| 16946 |XDeleteProperty[1] |XRemoveConnectionWatch[1] |XkbComputeShapeTop[1] | 16947 |----------------------------+--------------------------------+---------------------------| 16948 |XDestroyIC[1] |XRemoveFromSaveSet[1] |XkbCopyKeyType[1] | 16949 |----------------------------+--------------------------------+---------------------------| 16950 |XDestroyImage[1] |XRemoveHost[1] |XkbCopyKeyTypes[1] | 16951 |----------------------------+--------------------------------+---------------------------| 16952 |XDestroyOC[1] |XRemoveHosts[1] |XkbFindOverlayForKey[1] | 16953 |----------------------------+--------------------------------+---------------------------| 16954 |XDestroyRegion[1] |XReparentWindow[1] |XkbForceBell[1] | 16955 |----------------------------+--------------------------------+---------------------------| 16956 |XDestroySubwindows[1] |XResetScreenSaver[1] |XkbFreeClientMap[1] | 16957 |----------------------------+--------------------------------+---------------------------| 16958 |XDestroyWindow[1] |XResizeWindow[1] |XkbFreeCompatMap[1] | 16959 |----------------------------+--------------------------------+---------------------------| 16960 |XDirectionalDependentDrawing|XResourceManagerString[1] |XkbFreeComponentList[1] | 16961 |[1] | | | 16962 |----------------------------+--------------------------------+---------------------------| 16963 |XDisableAccessControl[1] |XRestackWindows[1] |XkbFreeControls[1] | 16964 |----------------------------+--------------------------------+---------------------------| 16965 |XDisplayCells[1] |XRootWindow[1] |XkbFreeGeomColors[1] | 16966 |----------------------------+--------------------------------+---------------------------| 16967 |XDisplayHeight[1] |XRootWindowOfScreen[1] |XkbFreeGeomDoodads[1] | 16968 |----------------------------+--------------------------------+---------------------------| 16969 |XDisplayHeightMM[1] |XRotateBuffers[1] |XkbFreeGeomKeyAliases[1] | 16970 |----------------------------+--------------------------------+---------------------------| 16971 |XDisplayKeycodes[1] |XRotateWindowProperties[1] |XkbFreeGeomKeys[1] | 16972 |----------------------------+--------------------------------+---------------------------| 16973 |XDisplayMotionBufferSize[1] |XSaveContext[1] |XkbFreeGeomOutlines[1] | 16974 |----------------------------+--------------------------------+---------------------------| 16975 |XDisplayName[1] |XScreenCount[1] |XkbFreeGeomOverlayKeys[1] | 16976 |----------------------------+--------------------------------+---------------------------| 16977 |XDisplayOfIM[1] |XScreenNumberOfScreen[1] |XkbFreeGeomOverlayRows[1] | 16978 |----------------------------+--------------------------------+---------------------------| 16979 |XDisplayOfOM[1] |XScreenOfDisplay[1] |XkbFreeGeomOverlays[1] | 16980 |----------------------------+--------------------------------+---------------------------| 16981 |XDisplayOfScreen[1] |XScreenResourceString[1] |XkbFreeGeomPoints[1] | 16982 |----------------------------+--------------------------------+---------------------------| 16983 |XDisplayPlanes[1] |XSelectInput[1] |XkbFreeGeomProperties[1] | 16984 |----------------------------+--------------------------------+---------------------------| 16985 |XDisplayString[1] |XSendEvent[1] |XkbFreeGeomRows[1] | 16986 |----------------------------+--------------------------------+---------------------------| 16987 |XDisplayWidth[1] |XServerVendor[1] |XkbFreeGeomSections[1] | 16988 |----------------------------+--------------------------------+---------------------------| 16989 |XDisplayWidthMM[1] |XSetAccessControl[1] |XkbFreeGeomShapes[1] | 16990 |----------------------------+--------------------------------+---------------------------| 16991 |XDoesBackingStore[1] |XSetArcMode[1] |XkbFreeGeometry[1] | 16992 |----------------------------+--------------------------------+---------------------------| 16993 |XDoesSaveUnders[1] |XSetAuthorization[1] |XkbFreeIndicatorMaps[1] | 16994 |----------------------------+--------------------------------+---------------------------| 16995 |XDrawArc[1] |XSetBackground[1] |XkbFreeKeyboard[1] | 16996 |----------------------------+--------------------------------+---------------------------| 16997 |XDrawArcs[1] |XSetClassHint[1] |XkbFreeNames[1] | 16998 |----------------------------+--------------------------------+---------------------------| 16999 |XDrawImageString[1] |XSetClipMask[1] |XkbFreeServerMap[1] | 17000 |----------------------------+--------------------------------+---------------------------| 17001 |XDrawImageString16[1] |XSetClipOrigin[1] |XkbGetAutoRepeatRate[1] | 17002 |----------------------------+--------------------------------+---------------------------| 17003 |XDrawLine[1] |XSetClipRectangles[1] |XkbGetCompatMap[1] | 17004 |----------------------------+--------------------------------+---------------------------| 17005 |XDrawLines[1] |XSetCloseDownMode[1] |XkbGetControls[1] | 17006 |----------------------------+--------------------------------+---------------------------| 17007 |XDrawPoint[1] |XSetCommand[1] |XkbGetGeometry[1] | 17008 |----------------------------+--------------------------------+---------------------------| 17009 |XDrawPoints[1] |XSetDashes[1] |XkbGetIndicatorMap[1] | 17010 |----------------------------+--------------------------------+---------------------------| 17011 |XDrawRectangle[1] |XSetErrorHandler[1] |XkbGetIndicatorState[1] | 17012 |----------------------------+--------------------------------+---------------------------| 17013 |XDrawRectangles[1] |XSetFillRule[1] |XkbGetKeyActions[1] | 17014 |----------------------------+--------------------------------+---------------------------| 17015 |XDrawSegments[1] |XSetFillStyle[1] |XkbGetKeyBehaviors[1] | 17016 |----------------------------+--------------------------------+---------------------------| 17017 |XDrawString[1] |XSetFont[1] |XkbGetKeyExplicitComponents| 17018 | | |[1] | 17019 |----------------------------+--------------------------------+---------------------------| 17020 |XDrawString16[1] |XSetFontPath[1] |XkbGetKeyModifierMap[1] | 17021 |----------------------------+--------------------------------+---------------------------| 17022 |XDrawText[1] |XSetForeground[1] |XkbGetKeySyms[1] | 17023 |----------------------------+--------------------------------+---------------------------| 17024 |XDrawText16[1] |XSetFunction[1] |XkbGetKeyTypes[1] | 17025 |----------------------------+--------------------------------+---------------------------| 17026 |XEHeadOfExtensionList[1] |XSetGraphicsExposures[1] |XkbGetKeyboard[1] | 17027 |----------------------------+--------------------------------+---------------------------| 17028 |XESetBeforeFlush[1] |XSetICFocus[1] |XkbGetKeyboardByName[1] | 17029 |----------------------------+--------------------------------+---------------------------| 17030 |XESetCloseDisplay[1] |XSetICValues[1] |XkbGetMap[1] | 17031 |----------------------------+--------------------------------+---------------------------| 17032 |XESetCopyGC[1] |XSetIMValues[1] |XkbGetMapChanges[1] | 17033 |----------------------------+--------------------------------+---------------------------| 17034 |XESetCreateFont[1] |XSetIOErrorHandler[1] |XkbGetNamedGeometry[1] | 17035 |----------------------------+--------------------------------+---------------------------| 17036 |XESetCreateGC[1] |XSetIconName[1] |XkbGetNamedIndicator[1] | 17037 |----------------------------+--------------------------------+---------------------------| 17038 |XESetError[1] |XSetIconSizes[1] |XkbGetNames[1] | 17039 |----------------------------+--------------------------------+---------------------------| 17040 |XESetErrorString[1] |XSetInputFocus[1] |XkbGetState[1] | 17041 |----------------------------+--------------------------------+---------------------------| 17042 |XESetEventToWire[1] |XSetLineAttributes[1] |XkbGetUpdatedMap[1] | 17043 |----------------------------+--------------------------------+---------------------------| 17044 |XESetFlushGC[1] |XSetLocaleModifiers[1] |XkbGetVirtualMods[1] | 17045 |----------------------------+--------------------------------+---------------------------| 17046 |XESetFreeFont[1] |XSetModifierMapping[1] |XkbGetXlibControls[1] | 17047 |----------------------------+--------------------------------+---------------------------| 17048 |XESetFreeGC[1] |XSetNormalHints[1] |XkbIgnoreExtension[1] | 17049 |----------------------------+--------------------------------+---------------------------| 17050 |XESetPrintErrorValues[1] |XSetOCValues[1] |XkbInitCanonicalKeyTypes[1]| 17051 |----------------------------+--------------------------------+---------------------------| 17052 |XESetWireToError[1] |XSetOMValues[1] |XkbKeyTypesForCoreSymbols | 17053 | | |[1] | 17054 |----------------------------+--------------------------------+---------------------------| 17055 |XESetWireToEvent[1] |XSetPlaneMask[1] |XkbKeycodeToKeysym[1] | 17056 |----------------------------+--------------------------------+---------------------------| 17057 |XEmptyRegion[1] |XSetPointerMapping[1] |XkbKeysymToModifiers[1] | 17058 |----------------------------+--------------------------------+---------------------------| 17059 |XEnableAccessControl[1] |XSetRGBColormaps[1] |XkbLatchGroup[1] | 17060 |----------------------------+--------------------------------+---------------------------| 17061 |XEqualRegion[1] |XSetRegion[1] |XkbLatchModifiers[1] | 17062 |----------------------------+--------------------------------+---------------------------| 17063 |XEventMaskOfScreen[1] |XSetScreenSaver[1] |XkbLibraryVersion[1] | 17064 |----------------------------+--------------------------------+---------------------------| 17065 |XEventsQueued[1] |XSetSelectionOwner[1] |XkbListComponents[1] | 17066 |----------------------------+--------------------------------+---------------------------| 17067 |XExtendedMaxRequestSize[1] |XSetSizeHints[1] |XkbLockGroup[1] | 17068 |----------------------------+--------------------------------+---------------------------| 17069 |XExtentsOfFontSet[1] |XSetStandardColormap[1] |XkbLockModifiers[1] | 17070 |----------------------------+--------------------------------+---------------------------| 17071 |XFetchBuffer[1] |XSetStandardProperties[1] |XkbLookupKeyBinding[1] | 17072 |----------------------------+--------------------------------+---------------------------| 17073 |XFetchBytes[1] |XSetState[1] |XkbLookupKeySym[1] | 17074 |----------------------------+--------------------------------+---------------------------| 17075 |XFetchName[1] |XSetStipple[1] |XkbNoteControlsChanges[1] | 17076 |----------------------------+--------------------------------+---------------------------| 17077 |XFillArc[1] |XSetSubwindowMode[1] |XkbNoteMapChanges[1] | 17078 |----------------------------+--------------------------------+---------------------------| 17079 |XFillArcs[1] |XSetTSOrigin[1] |XkbNoteNameChanges[1] | 17080 |----------------------------+--------------------------------+---------------------------| 17081 |XFillPolygon[1] |XSetTextProperty[1] |XkbOpenDisplay[1] | 17082 |----------------------------+--------------------------------+---------------------------| 17083 |XFillRectangle[1] |XSetTile[1] |XkbQueryExtension[1] | 17084 |----------------------------+--------------------------------+---------------------------| 17085 |XFillRectangles[1] |XSetTransientForHint[1] |XkbRefreshKeyboardMapping | 17086 | | |[1] | 17087 |----------------------------+--------------------------------+---------------------------| 17088 |XFilterEvent[1] |XSetWMClientMachine[1] |XkbResizeKeyActions[1] | 17089 |----------------------------+--------------------------------+---------------------------| 17090 |XFindContext[1] |XSetWMColormapWindows[1] |XkbResizeKeySyms[1] | 17091 |----------------------------+--------------------------------+---------------------------| 17092 |XFindOnExtensionList[1] |XSetWMHints[1] |XkbResizeKeyType[1] | 17093 |----------------------------+--------------------------------+---------------------------| 17094 |XFlush[1] |XSetWMIconName[1] |XkbSelectEventDetails[1] | 17095 |----------------------------+--------------------------------+---------------------------| 17096 |XFlushGC[1] |XSetWMName[1] |XkbSelectEvents[1] | 17097 |----------------------------+--------------------------------+---------------------------| 17098 |XFontsOfFontSet[1] |XSetWMNormalHints[1] |XkbSetAtomFuncs[1] | 17099 |----------------------------+--------------------------------+---------------------------| 17100 |XForceScreenSaver[1] |XSetWMProperties[1] |XkbSetAutoRepeatRate[1] | 17101 |----------------------------+--------------------------------+---------------------------| 17102 |XFree[1] |XSetWMProtocols[1] |XkbSetAutoResetControls[1] | 17103 |----------------------------+--------------------------------+---------------------------| 17104 |XFreeColormap[1] |XSetWMSizeHints[1] |XkbSetCompatMap[1] | 17105 |----------------------------+--------------------------------+---------------------------| 17106 |XFreeColors[1] |XSetWindowBackground[1] |XkbSetControls[1] | 17107 |----------------------------+--------------------------------+---------------------------| 17108 |XFreeCursor[1] |XSetWindowBackgroundPixmap[1] |XkbSetDebuggingFlags[1] | 17109 |----------------------------+--------------------------------+---------------------------| 17110 |XFreeExtensionList[1] |XSetWindowBorder[1] |XkbSetDetectableAutoRepeat | 17111 | | |[1] | 17112 |----------------------------+--------------------------------+---------------------------| 17113 |XFreeFont[1] |XSetWindowBorderPixmap[1] |XkbSetGeometry[1] | 17114 |----------------------------+--------------------------------+---------------------------| 17115 |XFreeFontInfo[1] |XSetWindowBorderWidth[1] |XkbSetIgnoreLockMods[1] | 17116 |----------------------------+--------------------------------+---------------------------| 17117 |XFreeFontNames[1] |XSetWindowColormap[1] |XkbSetIndicatorMap[1] | 17118 |----------------------------+--------------------------------+---------------------------| 17119 |XFreeFontPath[1] |XSetZoomHints[1] |XkbSetMap[1] | 17120 |----------------------------+--------------------------------+---------------------------| 17121 |XFreeFontSet[1] |XShrinkRegion[1] |XkbSetNamedIndicator[1] | 17122 |----------------------------+--------------------------------+---------------------------| 17123 |XFreeGC[1] |XStoreBuffer[1] |XkbSetNames[1] | 17124 |----------------------------+--------------------------------+---------------------------| 17125 |XFreeModifiermap[1] |XStoreBytes[1] |XkbSetServerInternalMods[1]| 17126 |----------------------------+--------------------------------+---------------------------| 17127 |XFreePixmap[1] |XStoreColor[1] |XkbSetXlibControls[1] | 17128 |----------------------------+--------------------------------+---------------------------| 17129 |XFreeStringList[1] |XStoreColors[1] |XkbToControl[1] | 17130 |----------------------------+--------------------------------+---------------------------| 17131 |XGContextFromGC[1] |XStoreName[1] |XkbTranslateKeyCode[1] | 17132 |----------------------------+--------------------------------+---------------------------| 17133 |XGeometry[1] |XStoreNamedColor[1] |XkbTranslateKeySym[1] | 17134 |----------------------------+--------------------------------+---------------------------| 17135 |XGetAtomName[1] |XStringListToTextProperty[1] |XkbUpdateMapFromCore[1] | 17136 |----------------------------+--------------------------------+---------------------------| 17137 |XGetAtomNames[1] |XStringToKeysym[1] |XkbUseExtension[1] | 17138 |----------------------------+--------------------------------+---------------------------| 17139 |XGetClassHint[1] |XSubImage[1] |XkbVirtualModsToReal[1] | 17140 |----------------------------+--------------------------------+---------------------------| 17141 |XGetCommand[1] |XSubtractRegion[1] |XmbDrawImageString[1] | 17142 |----------------------------+--------------------------------+---------------------------| 17143 |XGetDefault[1] |XSupportsLocale[1] |XmbDrawString[1] | 17144 |----------------------------+--------------------------------+---------------------------| 17145 |XGetErrorDatabaseText[1] |XSync[1] |XmbDrawText[1] | 17146 |----------------------------+--------------------------------+---------------------------| 17147 |XGetErrorText[1] |XTextExtents[1] |XmbLookupString[1] | 17148 |----------------------------+--------------------------------+---------------------------| 17149 |XGetFontPath[1] |XTextExtents16[1] |XmbResetIC[1] | 17150 |----------------------------+--------------------------------+---------------------------| 17151 |XGetFontProperty[1] |XTextPropertyToStringList[1] |XmbSetWMProperties[1] | 17152 |----------------------------+--------------------------------+---------------------------| 17153 |XGetGCValues[1] |XTextWidth[1] |XmbTextEscapement[1] | 17154 |----------------------------+--------------------------------+---------------------------| 17155 |XGetGeometry[1] |XTextWidth16[1] |XmbTextExtents[1] | 17156 |----------------------------+--------------------------------+---------------------------| 17157 |XGetICValues[1] |XTranslateCoordinates[1] |XmbTextListToTextProperty | 17158 | | |[1] | 17159 |----------------------------+--------------------------------+---------------------------| 17160 |XGetIMValues[1] |XUndefineCursor[1] |XmbTextPerCharExtents[1] | 17161 |----------------------------+--------------------------------+---------------------------| 17162 |XGetIconName[1] |XUngrabButton[1] |XmbTextPropertyToTextList | 17163 | | |[1] | 17164 |----------------------------+--------------------------------+---------------------------| 17165 |XGetIconSizes[1] |XUngrabKey[1] |XrmCombineDatabase[1] | 17166 |----------------------------+--------------------------------+---------------------------| 17167 |XGetImage[1] |XUngrabKeyboard[1] |XrmCombineFileDatabase[1] | 17168 |----------------------------+--------------------------------+---------------------------| 17169 |XGetInputFocus[1] |XUngrabPointer[1] |XrmDestroyDatabase[1] | 17170 |----------------------------+--------------------------------+---------------------------| 17171 |XGetKeyboardControl[1] |XUngrabServer[1] |XrmEnumerateDatabase[1] | 17172 |----------------------------+--------------------------------+---------------------------| 17173 |XGetKeyboardMapping[1] |XUninstallColormap[1] |XrmGetDatabase[1] | 17174 |----------------------------+--------------------------------+---------------------------| 17175 |XGetModifierMapping[1] |XUnionRectWithRegion[1] |XrmGetFileDatabase[1] | 17176 |----------------------------+--------------------------------+---------------------------| 17177 |XGetMotionEvents[1] |XUnionRegion[1] |XrmGetResource[1] | 17178 |----------------------------+--------------------------------+---------------------------| 17179 |XGetNormalHints[1] |XUnloadFont[1] |XrmGetStringDatabase[1] | 17180 |----------------------------+--------------------------------+---------------------------| 17181 |XGetOCValues[1] |XUnlockDisplay[1] |XrmInitialize[1] | 17182 |----------------------------+--------------------------------+---------------------------| 17183 |XGetOMValues[1] |XUnmapSubwindows[1] |XrmLocaleOfDatabase[1] | 17184 |----------------------------+--------------------------------+---------------------------| 17185 |XGetPixel[1] |XUnmapWindow[1] |XrmMergeDatabases[1] | 17186 |----------------------------+--------------------------------+---------------------------| 17187 |XGetPointerControl[1] |XUnregisterIMInstantiateCallback|XrmParseCommand[1] | 17188 | |[1] | | 17189 |----------------------------+--------------------------------+---------------------------| 17190 |XGetPointerMapping[1] |XUnsetICFocus[1] |XrmPermStringToQuark[1] | 17191 |----------------------------+--------------------------------+---------------------------| 17192 |XGetRGBColormaps[1] |XVaCreateNestedList[1] |XrmPutFileDatabase[1] | 17193 |----------------------------+--------------------------------+---------------------------| 17194 |XGetScreenSaver[1] |XVendorRelease[1] |XrmPutLineResource[1] | 17195 |----------------------------+--------------------------------+---------------------------| 17196 |XGetSelectionOwner[1] |XVisualIDFromVisual[1] |XrmPutResource[1] | 17197 |----------------------------+--------------------------------+---------------------------| 17198 |XGetSizeHints[1] |XWMGeometry[1] |XrmPutStringResource[1] | 17199 |----------------------------+--------------------------------+---------------------------| 17200 |XGetStandardColormap[1] |XWarpPointer[1] |XrmQGetResource[1] | 17201 |----------------------------+--------------------------------+---------------------------| 17202 |XGetSubImage[1] |XWhitePixel[1] |XrmQGetSearchList[1] | 17203 |----------------------------+--------------------------------+---------------------------| 17204 |XGetTextProperty[1] |XWhitePixelOfScreen[1] |XrmQGetSearchResource[1] | 17205 |----------------------------+--------------------------------+---------------------------| 17206 |XGetTransientForHint[1] |XWidthMMOfScreen[1] |XrmQPutResource[1] | 17207 |----------------------------+--------------------------------+---------------------------| 17208 |XGetVisualInfo[1] |XWidthOfScreen[1] |XrmQPutStringResource[1] | 17209 |----------------------------+--------------------------------+---------------------------| 17210 |XGetWMClientMachine[1] |XWindowEvent[1] |XrmQuarkToString[1] | 17211 |----------------------------+--------------------------------+---------------------------| 17212 |XGetWMColormapWindows[1] |XWithdrawWindow[1] |XrmSetDatabase[1] | 17213 |----------------------------+--------------------------------+---------------------------| 17214 |XGetWMHints[1] |XWriteBitmapFile[1] |XrmStringToBindingQuarkList| 17215 | | |[1] | 17216 |----------------------------+--------------------------------+---------------------------| 17217 |XGetWMIconName[1] |XXorRegion[1] |XrmStringToQuark[1] | 17218 |----------------------------+--------------------------------+---------------------------| 17219 |XGetWMName[1] |XauDisposeAuth[1] |XrmStringToQuarkList[1] | 17220 |----------------------------+--------------------------------+---------------------------| 17221 |XGetWMNormalHints[1] |XauFileName[1] |XrmUniqueQuark[1] | 17222 |----------------------------+--------------------------------+---------------------------| 17223 |XGetWMProtocols[1] |XauGetBestAuthByAddr[1] |Xutf8TextListToTextProperty| 17224 | | |[1] | 17225 |----------------------------+--------------------------------+---------------------------| 17226 |XGetWMSizeHints[1] |XauReadAuth[1] |Xutf8TextPropertyToTextList| 17227 | | |[1] | 17228 |----------------------------+--------------------------------+---------------------------| 17229 |XGetWindowAttributes[1] |XcmsAddColorSpace[1] |XwcDrawImageString[1] | 17230 |----------------------------+--------------------------------+---------------------------| 17231 |XGetWindowProperty[1] |XcmsAddFunctionSet[1] |XwcDrawString[1] | 17232 |----------------------------+--------------------------------+---------------------------| 17233 |XGetZoomHints[1] |XcmsAllocColor[1] |XwcDrawText[1] | 17234 |----------------------------+--------------------------------+---------------------------| 17235 |XGrabButton[1] |XcmsAllocNamedColor[1] |XwcFreeStringList[1] | 17236 |----------------------------+--------------------------------+---------------------------| 17237 |XGrabKey[1] |XcmsCCCOfColormap[1] |XwcLookupString[1] | 17238 |----------------------------+--------------------------------+---------------------------| 17239 |XGrabKeyboard[1] |XcmsCIELabClipL[1] |XwcResetIC[1] | 17240 |----------------------------+--------------------------------+---------------------------| 17241 |XGrabPointer[1] |XcmsCIELabClipLab[1] |XwcTextEscapement[1] | 17242 |----------------------------+--------------------------------+---------------------------| 17243 |XGrabServer[1] |XcmsCIELabClipab[1] |XwcTextExtents[1] | 17244 |----------------------------+--------------------------------+---------------------------| 17245 |XHeightMMOfScreen[1] |XcmsCIELabQueryMaxC[1] |XwcTextListToTextProperty | 17246 | | |[1] | 17247 |----------------------------+--------------------------------+---------------------------| 17248 |XHeightOfScreen[1] |XcmsCIELabQueryMaxL[1] |XwcTextPerCharExtents[1] | 17249 |----------------------------+--------------------------------+---------------------------| 17250 |XIMOfIC[1] |XcmsCIELabQueryMaxLC[1] |XwcTextPropertyToTextList | 17251 | | |[1] | 17252 +-----------------------------------------------------------------------------------------+ 17253 17254 Table A-2. libX11 Data Interfaces 17255 17256 +--------------------------------+ 17257 |XSetAfterFunction|XSynchronize| | 17258 +--------------------------------+ 17259 ------------------------------------------------------------------------------- 17260 17261 libXt 17262 17263 The behaviour of the interfaces in this library is specified by the following 17264 Standards. 17265 17266 Linux Standard Base 17267 17268 Table A-3. libXt Function Interfaces 17269 17270 +-------------------------------------------------------------------------------------------+ 17271 |XtAddActions[1] |XtCvtStringToInitialState[1] |XtOwnSelectionIncremental[1]| 17272 |-----------------------------+--------------------------------+----------------------------| 17273 |XtAddCallback[1] |XtCvtStringToInt[1] |XtParent[1] | 17274 |-----------------------------+--------------------------------+----------------------------| 17275 |XtAddCallbacks[1] |XtCvtStringToPixel[1] |XtParseAcceleratorTable[1] | 17276 |-----------------------------+--------------------------------+----------------------------| 17277 |XtAddConverter[1] |XtCvtStringToRestartStyle[1] |XtParseTranslationTable[1] | 17278 |-----------------------------+--------------------------------+----------------------------| 17279 |XtAddEventHandler[1] |XtCvtStringToShort[1] |XtPeekEvent[1] | 17280 |-----------------------------+--------------------------------+----------------------------| 17281 |XtAddExposureToRegion[1] |XtCvtStringToTranslationTable[1]|XtPending[1] | 17282 |-----------------------------+--------------------------------+----------------------------| 17283 |XtAddGrab[1] |XtCvtStringToUnsignedChar[1] |XtPopdown[1] | 17284 |-----------------------------+--------------------------------+----------------------------| 17285 |XtAddInput[1] |XtCvtStringToVisual[1] |XtPopup[1] | 17286 |-----------------------------+--------------------------------+----------------------------| 17287 |XtAddRawEventHandler[1] |XtDatabase[1] |XtPopupSpringLoaded[1] | 17288 |-----------------------------+--------------------------------+----------------------------| 17289 |XtAddSignal[1] |XtDestroyApplicationContext[1] |XtProcessEvent[1] | 17290 |-----------------------------+--------------------------------+----------------------------| 17291 |XtAddTimeOut[1] |XtDestroyGC[1] |XtProcessLock[1] | 17292 |-----------------------------+--------------------------------+----------------------------| 17293 |XtAddWorkProc[1] |XtDestroyWidget[1] |XtProcessUnlock[1] | 17294 |-----------------------------+--------------------------------+----------------------------| 17295 |XtAllocateGC[1] |XtDirectConvert[1] |XtQueryGeometry[1] | 17296 |-----------------------------+--------------------------------+----------------------------| 17297 |XtAppAddActionHook[1] |XtDisownSelection[1] |XtRealizeWidget[1] | 17298 |-----------------------------+--------------------------------+----------------------------| 17299 |XtAppAddActions[1] |XtDispatchEvent[1] |XtRealloc[1] | 17300 |-----------------------------+--------------------------------+----------------------------| 17301 |XtAppAddBlockHook[1] |XtDispatchEventToWidget[1] |XtRegisterCaseConverter[1] | 17302 |-----------------------------+--------------------------------+----------------------------| 17303 |XtAppAddConverter[1] |XtDisplay[1] |XtRegisterDrawable[1] | 17304 |-----------------------------+--------------------------------+----------------------------| 17305 |XtAppAddInput[1] |XtDisplayInitialize[1] |XtRegisterExtensionSelector | 17306 | | |[1] | 17307 |-----------------------------+--------------------------------+----------------------------| 17308 |XtAppAddSignal[1] |XtDisplayOfObject[1] |XtRegisterGrabAction[1] | 17309 |-----------------------------+--------------------------------+----------------------------| 17310 |XtAppAddTimeOut[1] |XtDisplayStringConversionWarning|XtReleaseGC[1] | 17311 | |[1] | | 17312 |-----------------------------+--------------------------------+----------------------------| 17313 |XtAppAddWorkProc[1] |XtDisplayToApplicationContext[1]|XtReleasePropertyAtom[1] | 17314 |-----------------------------+--------------------------------+----------------------------| 17315 |XtAppCreateShell[1] |XtError[1] |XtRemoveActionHook[1] | 17316 |-----------------------------+--------------------------------+----------------------------| 17317 |XtAppError[1] |XtErrorMsg[1] |XtRemoveAllCallbacks[1] | 17318 |-----------------------------+--------------------------------+----------------------------| 17319 |XtAppErrorMsg[1] |XtFindFile[1] |XtRemoveBlockHook[1] | 17320 |-----------------------------+--------------------------------+----------------------------| 17321 |XtAppGetErrorDatabase[1] |XtFree[1] |XtRemoveCallback[1] | 17322 |-----------------------------+--------------------------------+----------------------------| 17323 |XtAppGetErrorDatabaseText[1] |XtGetActionKeysym[1] |XtRemoveCallbacks[1] | 17324 |-----------------------------+--------------------------------+----------------------------| 17325 |XtAppGetExitFlag[1] |XtGetActionList[1] |XtRemoveEventHandler[1] | 17326 |-----------------------------+--------------------------------+----------------------------| 17327 |XtAppGetSelectionTimeout[1] |XtGetApplicationNameAndClass[1] |XtRemoveEventTypeHandler[1] | 17328 |-----------------------------+--------------------------------+----------------------------| 17329 |XtAppInitialize[1] |XtGetApplicationResources[1] |XtRemoveGrab[1] | 17330 |-----------------------------+--------------------------------+----------------------------| 17331 |XtAppLock[1] |XtGetClassExtension[1] |XtRemoveInput[1] | 17332 |-----------------------------+--------------------------------+----------------------------| 17333 |XtAppMainLoop[1] |XtGetConstraintResourceList[1] |XtRemoveRawEventHandler[1] | 17334 |-----------------------------+--------------------------------+----------------------------| 17335 |XtAppNextEvent[1] |XtGetDisplays[1] |XtRemoveSignal[1] | 17336 |-----------------------------+--------------------------------+----------------------------| 17337 |XtAppPeekEvent[1] |XtGetErrorDatabase[1] |XtRemoveTimeOut[1] | 17338 |-----------------------------+--------------------------------+----------------------------| 17339 |XtAppPending[1] |XtGetErrorDatabaseText[1] |XtRemoveWorkProc[1] | 17340 |-----------------------------+--------------------------------+----------------------------| 17341 |XtAppProcessEvent[1] |XtGetGC[1] |XtReservePropertyAtom[1] | 17342 |-----------------------------+--------------------------------+----------------------------| 17343 |XtAppReleaseCacheRefs[1] |XtGetKeyboardFocusWidget[1] |XtResizeWidget[1] | 17344 |-----------------------------+--------------------------------+----------------------------| 17345 |XtAppSetErrorHandler[1] |XtGetKeysymTable[1] |XtResizeWindow[1] | 17346 |-----------------------------+--------------------------------+----------------------------| 17347 |XtAppSetErrorMsgHandler[1] |XtGetMultiClickTime[1] |XtResolvePathname[1] | 17348 |-----------------------------+--------------------------------+----------------------------| 17349 |XtAppSetExitFlag[1] |XtGetResourceList[1] |XtScreen[1] | 17350 |-----------------------------+--------------------------------+----------------------------| 17351 |XtAppSetFallbackResources[1] |XtGetSelectionParameters[1] |XtScreenDatabase[1] | 17352 |-----------------------------+--------------------------------+----------------------------| 17353 |XtAppSetSelectionTimeout[1] |XtGetSelectionRequest[1] |XtScreenOfObject[1] | 17354 |-----------------------------+--------------------------------+----------------------------| 17355 |XtAppSetTypeConverter[1] |XtGetSelectionTimeout[1] |XtSendSelectionRequest[1] | 17356 |-----------------------------+--------------------------------+----------------------------| 17357 |XtAppSetWarningHandler[1] |XtGetSelectionValue[1] |XtSessionGetToken[1] | 17358 |-----------------------------+--------------------------------+----------------------------| 17359 |XtAppSetWarningMsgHandler[1] |XtGetSelectionValueIncremental |XtSessionReturnToken[1] | 17360 | |[1] | | 17361 |-----------------------------+--------------------------------+----------------------------| 17362 |XtAppUnlock[1] |XtGetSelectionValues[1] |XtSetErrorHandler[1] | 17363 |-----------------------------+--------------------------------+----------------------------| 17364 |XtAppWarning[1] |XtGetSelectionValuesIncremental |XtSetErrorMsgHandler[1] | 17365 | |[1] | | 17366 |-----------------------------+--------------------------------+----------------------------| 17367 |XtAppWarningMsg[1] |XtGetSubresources[1] |XtSetEventDispatcher[1] | 17368 |-----------------------------+--------------------------------+----------------------------| 17369 |XtAugmentTranslations[1] |XtGetSubvalues[1] |XtSetKeyTranslator[1] | 17370 |-----------------------------+--------------------------------+----------------------------| 17371 |XtBuildEventMask[1] |XtGetValues[1] |XtSetKeyboardFocus[1] | 17372 |-----------------------------+--------------------------------+----------------------------| 17373 |XtCallAcceptFocus[1] |XtGrabButton[1] |XtSetLanguageProc[1] | 17374 |-----------------------------+--------------------------------+----------------------------| 17375 |XtCallActionProc[1] |XtGrabKey[1] |XtSetMappedWhenManaged[1] | 17376 |-----------------------------+--------------------------------+----------------------------| 17377 |XtCallCallbackList[1] |XtGrabKeyboard[1] |XtSetMultiClickTime[1] | 17378 |-----------------------------+--------------------------------+----------------------------| 17379 |XtCallCallbacks[1] |XtGrabPointer[1] |XtSetSelectionParameters[1] | 17380 |-----------------------------+--------------------------------+----------------------------| 17381 |XtCallConverter[1] |XtHasCallbacks[1] |XtSetSelectionTimeout[1] | 17382 |-----------------------------+--------------------------------+----------------------------| 17383 |XtCallbackExclusive[1] |XtHooksOfDisplay[1] |XtSetSensitive[1] | 17384 |-----------------------------+--------------------------------+----------------------------| 17385 |XtCallbackNone[1] |XtInitialize[1] |XtSetSubvalues[1] | 17386 |-----------------------------+--------------------------------+----------------------------| 17387 |XtCallbackNonexclusive[1] |XtInitializeWidgetClass[1] |XtSetTypeConverter[1] | 17388 |-----------------------------+--------------------------------+----------------------------| 17389 |XtCallbackPopdown[1] |XtInsertEventHandler[1] |XtSetValues[1] | 17390 |-----------------------------+--------------------------------+----------------------------| 17391 |XtCallbackReleaseCacheRef[1] |XtInsertEventTypeHandler[1] |XtSetWMColormapWindows[1] | 17392 |-----------------------------+--------------------------------+----------------------------| 17393 |XtCallbackReleaseCacheRefList|XtInsertRawEventHandler[1] |XtSetWarningHandler[1] | 17394 |[1] | | | 17395 |-----------------------------+--------------------------------+----------------------------| 17396 |XtCalloc[1] |XtInstallAccelerators[1] |XtSetWarningMsgHandler[1] | 17397 |-----------------------------+--------------------------------+----------------------------| 17398 |XtCancelSelectionRequest[1] |XtInstallAllAccelerators[1] |XtStringConversionWarning[1]| 17399 |-----------------------------+--------------------------------+----------------------------| 17400 |XtChangeManagedSet[1] |XtIsApplicationShell[1] |XtSuperclass[1] | 17401 |-----------------------------+--------------------------------+----------------------------| 17402 |XtClass[1] |XtIsComposite[1] |XtToolkitInitialize[1] | 17403 |-----------------------------+--------------------------------+----------------------------| 17404 |XtCloseDisplay[1] |XtIsConstraint[1] |XtToolkitThreadInitialize[1]| 17405 |-----------------------------+--------------------------------+----------------------------| 17406 |XtConfigureWidget[1] |XtIsManaged[1] |XtTranslateCoords[1] | 17407 |-----------------------------+--------------------------------+----------------------------| 17408 |XtConvert[1] |XtIsObject[1] |XtTranslateKey[1] | 17409 |-----------------------------+--------------------------------+----------------------------| 17410 |XtConvertAndStore[1] |XtIsOverrideShell[1] |XtTranslateKeycode[1] | 17411 |-----------------------------+--------------------------------+----------------------------| 17412 |XtConvertCase[1] |XtIsRealized[1] |XtUngrabButton[1] | 17413 |-----------------------------+--------------------------------+----------------------------| 17414 |XtCreateApplicationContext[1]|XtIsRectObj[1] |XtUngrabKey[1] | 17415 |-----------------------------+--------------------------------+----------------------------| 17416 |XtCreateApplicationShell[1] |XtIsSensitive[1] |XtUngrabKeyboard[1] | 17417 |-----------------------------+--------------------------------+----------------------------| 17418 |XtCreateManagedWidget[1] |XtIsSessionShell[1] |XtUngrabPointer[1] | 17419 |-----------------------------+--------------------------------+----------------------------| 17420 |XtCreatePopupShell[1] |XtIsShell[1] |XtUninstallTranslations[1] | 17421 |-----------------------------+--------------------------------+----------------------------| 17422 |XtCreateSelectionRequest[1] |XtIsSubclass[1] |XtUnmanageChild[1] | 17423 |-----------------------------+--------------------------------+----------------------------| 17424 |XtCreateWidget[1] |XtIsTopLevelShell[1] |XtUnmanageChildren[1] | 17425 |-----------------------------+--------------------------------+----------------------------| 17426 |XtCreateWindow[1] |XtIsTransientShell[1] |XtUnmapWidget[1] | 17427 |-----------------------------+--------------------------------+----------------------------| 17428 |XtCvtColorToPixel[1] |XtIsVendorShell[1] |XtUnrealizeWidget[1] | 17429 |-----------------------------+--------------------------------+----------------------------| 17430 |XtCvtIntToBool[1] |XtIsWMShell[1] |XtUnregisterDrawable[1] | 17431 |-----------------------------+--------------------------------+----------------------------| 17432 |XtCvtIntToBoolean[1] |XtIsWidget[1] |XtVaAppCreateShell[1] | 17433 |-----------------------------+--------------------------------+----------------------------| 17434 |XtCvtIntToColor[1] |XtKeysymToKeycodeList[1] |XtVaAppInitialize[1] | 17435 |-----------------------------+--------------------------------+----------------------------| 17436 |XtCvtIntToFloat[1] |XtLastEventProcessed[1] |XtVaCreateArgsList[1] | 17437 |-----------------------------+--------------------------------+----------------------------| 17438 |XtCvtIntToFont[1] |XtLastTimestampProcessed[1] |XtVaCreateManagedWidget[1] | 17439 |-----------------------------+--------------------------------+----------------------------| 17440 |XtCvtIntToPixel[1] |XtMainLoop[1] |XtVaCreatePopupShell[1] | 17441 |-----------------------------+--------------------------------+----------------------------| 17442 |XtCvtIntToPixmap[1] |XtMakeGeometryRequest[1] |XtVaCreateWidget[1] | 17443 |-----------------------------+--------------------------------+----------------------------| 17444 |XtCvtIntToShort[1] |XtMakeResizeRequest[1] |XtVaGetApplicationResources | 17445 | | |[1] | 17446 |-----------------------------+--------------------------------+----------------------------| 17447 |XtCvtIntToUnsignedChar[1] |XtMalloc[1] |XtVaGetSubresources[1] | 17448 |-----------------------------+--------------------------------+----------------------------| 17449 |XtCvtStringToAcceleratorTable|XtManageChild[1] |XtVaGetSubvalues[1] | 17450 |[1] | | | 17451 |-----------------------------+--------------------------------+----------------------------| 17452 |XtCvtStringToAtom[1] |XtManageChildren[1] |XtVaGetValues[1] | 17453 |-----------------------------+--------------------------------+----------------------------| 17454 |XtCvtStringToBool[1] |XtMapWidget[1] |XtVaOpenApplication[1] | 17455 |-----------------------------+--------------------------------+----------------------------| 17456 |XtCvtStringToBoolean[1] |XtMenuPopupAction[1] |XtVaSetSubvalues[1] | 17457 |-----------------------------+--------------------------------+----------------------------| 17458 |XtCvtStringToCommandArgArray |XtMergeArgLists[1] |XtVaSetValues[1] | 17459 |[1] | | | 17460 |-----------------------------+--------------------------------+----------------------------| 17461 |XtCvtStringToCursor[1] |XtMoveWidget[1] |XtWarning[1] | 17462 |-----------------------------+--------------------------------+----------------------------| 17463 |XtCvtStringToDimension[1] |XtName[1] |XtWarningMsg[1] | 17464 |-----------------------------+--------------------------------+----------------------------| 17465 |XtCvtStringToDirectoryString |XtNameToWidget[1] |XtWidgetToApplicationContext| 17466 |[1] | |[1] | 17467 |-----------------------------+--------------------------------+----------------------------| 17468 |XtCvtStringToDisplay[1] |XtNewString[1] |XtWindow[1] | 17469 |-----------------------------+--------------------------------+----------------------------| 17470 |XtCvtStringToFile[1] |XtNextEvent[1] |XtWindowOfObject[1] | 17471 |-----------------------------+--------------------------------+----------------------------| 17472 |XtCvtStringToFloat[1] |XtNoticeSignal[1] |XtWindowToWidget[1] | 17473 |-----------------------------+--------------------------------+----------------------------| 17474 |XtCvtStringToFont[1] |XtOpenApplication[1] |_XtCheckSubclassFlag[1] | 17475 |-----------------------------+--------------------------------+----------------------------| 17476 |XtCvtStringToFontSet[1] |XtOpenDisplay[1] |_XtCopyFromArg[1] | 17477 |-----------------------------+--------------------------------+----------------------------| 17478 |XtCvtStringToFontStruct[1] |XtOverrideTranslations[1] |_XtInherit[1] | 17479 |-----------------------------+--------------------------------+----------------------------| 17480 |XtCvtStringToGravity[1] |XtOwnSelection[1] |_XtIsSubclassOf[1] | 17481 +-------------------------------------------------------------------------------------------+ 17482 17483 Table A-4. libXt Data Interfaces 17484 17485 +------------------------------------------------------------------------------+ 17486 |XtCXtToolkitError |objectClass |topLevelShellClassRec | 17487 |---------------------------+------------------------+-------------------------| 17488 |XtShellStrings |objectClassRec |topLevelShellWidgetClass | 17489 |---------------------------+------------------------+-------------------------| 17490 |XtStrings |overrideShellClassRec |transientShellClassRec | 17491 |---------------------------+------------------------+-------------------------| 17492 |_XtInheritTranslations |overrideShellWidgetClass|transientShellWidgetClass| 17493 |---------------------------+------------------------+-------------------------| 17494 |applicationShellWidgetClass|rectObjClass |widgetClass | 17495 |---------------------------+------------------------+-------------------------| 17496 |compositeClassRec |rectObjClassRec |widgetClassRec | 17497 |---------------------------+------------------------+-------------------------| 17498 |compositeWidgetClass |sessionShellClassRec |wmShellClassRec | 17499 |---------------------------+------------------------+-------------------------| 17500 |constraintClassRec |sessionShellWidgetClass |wmShellWidgetClass | 17501 |---------------------------+------------------------+-------------------------| 17502 |constraintWidgetClass |shellClassRec | | 17503 |---------------------------+------------------------+-------------------------| 17504 |coreWidgetClass |shellWidgetClass | | 17505 +------------------------------------------------------------------------------+ 17506 ------------------------------------------------------------------------------- 17507 17508 libm 17509 17510 The behaviour of the interfaces in this library is specified by the following 17511 Standards. 17512 17513 ISO/IEC 9899: 1999, Programming Languages --C 17514 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 17515 (ISBN: 1-85912-181-0, C606) 17516 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 17517 Specification(SUS) V3 17518 17519 Table A-5. libm Function Interfaces 17520 17521 +-----------------------------------------------------------------------------+ 17522 |acos(GLIBC_2.0)[1] |csinhl(GLIBC_2.0)[1] |log(GLIBC_2.0)[1] | 17523 |----------------------+----------------------------+-------------------------| 17524 |acosf(GLIBC_2.0)[1] |csinl(GLIBC_2.0)[1] |log10(GLIBC_2.0)[1] | 17525 |----------------------+----------------------------+-------------------------| 17526 |acosh(GLIBC_2.0)[1] |csqrt(GLIBC_2.0)[1] |log10f[1] | 17527 |----------------------+----------------------------+-------------------------| 17528 |acoshf(GLIBC_2.0)[1] |csqrtf(GLIBC_2.0)[1] |log10l[1] | 17529 |----------------------+----------------------------+-------------------------| 17530 |acoshl(GLIBC_2.0)[1] |csqrtl(GLIBC_2.0)[1] |log1p(GLIBC_2.0)[1] | 17531 |----------------------+----------------------------+-------------------------| 17532 |acosl(GLIBC_2.0)[1] |ctan(GLIBC_2.0)[1] |logb(GLIBC_2.0)[1] | 17533 |----------------------+----------------------------+-------------------------| 17534 |asin(GLIBC_2.0)[1] |ctanf(GLIBC_2.0)[1] |logf[1] | 17535 |----------------------+----------------------------+-------------------------| 17536 |asinf(GLIBC_2.0)[1] |ctanh(GLIBC_2.0)[1] |logl[1] | 17537 |----------------------+----------------------------+-------------------------| 17538 |asinh(GLIBC_2.0)[1] |ctanhf(GLIBC_2.0)[1] |lrint(GLIBC_2.0)[1] | 17539 |----------------------+----------------------------+-------------------------| 17540 |asinhf(GLIBC_2.0)[1] |ctanhl(GLIBC_2.0)[1] |lrintf(GLIBC_2.0)[1] | 17541 |----------------------+----------------------------+-------------------------| 17542 |asinhl(GLIBC_2.0)[1] |ctanl(GLIBC_2.0)[1] |lrintl(GLIBC_2.0)[1] | 17543 |----------------------+----------------------------+-------------------------| 17544 |asinl(GLIBC_2.0)[1] |dremf(GLIBC_2.0)[1] |lround(GLIBC_2.0)[1] | 17545 |----------------------+----------------------------+-------------------------| 17546 |atan(GLIBC_2.0)[1] |dreml(GLIBC_2.0)[1] |lroundf(GLIBC_2.0)[1] | 17547 |----------------------+----------------------------+-------------------------| 17548 |atan2(GLIBC_2.0)[1] |erf(GLIBC_2.0)[1] |lroundl(GLIBC_2.0)[1] | 17549 |----------------------+----------------------------+-------------------------| 17550 |atan2f(GLIBC_2.0)[1] |erfc(GLIBC_2.0)[1] |matherr(GLIBC_2.0)[1] | 17551 |----------------------+----------------------------+-------------------------| 17552 |atan2l(GLIBC_2.0)[1] |erfcf(GLIBC_2.0)[1] |modf(GLIBC_2.0)[1] | 17553 |----------------------+----------------------------+-------------------------| 17554 |atanf(GLIBC_2.0)[1] |erfcl(GLIBC_2.0)[1] |modff(GLIBC_2.0)[1] | 17555 |----------------------+----------------------------+-------------------------| 17556 |atanh(GLIBC_2.0)[1] |erff(GLIBC_2.0)[1] |modfl(GLIBC_2.0)[1] | 17557 |----------------------+----------------------------+-------------------------| 17558 |atanhf(GLIBC_2.0)[1] |erfl(GLIBC_2.0)[1] |nan(GLIBC_2.0)[1] | 17559 |----------------------+----------------------------+-------------------------| 17560 |atanhl(GLIBC_2.0)[1] |exp(GLIBC_2.0)[1] |nanf(GLIBC_2.0)[1] | 17561 |----------------------+----------------------------+-------------------------| 17562 |atanl(GLIBC_2.0)[1] |expf[1] |nanl(GLIBC_2.0)[1] | 17563 |----------------------+----------------------------+-------------------------| 17564 |cabs(GLIBC_2.1)[1] |expl[1] |nearbyint(GLIBC_2.1)[1] | 17565 |----------------------+----------------------------+-------------------------| 17566 |cabsf(GLIBC_2.1)[1] |expm1(GLIBC_2.1)[1] |nearbyintf(GLIBC_2.1)[1] | 17567 |----------------------+----------------------------+-------------------------| 17568 |cabsl(GLIBC_2.1)[1] |fabs(GLIBC_2.1)[1] |nearbyintl(GLIBC_2.1)[1] | 17569 |----------------------+----------------------------+-------------------------| 17570 |cacos(GLIBC_2.1)[1] |fabsf(GLIBC_2.1)[1] |nextafter(GLIBC_2.1)[1] | 17571 |----------------------+----------------------------+-------------------------| 17572 |cacosf(GLIBC_2.1)[1] |fabsl(GLIBC_2.1)[1] |nextafterf(GLIBC_2.1)[1] | 17573 |----------------------+----------------------------+-------------------------| 17574 |cacosh(GLIBC_2.1)[1] |fdim(GLIBC_2.1)[1] |nextafterl(GLIBC_2.1)[1] | 17575 |----------------------+----------------------------+-------------------------| 17576 |cacoshf(GLIBC_2.1)[1] |fdimf(GLIBC_2.1)[1] |nexttoward(GLIBC_2.1)[1] | 17577 |----------------------+----------------------------+-------------------------| 17578 |cacoshl(GLIBC_2.1)[1] |fdiml(GLIBC_2.1)[1] |nexttowardf(GLIBC_2.1)[1]| 17579 |----------------------+----------------------------+-------------------------| 17580 |cacosl(GLIBC_2.1)[1] |feclearexcept(GLIBC_2.1)[1] |nexttowardl(GLIBC_2.1)[1]| 17581 |----------------------+----------------------------+-------------------------| 17582 |carg(GLIBC_2.1)[1] |fegetenv(GLIBC_2.1)[1] |pow(GLIBC_2.1)[1] | 17583 |----------------------+----------------------------+-------------------------| 17584 |cargf(GLIBC_2.1)[1] |fegetexceptflag(GLIBC_2.1) |pow10(GLIBC_2.1)[1] | 17585 | |[1] | | 17586 |----------------------+----------------------------+-------------------------| 17587 |cargl(GLIBC_2.1)[1] |fegetround(GLIBC_2.1)[1] |pow10f(GLIBC_2.1)[1] | 17588 |----------------------+----------------------------+-------------------------| 17589 |casin(GLIBC_2.1)[1] |feholdexcept(GLIBC_2.1)[1] |pow10l(GLIBC_2.1)[1] | 17590 |----------------------+----------------------------+-------------------------| 17591 |casinf(GLIBC_2.1)[1] |feraiseexcept(GLIBC_2.1)[1] |powf(GLIBC_2.1)[1] | 17592 |----------------------+----------------------------+-------------------------| 17593 |casinh(GLIBC_2.1)[1] |fesetenv(GLIBC_2.1)[1] |powl(GLIBC_2.1)[1] | 17594 |----------------------+----------------------------+-------------------------| 17595 |casinhf(GLIBC_2.1)[1] |fesetexceptflag(GLIBC_2.1) |remainder(GLIBC_2.1)[1] | 17596 | |[1] | | 17597 |----------------------+----------------------------+-------------------------| 17598 |casinhl(GLIBC_2.1)[1] |fesetround(GLIBC_2.1)[1] |remainderf(GLIBC_2.1)[1] | 17599 |----------------------+----------------------------+-------------------------| 17600 |casinl(GLIBC_2.1)[1] |fetestexcept(GLIBC_2.1)[1] |remainderl(GLIBC_2.1)[1] | 17601 |----------------------+----------------------------+-------------------------| 17602 |catan(GLIBC_2.1)[1] |feupdateenv(GLIBC_2.1)[1] |remquo(GLIBC_2.1)[1] | 17603 |----------------------+----------------------------+-------------------------| 17604 |catanf(GLIBC_2.1)[1] |finite(GLIBC_2.1)[1] |remquof(GLIBC_2.1)[1] | 17605 |----------------------+----------------------------+-------------------------| 17606 |catanh(GLIBC_2.1)[1] |finitef(GLIBC_2.1)[1] |remquol(GLIBC_2.1)[1] | 17607 |----------------------+----------------------------+-------------------------| 17608 |catanhf(GLIBC_2.1)[1] |finitel(GLIBC_2.1)[1] |rint(GLIBC_2.1)[1] | 17609 |----------------------+----------------------------+-------------------------| 17610 |catanhl(GLIBC_2.1)[1] |floor(GLIBC_2.1)[1] |rintf(GLIBC_2.1)[1] | 17611 |----------------------+----------------------------+-------------------------| 17612 |catanl(GLIBC_2.1)[1] |floorf(GLIBC_2.1)[1] |rintl(GLIBC_2.1)[1] | 17613 |----------------------+----------------------------+-------------------------| 17614 |cbrt(GLIBC_2.0)[1] |floorl(GLIBC_2.0)[1] |round(GLIBC_2.0)[1] | 17615 |----------------------+----------------------------+-------------------------| 17616 |cbrtf(GLIBC_2.0)[1] |fma(GLIBC_2.0)[1] |roundf(GLIBC_2.0)[1] | 17617 |----------------------+----------------------------+-------------------------| 17618 |cbrtl(GLIBC_2.0)[1] |fmaf(GLIBC_2.0)[1] |roundl(GLIBC_2.0)[1] | 17619 |----------------------+----------------------------+-------------------------| 17620 |ccos(GLIBC_2.1)[1] |fmal(GLIBC_2.1)[1] |scalb(GLIBC_2.1)[1] | 17621 |----------------------+----------------------------+-------------------------| 17622 |ccosf(GLIBC_2.1)[1] |fmax(GLIBC_2.1)[1] |scalbf(GLIBC_2.1)[1] | 17623 |----------------------+----------------------------+-------------------------| 17624 |ccosh(GLIBC_2.1)[1] |fmaxf(GLIBC_2.1)[1] |scalbl(GLIBC_2.1)[1] | 17625 |----------------------+----------------------------+-------------------------| 17626 |ccoshf(GLIBC_2.1)[1] |fmaxl(GLIBC_2.1)[1] |scalbln(GLIBC_2.1)[1] | 17627 |----------------------+----------------------------+-------------------------| 17628 |ccoshl(GLIBC_2.1)[1] |fmin(GLIBC_2.1)[1] |scalblnf(GLIBC_2.1)[1] | 17629 |----------------------+----------------------------+-------------------------| 17630 |ccosl(GLIBC_2.1)[1] |fminf(GLIBC_2.1)[1] |scalblnl(GLIBC_2.1)[1] | 17631 |----------------------+----------------------------+-------------------------| 17632 |ceil(GLIBC_2.0)[1] |fminl(GLIBC_2.0)[1] |scalbn(GLIBC_2.0)[1] | 17633 |----------------------+----------------------------+-------------------------| 17634 |ceilf(GLIBC_2.0)[1] |fmod(GLIBC_2.0)[1] |scalbnf(GLIBC_2.0)[1] | 17635 |----------------------+----------------------------+-------------------------| 17636 |ceill(GLIBC_2.0)[1] |fmodf(GLIBC_2.0)[1] |scalbnl(GLIBC_2.0)[1] | 17637 |----------------------+----------------------------+-------------------------| 17638 |cexp(GLIBC_2.1)[1] |fmodl(GLIBC_2.1)[1] |significand(GLIBC_2.1)[1]| 17639 |----------------------+----------------------------+-------------------------| 17640 |cexpf(GLIBC_2.1)[1] |frexp(GLIBC_2.1)[1] |significandf(GLIBC_2.1) | 17641 | | |[1] | 17642 |----------------------+----------------------------+-------------------------| 17643 |cexpl(GLIBC_2.1)[1] |frexpf(GLIBC_2.1)[1] |significandl(GLIBC_2.1) | 17644 | | |[1] | 17645 |----------------------+----------------------------+-------------------------| 17646 |cimag(GLIBC_2.1)[1] |frexpl(GLIBC_2.1)[1] |sin(GLIBC_2.1)[1] | 17647 |----------------------+----------------------------+-------------------------| 17648 |cimagf(GLIBC_2.1)[1] |gamma(GLIBC_2.1)[1] |sincos(GLIBC_2.1)[1] | 17649 |----------------------+----------------------------+-------------------------| 17650 |cimagl(GLIBC_2.1)[1] |gammaf(GLIBC_2.1)[1] |sincosf(GLIBC_2.1)[1] | 17651 |----------------------+----------------------------+-------------------------| 17652 |clog(GLIBC_2.1)[1] |gammal(GLIBC_2.1)[1] |sincosl(GLIBC_2.1)[1] | 17653 |----------------------+----------------------------+-------------------------| 17654 |clog10(GLIBC_2.1)[1] |hypot(GLIBC_2.1)[1] |sinf(GLIBC_2.1)[1] | 17655 |----------------------+----------------------------+-------------------------| 17656 |clog10f(GLIBC_2.1)[1] |hypotf(GLIBC_2.1)[1] |sinh(GLIBC_2.1)[1] | 17657 |----------------------+----------------------------+-------------------------| 17658 |clog10l(GLIBC_2.1)[1] |hypotl(GLIBC_2.1)[1] |sinhf(GLIBC_2.1)[1] | 17659 |----------------------+----------------------------+-------------------------| 17660 |clogf(GLIBC_2.1)[1] |ilogb(GLIBC_2.1)[1] |sinhl(GLIBC_2.1)[1] | 17661 |----------------------+----------------------------+-------------------------| 17662 |clogl(GLIBC_2.1)[1] |ilogbf(GLIBC_2.1)[1] |sinl(GLIBC_2.1)[1] | 17663 |----------------------+----------------------------+-------------------------| 17664 |conj(GLIBC_2.1)[1] |ilogbl(GLIBC_2.1)[1] |sqrt(GLIBC_2.1)[1] | 17665 |----------------------+----------------------------+-------------------------| 17666 |conjf(GLIBC_2.1)[1] |j0(GLIBC_2.1)[1] |sqrtf(GLIBC_2.1)[1] | 17667 |----------------------+----------------------------+-------------------------| 17668 |conjl(GLIBC_2.1)[1] |j0f(GLIBC_2.1)[1] |sqrtl(GLIBC_2.1)[1] | 17669 |----------------------+----------------------------+-------------------------| 17670 |copysign(GLIBC_2.0)[1]|j0l(GLIBC_2.0)[1] |tan(GLIBC_2.0)[1] | 17671 |----------------------+----------------------------+-------------------------| 17672 |copysignf(GLIBC_2.0) |j1(GLIBC_2.0)[1] |tanf(GLIBC_2.0)[1] | 17673 |[1] | | | 17674 |----------------------+----------------------------+-------------------------| 17675 |copysignl(GLIBC_2.0) |j1f(GLIBC_2.0)[1] |tanh(GLIBC_2.0)[1] | 17676 |[1] | | | 17677 |----------------------+----------------------------+-------------------------| 17678 |cos(GLIBC_2.0)[1] |j1l(GLIBC_2.0)[1] |tanhf(GLIBC_2.0)[1] | 17679 |----------------------+----------------------------+-------------------------| 17680 |cosf(GLIBC_2.0)[1] |jn(GLIBC_2.0)[1] |tanhl(GLIBC_2.0)[1] | 17681 |----------------------+----------------------------+-------------------------| 17682 |cosh(GLIBC_2.0)[1] |jnf(GLIBC_2.0)[1] |tanl(GLIBC_2.0)[1] | 17683 |----------------------+----------------------------+-------------------------| 17684 |coshf(GLIBC_2.0)[1] |jnl(GLIBC_2.0)[1] |tgamma(GLIBC_2.0)[1] | 17685 |----------------------+----------------------------+-------------------------| 17686 |coshl(GLIBC_2.0)[1] |ldexp(GLIBC_2.0)[1] |tgammaf(GLIBC_2.0)[1] | 17687 |----------------------+----------------------------+-------------------------| 17688 |cosl(GLIBC_2.0)[1] |ldexpf(GLIBC_2.0)[1] |tgammal(GLIBC_2.0)[1] | 17689 |----------------------+----------------------------+-------------------------| 17690 |cpow(GLIBC_2.1)[1] |ldexpl(GLIBC_2.1)[1] |trunc(GLIBC_2.1)[1] | 17691 |----------------------+----------------------------+-------------------------| 17692 |cpowf(GLIBC_2.1)[1] |lgamma(GLIBC_2.1)[1] |truncf(GLIBC_2.1)[1] | 17693 |----------------------+----------------------------+-------------------------| 17694 |cpowl(GLIBC_2.1)[1] |lgamma_r(GLIBC_2.1)[1] |truncl(GLIBC_2.1)[1] | 17695 |----------------------+----------------------------+-------------------------| 17696 |cproj(GLIBC_2.1)[1] |lgammaf(GLIBC_2.1)[1] |y0(GLIBC_2.1)[1] | 17697 |----------------------+----------------------------+-------------------------| 17698 |cprojf(GLIBC_2.1)[1] |lgammaf_r(GLIBC_2.1)[1] |y0f(GLIBC_2.1)[1] | 17699 |----------------------+----------------------------+-------------------------| 17700 |cprojl(GLIBC_2.1)[1] |lgammal(GLIBC_2.1)[1] |y0l(GLIBC_2.1)[1] | 17701 |----------------------+----------------------------+-------------------------| 17702 |creal(GLIBC_2.1)[1] |lgammal_r(GLIBC_2.1)[1] |y1(GLIBC_2.1)[1] | 17703 |----------------------+----------------------------+-------------------------| 17704 |crealf(GLIBC_2.1)[1] |llrint(GLIBC_2.1)[1] |y1f(GLIBC_2.1)[1] | 17705 |----------------------+----------------------------+-------------------------| 17706 |creall(GLIBC_2.1)[1] |llrintf(GLIBC_2.1)[1] |y1l(GLIBC_2.1)[1] | 17707 |----------------------+----------------------------+-------------------------| 17708 |csin(GLIBC_2.1)[1] |llrintl(GLIBC_2.1)[1] |yn(GLIBC_2.1)[1] | 17709 |----------------------+----------------------------+-------------------------| 17710 |csinf(GLIBC_2.1)[1] |llround(GLIBC_2.1)[1] |ynf(GLIBC_2.1)[1] | 17711 |----------------------+----------------------------+-------------------------| 17712 |csinh(GLIBC_2.1)[1] |llroundf(GLIBC_2.1)[1] |ynl(GLIBC_2.1)[1] | 17713 |----------------------+----------------------------+-------------------------| 17714 |csinhf(GLIBC_2.1)[1] |llroundl(GLIBC_2.1)[1] | | 17715 +-----------------------------------------------------------------------------+ 17716 17717 Table A-6. libm Data Interfaces 17718 17719 +-------------+ 17720 |signgam | | | 17721 +-------------+ 17722 ------------------------------------------------------------------------------- 17723 17724 libGL 17725 17726 The behaviour of the interfaces in this library is specified by the following 17727 Standards. 17728 17729 17730 17731 Table A-7. libGL Function Interfaces 17732 17733 +------------------------------------------------------------------------------+ 17734 |glAccum[1] |glGetString[1] |glRasterPos4iv[1] | 17735 |---------------------------+------------------------+-------------------------| 17736 |glActiveTextureARB[1] |glGetTexEnvfv[1] |glRasterPos4s[1] | 17737 |---------------------------+------------------------+-------------------------| 17738 |glAlphaFunc[1] |glGetTexEnviv[1] |glRasterPos4sv[1] | 17739 |---------------------------+------------------------+-------------------------| 17740 |glAreTexturesResident[1] |glGetTexGendv[1] |glReadBuffer[1] | 17741 |---------------------------+------------------------+-------------------------| 17742 |glArrayElement[1] |glGetTexGenfv[1] |glReadPixels[1] | 17743 |---------------------------+------------------------+-------------------------| 17744 |glBegin[1] |glGetTexGeniv[1] |glRectd[1] | 17745 |---------------------------+------------------------+-------------------------| 17746 |glBindTexture[1] |glGetTexImage[1] |glRectdv[1] | 17747 |---------------------------+------------------------+-------------------------| 17748 |glBitmap[1] |glGetTexLevelParameterfv|glRectf[1] | 17749 | |[1] | | 17750 |---------------------------+------------------------+-------------------------| 17751 |glBlendColor[1] |glGetTexLevelParameteriv|glRectfv[1] | 17752 | |[1] | | 17753 |---------------------------+------------------------+-------------------------| 17754 |glBlendEquation[1] |glGetTexParameterfv[1] |glRecti[1] | 17755 |---------------------------+------------------------+-------------------------| 17756 |glBlendFunc[1] |glGetTexParameteriv[1] |glRectiv[1] | 17757 |---------------------------+------------------------+-------------------------| 17758 |glCallList[1] |glHint[1] |glRects[1] | 17759 |---------------------------+------------------------+-------------------------| 17760 |glCallLists[1] |glHistogram[1] |glRectsv[1] | 17761 |---------------------------+------------------------+-------------------------| 17762 |glClear[1] |glIndexMask[1] |glRenderMode[1] | 17763 |---------------------------+------------------------+-------------------------| 17764 |glClearAccum[1] |glIndexPointer[1] |glResetHistogram[1] | 17765 |---------------------------+------------------------+-------------------------| 17766 |glClearColor[1] |glIndexd[1] |glResetMinmax[1] | 17767 |---------------------------+------------------------+-------------------------| 17768 |glClearDepth[1] |glIndexdv[1] |glRotated[1] | 17769 |---------------------------+------------------------+-------------------------| 17770 |glClearIndex[1] |glIndexf[1] |glRotatef[1] | 17771 |---------------------------+------------------------+-------------------------| 17772 |glClearStencil[1] |glIndexfv[1] |glScaled[1] | 17773 |---------------------------+------------------------+-------------------------| 17774 |glClientActiveTextureARB[1]|glIndexi[1] |glScalef[1] | 17775 |---------------------------+------------------------+-------------------------| 17776 |glClipPlane[1] |glIndexiv[1] |glScissor[1] | 17777 |---------------------------+------------------------+-------------------------| 17778 |glColor3b[1] |glIndexs[1] |glSelectBuffer[1] | 17779 |---------------------------+------------------------+-------------------------| 17780 |glColor3bv[1] |glIndexsv[1] |glSeparableFilter2D[1] | 17781 |---------------------------+------------------------+-------------------------| 17782 |glColor3d[1] |glIndexub[1] |glShadeModel[1] | 17783 |---------------------------+------------------------+-------------------------| 17784 |glColor3dv[1] |glIndexubv[1] |glStencilFunc[1] | 17785 |---------------------------+------------------------+-------------------------| 17786 |glColor3f[1] |glInitNames[1] |glStencilMask[1] | 17787 |---------------------------+------------------------+-------------------------| 17788 |glColor3fv[1] |glInterleavedArrays[1] |glStencilOp[1] | 17789 |---------------------------+------------------------+-------------------------| 17790 |glColor3i[1] |glIsEnabled[1] |glTexCoord1d[1] | 17791 |---------------------------+------------------------+-------------------------| 17792 |glColor3iv[1] |glIsList[1] |glTexCoord1dv[1] | 17793 |---------------------------+------------------------+-------------------------| 17794 |glColor3s[1] |glIsTexture[1] |glTexCoord1f[1] | 17795 |---------------------------+------------------------+-------------------------| 17796 |glColor3sv[1] |glLightModelf[1] |glTexCoord1fv[1] | 17797 |---------------------------+------------------------+-------------------------| 17798 |glColor3ub[1] |glLightModelfv[1] |glTexCoord1i[1] | 17799 |---------------------------+------------------------+-------------------------| 17800 |glColor3ubv[1] |glLightModeli[1] |glTexCoord1iv[1] | 17801 |---------------------------+------------------------+-------------------------| 17802 |glColor3ui[1] |glLightModeliv[1] |glTexCoord1s[1] | 17803 |---------------------------+------------------------+-------------------------| 17804 |glColor3uiv[1] |glLightf[1] |glTexCoord1sv[1] | 17805 |---------------------------+------------------------+-------------------------| 17806 |glColor3us[1] |glLightfv[1] |glTexCoord2d[1] | 17807 |---------------------------+------------------------+-------------------------| 17808 |glColor3usv[1] |glLighti[1] |glTexCoord2dv[1] | 17809 |---------------------------+------------------------+-------------------------| 17810 |glColor4b[1] |glLightiv[1] |glTexCoord2f[1] | 17811 |---------------------------+------------------------+-------------------------| 17812 |glColor4bv[1] |glLineStipple[1] |glTexCoord2fv[1] | 17813 |---------------------------+------------------------+-------------------------| 17814 |glColor4d[1] |glLineWidth[1] |glTexCoord2i[1] | 17815 |---------------------------+------------------------+-------------------------| 17816 |glColor4dv[1] |glListBase[1] |glTexCoord2iv[1] | 17817 |---------------------------+------------------------+-------------------------| 17818 |glColor4f[1] |glLoadIdentity[1] |glTexCoord2s[1] | 17819 |---------------------------+------------------------+-------------------------| 17820 |glColor4fv[1] |glLoadMatrixd[1] |glTexCoord2sv[1] | 17821 |---------------------------+------------------------+-------------------------| 17822 |glColor4i[1] |glLoadMatrixf[1] |glTexCoord3d[1] | 17823 |---------------------------+------------------------+-------------------------| 17824 |glColor4iv[1] |glLoadName[1] |glTexCoord3dv[1] | 17825 |---------------------------+------------------------+-------------------------| 17826 |glColor4s[1] |glLogicOp[1] |glTexCoord3f[1] | 17827 |---------------------------+------------------------+-------------------------| 17828 |glColor4sv[1] |glMap1d[1] |glTexCoord3fv[1] | 17829 |---------------------------+------------------------+-------------------------| 17830 |glColor4ub[1] |glMap1f[1] |glTexCoord3i[1] | 17831 |---------------------------+------------------------+-------------------------| 17832 |glColor4ubv[1] |glMap2d[1] |glTexCoord3iv[1] | 17833 |---------------------------+------------------------+-------------------------| 17834 |glColor4ui[1] |glMap2f[1] |glTexCoord3s[1] | 17835 |---------------------------+------------------------+-------------------------| 17836 |glColor4uiv[1] |glMapGrid1d[1] |glTexCoord3sv[1] | 17837 |---------------------------+------------------------+-------------------------| 17838 |glColor4us[1] |glMapGrid1f[1] |glTexCoord4d[1] | 17839 |---------------------------+------------------------+-------------------------| 17840 |glColor4usv[1] |glMapGrid2d[1] |glTexCoord4dv[1] | 17841 |---------------------------+------------------------+-------------------------| 17842 |glColorMask[1] |glMapGrid2f[1] |glTexCoord4f[1] | 17843 |---------------------------+------------------------+-------------------------| 17844 |glColorMaterial[1] |glMaterialf[1] |glTexCoord4fv[1] | 17845 |---------------------------+------------------------+-------------------------| 17846 |glColorPointer[1] |glMaterialfv[1] |glTexCoord4i[1] | 17847 |---------------------------+------------------------+-------------------------| 17848 |glColorSubTable[1] |glMateriali[1] |glTexCoord4iv[1] | 17849 |---------------------------+------------------------+-------------------------| 17850 |glColorTable[1] |glMaterialiv[1] |glTexCoord4s[1] | 17851 |---------------------------+------------------------+-------------------------| 17852 |glColorTableParameterfv[1] |glMatrixMode[1] |glTexCoord4sv[1] | 17853 |---------------------------+------------------------+-------------------------| 17854 |glColorTableParameteriv[1] |glMinmax[1] |glTexCoordPointer[1] | 17855 |---------------------------+------------------------+-------------------------| 17856 |glConvolutionFilter1D[1] |glMultMatrixd[1] |glTexEnvf[1] | 17857 |---------------------------+------------------------+-------------------------| 17858 |glConvolutionFilter2D[1] |glMultMatrixf[1] |glTexEnvfv[1] | 17859 |---------------------------+------------------------+-------------------------| 17860 |glConvolutionParameterf[1] |glMultiTexCoord1dARB[1] |glTexEnvi[1] | 17861 |---------------------------+------------------------+-------------------------| 17862 |glConvolutionParameterfv[1]|glMultiTexCoord1dvARB[1]|glTexEnviv[1] | 17863 |---------------------------+------------------------+-------------------------| 17864 |glConvolutionParameteri[1] |glMultiTexCoord1fARB[1] |glTexGend[1] | 17865 |---------------------------+------------------------+-------------------------| 17866 |glConvolutionParameteriv[1]|glMultiTexCoord1fvARB[1]|glTexGendv[1] | 17867 |---------------------------+------------------------+-------------------------| 17868 |glCopyColorSubTable[1] |glMultiTexCoord1iARB[1] |glTexGenf[1] | 17869 |---------------------------+------------------------+-------------------------| 17870 |glCopyColorTable[1] |glMultiTexCoord1ivARB[1]|glTexGenfv[1] | 17871 |---------------------------+------------------------+-------------------------| 17872 |glCopyConvolutionFilter1D |glMultiTexCoord1sARB[1] |glTexGeni[1] | 17873 |[1] | | | 17874 |---------------------------+------------------------+-------------------------| 17875 |glCopyConvolutionFilter2D |glMultiTexCoord1svARB[1]|glTexGeniv[1] | 17876 |[1] | | | 17877 |---------------------------+------------------------+-------------------------| 17878 |glCopyPixels[1] |glMultiTexCoord2dARB[1] |glTexImage1D[1] | 17879 |---------------------------+------------------------+-------------------------| 17880 |glCopyTexImage1D[1] |glMultiTexCoord2dvARB[1]|glTexImage2D[1] | 17881 |---------------------------+------------------------+-------------------------| 17882 |glCopyTexImage2D[1] |glMultiTexCoord2fARB[1] |glTexImage3D[1] | 17883 |---------------------------+------------------------+-------------------------| 17884 |glCopyTexSubImage1D[1] |glMultiTexCoord2fvARB[1]|glTexParameterf[1] | 17885 |---------------------------+------------------------+-------------------------| 17886 |glCopyTexSubImage2D[1] |glMultiTexCoord2iARB[1] |glTexParameterfv[1] | 17887 |---------------------------+------------------------+-------------------------| 17888 |glCopyTexSubImage3D[1] |glMultiTexCoord2ivARB[1]|glTexParameteri[1] | 17889 |---------------------------+------------------------+-------------------------| 17890 |glCullFace[1] |glMultiTexCoord2sARB[1] |glTexParameteriv[1] | 17891 |---------------------------+------------------------+-------------------------| 17892 |glDeleteLists[1] |glMultiTexCoord2svARB[1]|glTexSubImage1D[1] | 17893 |---------------------------+------------------------+-------------------------| 17894 |glDeleteTextures[1] |glMultiTexCoord3dARB[1] |glTexSubImage2D[1] | 17895 |---------------------------+------------------------+-------------------------| 17896 |glDepthFunc[1] |glMultiTexCoord3dvARB[1]|glTexSubImage3D[1] | 17897 |---------------------------+------------------------+-------------------------| 17898 |glDepthMask[1] |glMultiTexCoord3fARB[1] |glTranslated[1] | 17899 |---------------------------+------------------------+-------------------------| 17900 |glDepthRange[1] |glMultiTexCoord3fvARB[1]|glTranslatef[1] | 17901 |---------------------------+------------------------+-------------------------| 17902 |glDisable[1] |glMultiTexCoord3iARB[1] |glVertex2d[1] | 17903 |---------------------------+------------------------+-------------------------| 17904 |glDisableClientState[1] |glMultiTexCoord3ivARB[1]|glVertex2dv[1] | 17905 |---------------------------+------------------------+-------------------------| 17906 |glDrawArrays[1] |glMultiTexCoord3sARB[1] |glVertex2f[1] | 17907 |---------------------------+------------------------+-------------------------| 17908 |glDrawBuffer[1] |glMultiTexCoord3svARB[1]|glVertex2fv[1] | 17909 |---------------------------+------------------------+-------------------------| 17910 |glDrawElements[1] |glMultiTexCoord4dARB[1] |glVertex2i[1] | 17911 |---------------------------+------------------------+-------------------------| 17912 |glDrawPixels[1] |glMultiTexCoord4dvARB[1]|glVertex2iv[1] | 17913 |---------------------------+------------------------+-------------------------| 17914 |glDrawRangeElements[1] |glMultiTexCoord4fARB[1] |glVertex2s[1] | 17915 |---------------------------+------------------------+-------------------------| 17916 |glEdgeFlag[1] |glMultiTexCoord4fvARB[1]|glVertex2sv[1] | 17917 |---------------------------+------------------------+-------------------------| 17918 |glEdgeFlagPointer[1] |glMultiTexCoord4iARB[1] |glVertex3d[1] | 17919 |---------------------------+------------------------+-------------------------| 17920 |glEdgeFlagv[1] |glMultiTexCoord4ivARB[1]|glVertex3dv[1] | 17921 |---------------------------+------------------------+-------------------------| 17922 |glEnable[1] |glMultiTexCoord4sARB[1] |glVertex3f[1] | 17923 |---------------------------+------------------------+-------------------------| 17924 |glEnableClientState[1] |glMultiTexCoord4svARB[1]|glVertex3fv[1] | 17925 |---------------------------+------------------------+-------------------------| 17926 |glEnd[1] |glNewList[1] |glVertex3i[1] | 17927 |---------------------------+------------------------+-------------------------| 17928 |glEndList[1] |glNormal3b[1] |glVertex3iv[1] | 17929 |---------------------------+------------------------+-------------------------| 17930 |glEvalCoord1d[1] |glNormal3bv[1] |glVertex3s[1] | 17931 |---------------------------+------------------------+-------------------------| 17932 |glEvalCoord1dv[1] |glNormal3d[1] |glVertex3sv[1] | 17933 |---------------------------+------------------------+-------------------------| 17934 |glEvalCoord1f[1] |glNormal3dv[1] |glVertex4d[1] | 17935 |---------------------------+------------------------+-------------------------| 17936 |glEvalCoord1fv[1] |glNormal3f[1] |glVertex4dv[1] | 17937 |---------------------------+------------------------+-------------------------| 17938 |glEvalCoord2d[1] |glNormal3fv[1] |glVertex4f[1] | 17939 |---------------------------+------------------------+-------------------------| 17940 |glEvalCoord2dv[1] |glNormal3i[1] |glVertex4fv[1] | 17941 |---------------------------+------------------------+-------------------------| 17942 |glEvalCoord2f[1] |glNormal3iv[1] |glVertex4i[1] | 17943 |---------------------------+------------------------+-------------------------| 17944 |glEvalCoord2fv[1] |glNormal3s[1] |glVertex4iv[1] | 17945 |---------------------------+------------------------+-------------------------| 17946 |glEvalMesh1[1] |glNormal3sv[1] |glVertex4s[1] | 17947 |---------------------------+------------------------+-------------------------| 17948 |glEvalMesh2[1] |glNormalPointer[1] |glVertex4sv[1] | 17949 |---------------------------+------------------------+-------------------------| 17950 |glEvalPoint1[1] |glOrtho[1] |glVertexPointer[1] | 17951 |---------------------------+------------------------+-------------------------| 17952 |glEvalPoint2[1] |glPassThrough[1] |glViewport[1] | 17953 |---------------------------+------------------------+-------------------------| 17954 |glFeedbackBuffer[1] |glPixelMapfv[1] |glXChooseFBConfig[1] | 17955 |---------------------------+------------------------+-------------------------| 17956 |glFinish[1] |glPixelMapuiv[1] |glXChooseVisual[1] | 17957 |---------------------------+------------------------+-------------------------| 17958 |glFlush[1] |glPixelMapusv[1] |glXCopyContext[1] | 17959 |---------------------------+------------------------+-------------------------| 17960 |glFogf[1] |glPixelStoref[1] |glXCreateContext[1] | 17961 |---------------------------+------------------------+-------------------------| 17962 |glFogfv[1] |glPixelStorei[1] |glXCreateGLXPixmap[1] | 17963 |---------------------------+------------------------+-------------------------| 17964 |glFogi[1] |glPixelTransferf[1] |glXCreateNewContext[1] | 17965 |---------------------------+------------------------+-------------------------| 17966 |glFogiv[1] |glPixelTransferi[1] |glXCreatePbuffer[1] | 17967 |---------------------------+------------------------+-------------------------| 17968 |glFrontFace[1] |glPixelZoom[1] |glXCreatePixmap[1] | 17969 |---------------------------+------------------------+-------------------------| 17970 |glFrustum[1] |glPointSize[1] |glXCreateWindow[1] | 17971 |---------------------------+------------------------+-------------------------| 17972 |glGenLists[1] |glPolygonMode[1] |glXDestroyContext[1] | 17973 |---------------------------+------------------------+-------------------------| 17974 |glGenTextures[1] |glPolygonOffset[1] |glXDestroyGLXPixmap[1] | 17975 |---------------------------+------------------------+-------------------------| 17976 |glGetBooleanv[1] |glPolygonStipple[1] |glXDestroyPbuffer[1] | 17977 |---------------------------+------------------------+-------------------------| 17978 |glGetClipPlane[1] |glPopAttrib[1] |glXDestroyPixmap[1] | 17979 |---------------------------+------------------------+-------------------------| 17980 |glGetColorTable[1] |glPopClientAttrib[1] |glXDestroyWindow[1] | 17981 |---------------------------+------------------------+-------------------------| 17982 |glGetColorTableParameterfv |glPopMatrix[1] |glXFreeContextEXT[1] | 17983 |[1] | | | 17984 |---------------------------+------------------------+-------------------------| 17985 |glGetColorTableParameteriv |glPopName[1] |glXGetClientString[1] | 17986 |[1] | | | 17987 |---------------------------+------------------------+-------------------------| 17988 |glGetConvolutionFilter[1] |glPrioritizeTextures[1] |glXGetConfig[1] | 17989 |---------------------------+------------------------+-------------------------| 17990 |glGetConvolutionParameterfv|glPushAttrib[1] |glXGetContextIDEXT[1] | 17991 |[1] | | | 17992 |---------------------------+------------------------+-------------------------| 17993 |glGetConvolutionParameteriv|glPushClientAttrib[1] |glXGetCurrentContext[1] | 17994 |[1] | | | 17995 |---------------------------+------------------------+-------------------------| 17996 |glGetDoublev[1] |glPushMatrix[1] |glXGetCurrentDisplay[1] | 17997 |---------------------------+------------------------+-------------------------| 17998 |glGetError[1] |glPushName[1] |glXGetCurrentDrawable[1] | 17999 |---------------------------+------------------------+-------------------------| 18000 |glGetFloatv[1] |glRasterPos2d[1] |glXGetCurrentReadDrawable| 18001 | | |[1] | 18002 |---------------------------+------------------------+-------------------------| 18003 |glGetHistogram[1] |glRasterPos2dv[1] |glXGetFBConfigAttrib[1] | 18004 |---------------------------+------------------------+-------------------------| 18005 |glGetHistogramParameterfv |glRasterPos2f[1] |glXGetProcAddressARB[1] | 18006 |[1] | | | 18007 |---------------------------+------------------------+-------------------------| 18008 |glGetHistogramParameteriv |glRasterPos2fv[1] |glXGetSelectedEvent[1] | 18009 |[1] | | | 18010 |---------------------------+------------------------+-------------------------| 18011 |glGetIntegerv[1] |glRasterPos2i[1] |glXGetVisualFromFBConfig | 18012 | | |[1] | 18013 |---------------------------+------------------------+-------------------------| 18014 |glGetLightfv[1] |glRasterPos2iv[1] |glXImportContextEXT[1] | 18015 |---------------------------+------------------------+-------------------------| 18016 |glGetLightiv[1] |glRasterPos2s[1] |glXIsDirect[1] | 18017 |---------------------------+------------------------+-------------------------| 18018 |glGetMapdv[1] |glRasterPos2sv[1] |glXMakeContextCurrent[1] | 18019 |---------------------------+------------------------+-------------------------| 18020 |glGetMapfv[1] |glRasterPos3d[1] |glXMakeCurrent[1] | 18021 |---------------------------+------------------------+-------------------------| 18022 |glGetMapiv[1] |glRasterPos3dv[1] |glXQueryContext[1] | 18023 |---------------------------+------------------------+-------------------------| 18024 |glGetMaterialfv[1] |glRasterPos3f[1] |glXQueryContextInfoEXT[1]| 18025 |---------------------------+------------------------+-------------------------| 18026 |glGetMaterialiv[1] |glRasterPos3fv[1] |glXQueryDrawable[1] | 18027 |---------------------------+------------------------+-------------------------| 18028 |glGetMinmax[1] |glRasterPos3i[1] |glXQueryExtension[1] | 18029 |---------------------------+------------------------+-------------------------| 18030 |glGetMinmaxParameterfv[1] |glRasterPos3iv[1] |glXQueryExtensionsString | 18031 | | |[1] | 18032 |---------------------------+------------------------+-------------------------| 18033 |glGetMinmaxParameteriv[1] |glRasterPos3s[1] |glXQueryServerString[1] | 18034 |---------------------------+------------------------+-------------------------| 18035 |glGetPixelMapfv[1] |glRasterPos3sv[1] |glXQueryVersion[1] | 18036 |---------------------------+------------------------+-------------------------| 18037 |glGetPixelMapuiv[1] |glRasterPos4d[1] |glXSelectEvent[1] | 18038 |---------------------------+------------------------+-------------------------| 18039 |glGetPixelMapusv[1] |glRasterPos4dv[1] |glXSwapBuffers[1] | 18040 |---------------------------+------------------------+-------------------------| 18041 |glGetPointerv[1] |glRasterPos4f[1] |glXUseXFont[1] | 18042 |---------------------------+------------------------+-------------------------| 18043 |glGetPolygonStipple[1] |glRasterPos4fv[1] |glXWaitGL[1] | 18044 |---------------------------+------------------------+-------------------------| 18045 |glGetSeparableFilter[1] |glRasterPos4i[1] |glXWaitX[1] | 18046 +------------------------------------------------------------------------------+ 18047 ------------------------------------------------------------------------------- 18048 18049 libXext 18050 18051 The behaviour of the interfaces in this library is specified by the following 18052 Standards. 18053 18054 18055 18056 Table A-8. libXext Function Interfaces 18057 18058 +--------------------------------------------------------------------------------------+ 18059 |DPMSCapable[1] |XShmCreateImage[1] |XSyncQueryExtension[1] | 18060 |------------------------------+--------------------------+----------------------------| 18061 |DPMSDisable[1] |XShmCreatePixmap[1] |XSyncSetCounter[1] | 18062 |------------------------------+--------------------------+----------------------------| 18063 |DPMSEnable[1] |XShmDetach[1] |XSyncSetPriority[1] | 18064 |------------------------------+--------------------------+----------------------------| 18065 |DPMSForceLevel[1] |XShmGetEventBase[1] |XSyncValueAdd[1] | 18066 |------------------------------+--------------------------+----------------------------| 18067 |DPMSGetTimeouts[1] |XShmGetImage[1] |XSyncValueEqual[1] | 18068 |------------------------------+--------------------------+----------------------------| 18069 |DPMSGetVersion[1] |XShmPixmapFormat[1] |XSyncValueGreaterOrEqual[1] | 18070 |------------------------------+--------------------------+----------------------------| 18071 |DPMSInfo[1] |XShmPutImage[1] |XSyncValueGreaterThan[1] | 18072 |------------------------------+--------------------------+----------------------------| 18073 |DPMSQueryExtension[1] |XShmQueryExtension[1] |XSyncValueHigh32[1] | 18074 |------------------------------+--------------------------+----------------------------| 18075 |DPMSSetTimeouts[1] |XShmQueryVersion[1] |XSyncValueIsNegative[1] | 18076 |------------------------------+--------------------------+----------------------------| 18077 |XSecurityAllocXauth[1] |XSyncAwait[1] |XSyncValueIsPositive[1] | 18078 |------------------------------+--------------------------+----------------------------| 18079 |XSecurityFreeXauth[1] |XSyncChangeAlarm[1] |XSyncValueIsZero[1] | 18080 |------------------------------+--------------------------+----------------------------| 18081 |XSecurityGenerateAuthorization|XSyncChangeCounter[1] |XSyncValueLessOrEqual[1] | 18082 |[1] | | | 18083 |------------------------------+--------------------------+----------------------------| 18084 |XSecurityQueryExtension[1] |XSyncCreateAlarm[1] |XSyncValueLessThan[1] | 18085 |------------------------------+--------------------------+----------------------------| 18086 |XSecurityRevokeAuthorization |XSyncCreateCounter[1] |XSyncValueLow32[1] | 18087 |[1] | | | 18088 |------------------------------+--------------------------+----------------------------| 18089 |XShapeCombineMask[1] |XSyncDestroyAlarm[1] |XSyncValueSubtract[1] | 18090 |------------------------------+--------------------------+----------------------------| 18091 |XShapeCombineRectangles[1] |XSyncDestroyCounter[1] |XdbeAllocateBackBufferName | 18092 | | |[1] | 18093 |------------------------------+--------------------------+----------------------------| 18094 |XShapeCombineRegion[1] |XSyncFreeSystemCounterList|XdbeBeginIdiom[1] | 18095 | |[1] | | 18096 |------------------------------+--------------------------+----------------------------| 18097 |XShapeCombineShape[1] |XSyncGetPriority[1] |XdbeDeallocateBackBufferName| 18098 | | |[1] | 18099 |------------------------------+--------------------------+----------------------------| 18100 |XShapeGetRectangles[1] |XSyncInitialize[1] |XdbeEndIdiom[1] | 18101 |------------------------------+--------------------------+----------------------------| 18102 |XShapeInputSelected[1] |XSyncIntToValue[1] |XdbeFreeVisualInfo[1] | 18103 |------------------------------+--------------------------+----------------------------| 18104 |XShapeOffsetShape[1] |XSyncIntsToValue[1] |XdbeGetBackBufferAttributes | 18105 | | |[1] | 18106 |------------------------------+--------------------------+----------------------------| 18107 |XShapeQueryExtension[1] |XSyncListSystemCounters[1]|XdbeGetVisualInfo[1] | 18108 |------------------------------+--------------------------+----------------------------| 18109 |XShapeQueryExtents[1] |XSyncMaxValue[1] |XdbeQueryExtension[1] | 18110 |------------------------------+--------------------------+----------------------------| 18111 |XShapeQueryVersion[1] |XSyncMinValue[1] |XdbeSwapBuffers[1] | 18112 |------------------------------+--------------------------+----------------------------| 18113 |XShapeSelectInput[1] |XSyncQueryAlarm[1] | | 18114 |------------------------------+--------------------------+----------------------------| 18115 |XShmAttach[1] |XSyncQueryCounter[1] | | 18116 +--------------------------------------------------------------------------------------+ 18117 ------------------------------------------------------------------------------- 18118 18119 libICE 18120 18121 The behaviour of the interfaces in this library is specified by the following 18122 Standards. 18123 18124 18125 18126 Table A-9. libICE Function Interfaces 18127 18128 +----------------------------------------------------------------------------------------+ 18129 |IceAcceptConnection[1] |IceGetConnectionContext[1] |IceProtocolVersion[1] | 18130 |---------------------------+--------------------------------+---------------------------| 18131 |IceAddConnectionWatch[1] |IceGetInBufSize[1] |IceReadAuthFileEntry[1] | 18132 |---------------------------+--------------------------------+---------------------------| 18133 |IceAllocScratch[1] |IceGetListenConnectionNumber[1] |IceRegisterForProtocolReply| 18134 | | |[1] | 18135 |---------------------------+--------------------------------+---------------------------| 18136 |IceAppLockConn[1] |IceGetListenConnectionString[1] |IceRegisterForProtocolSetup| 18137 | | |[1] | 18138 |---------------------------+--------------------------------+---------------------------| 18139 |IceAppUnlockConn[1] |IceGetOutBufSize[1] |IceRelease[1] | 18140 |---------------------------+--------------------------------+---------------------------| 18141 |IceAuthFileName[1] |IceInitThreads[1] |IceRemoveConnectionWatch[1]| 18142 |---------------------------+--------------------------------+---------------------------| 18143 |IceCheckShutdownNegotiation|IceLastReceivedSequenceNumber[1]|IceSetErrorHandler[1] | 18144 |[1] | | | 18145 |---------------------------+--------------------------------+---------------------------| 18146 |IceCloseConnection[1] |IceLastSentSequenceNumber[1] |IceSetHostBasedAuthProc[1] | 18147 |---------------------------+--------------------------------+---------------------------| 18148 |IceComposeNetworkIdList[1] |IceListenForConnections[1] |IceSetIOErrorHandler[1] | 18149 |---------------------------+--------------------------------+---------------------------| 18150 |IceConnectionNumber[1] |IceListenForWellKnownConnections|IceSetPaAuthData[1] | 18151 | |[1] | | 18152 |---------------------------+--------------------------------+---------------------------| 18153 |IceConnectionStatus[1] |IceLockAuthFile[1] |IceSetShutdownNegotiation | 18154 | | |[1] | 18155 |---------------------------+--------------------------------+---------------------------| 18156 |IceConnectionString[1] |IceOpenConnection[1] |IceSwapping[1] | 18157 |---------------------------+--------------------------------+---------------------------| 18158 |IceFlush[1] |IcePing[1] |IceUnlockAuthFile[1] | 18159 |---------------------------+--------------------------------+---------------------------| 18160 |IceFreeAuthFileEntry[1] |IceProcessMessages[1] |IceVendor[1] | 18161 |---------------------------+--------------------------------+---------------------------| 18162 |IceFreeListenObjs[1] |IceProtocolRevision[1] |IceWriteAuthFileEntry[1] | 18163 |---------------------------+--------------------------------+---------------------------| 18164 |IceGenerateMagicCookie[1] |IceProtocolSetup[1] | | 18165 |---------------------------+--------------------------------+---------------------------| 18166 |IceGetAuthFileEntry[1] |IceProtocolShutdown[1] | | 18167 +----------------------------------------------------------------------------------------+ 18168 ------------------------------------------------------------------------------- 18169 18170 libSM 18171 18172 The behaviour of the interfaces in this library is specified by the following 18173 Standards. 18174 18175 18176 18177 Table A-10. libSM Function Interfaces 18178 18179 +-----------------------------------------------------------------------------+ 18180 |SmFreeProperty[1] |SmcRelease[1] |SmsInitialize[1] | 18181 |---------------------+------------------------------+------------------------| 18182 |SmFreeReasons[1] |SmcRequestSaveYourself[1] |SmsInteract[1] | 18183 |---------------------+------------------------------+------------------------| 18184 |SmcClientID[1] |SmcRequestSaveYourselfPhase2 |SmsProtocolRevision[1] | 18185 | |[1] | | 18186 |---------------------+------------------------------+------------------------| 18187 |SmcCloseConnection[1]|SmcSaveYourselfDone[1] |SmsProtocolVersion[1] | 18188 |---------------------+------------------------------+------------------------| 18189 |SmcDeleteProperties |SmcSetErrorHandler[1] |SmsRegisterClientReply | 18190 |[1] | |[1] | 18191 |---------------------+------------------------------+------------------------| 18192 |SmcGetIceConnection |SmcSetProperties[1] |SmsReturnProperties[1] | 18193 |[1] | | | 18194 |---------------------+------------------------------+------------------------| 18195 |SmcGetProperties[1] |SmcVendor[1] |SmsSaveComplete[1] | 18196 |---------------------+------------------------------+------------------------| 18197 |SmcInteractDone[1] |SmsCleanUp[1] |SmsSaveYourself[1] | 18198 |---------------------+------------------------------+------------------------| 18199 |SmcInteractRequest[1]|SmsClientHostName[1] |SmsSaveYourselfPhase2[1]| 18200 |---------------------+------------------------------+------------------------| 18201 |SmcModifyCallbacks[1]|SmsClientID[1] |SmsSetErrorHandler[1] | 18202 |---------------------+------------------------------+------------------------| 18203 |SmcOpenConnection[1] |SmsDie[1] |SmsShutdownCancelled[1] | 18204 |---------------------+------------------------------+------------------------| 18205 |SmcProtocolRevision |SmsGenerateClientID[1] | | 18206 |[1] | | | 18207 |---------------------+------------------------------+------------------------| 18208 |SmcProtocolVersion[1]|SmsGetIceConnection[1] | | 18209 +-----------------------------------------------------------------------------+ 18210 ------------------------------------------------------------------------------- 18211 18212 libdl 18213 18214 The behaviour of the interfaces in this library is specified by the following 18215 Standards. 18216 18217 Linux Standard Base 18218 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 18219 Specification(SUS) V3 18220 18221 Table A-11. libdl Function Interfaces 18222 18223 +---------------------------------------------------------------+ 18224 |dladdr(GLIBC_2.0)[1] |dlerror(GLIBC_2.0)[1]|dlsym(GLIBC_2.0)[1]| 18225 |---------------------+---------------------+-------------------| 18226 |dlclose(GLIBC_2.0)[1]|dlopen(GLIBC_2.0)[1] | | 18227 +---------------------------------------------------------------+ 18228 ------------------------------------------------------------------------------- 18229 18230 libcrypt 18231 18232 The behaviour of the interfaces in this library is specified by the following 18233 Standards. 18234 18235 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 18236 Specification(SUS) V3 18237 18238 Table A-12. libcrypt Function Interfaces 18239 18240 +--------------------------------------------------------------+ 18241 |crypt(GLIBC_2.0)[1]|encrypt(GLIBC_2.0)[1]|setkey(GLIBC_2.0)[1]| 18242 +--------------------------------------------------------------+ 18243 ------------------------------------------------------------------------------- 18244 18245 libz 18246 18247 The behaviour of the interfaces in this library is specified by the following 18248 Standards. 18249 18250 zlib 1.2 Manual 18251 18252 Table A-13. libz Function Interfaces 18253 18254 +--------------------------------------------------------------+ 18255 |adler32[1] |gzdopen[1] |gztell[1] | 18256 |-----------------------+--------------+-----------------------| 18257 |compress[1] |gzeof[1] |gzwrite[1] | 18258 |-----------------------+--------------+-----------------------| 18259 |compress2[1] |gzerror[1] |inflate[1] | 18260 |-----------------------+--------------+-----------------------| 18261 |crc32[1] |gzflush[1] |inflateEnd[1] | 18262 |-----------------------+--------------+-----------------------| 18263 |deflate[1] |gzgetc[1] |inflateInit2_[1] | 18264 |-----------------------+--------------+-----------------------| 18265 |deflateCopy[1] |gzgets[1] |inflateInit_[1] | 18266 |-----------------------+--------------+-----------------------| 18267 |deflateEnd[1] |gzopen[1] |inflateReset[1] | 18268 |-----------------------+--------------+-----------------------| 18269 |deflateInit2_[1] |gzprintf[1] |inflateSetDictionary[1]| 18270 |-----------------------+--------------+-----------------------| 18271 |deflateInit_[1] |gzputc[1] |inflateSync[1] | 18272 |-----------------------+--------------+-----------------------| 18273 |deflateParams[1] |gzputs[1] |inflateSyncPoint[1] | 18274 |-----------------------+--------------+-----------------------| 18275 |deflateReset[1] |gzread[1] |uncompress[1] | 18276 |-----------------------+--------------+-----------------------| 18277 |deflateSetDictionary[1]|gzrewind[1] |zError[1] | 18278 |-----------------------+--------------+-----------------------| 18279 |get_crc_table[1] |gzseek[1] | | 18280 |-----------------------+--------------+-----------------------| 18281 |gzclose[1] |gzsetparams[1]| | 18282 +--------------------------------------------------------------+ 18283 ------------------------------------------------------------------------------- 18284 18285 libncurses 18286 18287 The behaviour of the interfaces in this library is specified by the following 18288 Standards. 18289 18290 CAE Specification, May 1996, X/Open Curses, Issue 4, Version 2 (ISBN: 18291 1-85912-171-3, C610), plus Corrigendum U018 18292 18293 Table A-14. libncurses Function Interfaces 18294 18295 +-------------------------------------------------------+ 18296 |addch[1] |mvdelch[1] |slk_refresh[1] | 18297 |-------------------+-------------------+---------------| 18298 |addchnstr[1] |mvderwin[1] |slk_restore[1] | 18299 |-------------------+-------------------+---------------| 18300 |addchstr[1] |mvgetch[1] |slk_set[1] | 18301 |-------------------+-------------------+---------------| 18302 |addnstr[1] |mvgetnstr[1] |slk_touch[1] | 18303 |-------------------+-------------------+---------------| 18304 |addstr[1] |mvgetstr[1] |standend[1] | 18305 |-------------------+-------------------+---------------| 18306 |attr_get[1] |mvhline[1] |standout[1] | 18307 |-------------------+-------------------+---------------| 18308 |attr_off[1] |mvinch[1] |start_color[1] | 18309 |-------------------+-------------------+---------------| 18310 |attr_on[1] |mvinchnstr[1] |subpad[1] | 18311 |-------------------+-------------------+---------------| 18312 |attr_set[1] |mvinchstr[1] |subwin[1] | 18313 |-------------------+-------------------+---------------| 18314 |attroff[1] |mvinnstr[1] |syncok[1] | 18315 |-------------------+-------------------+---------------| 18316 |attron[1] |mvinsch[1] |termattrs[1] | 18317 |-------------------+-------------------+---------------| 18318 |attrset[1] |mvinsnstr[1] |termname[1] | 18319 |-------------------+-------------------+---------------| 18320 |baudrate[1] |mvinsstr[1] |tgetent[1] | 18321 |-------------------+-------------------+---------------| 18322 |beep[1] |mvinstr[1] |tgetflag[1] | 18323 |-------------------+-------------------+---------------| 18324 |bkgd[1] |mvprintw[1] |tgetnum[1] | 18325 |-------------------+-------------------+---------------| 18326 |bkgdset[1] |mvscanw[1] |tgetstr[1] | 18327 |-------------------+-------------------+---------------| 18328 |border[1] |mvvline[1] |tgoto[1] | 18329 |-------------------+-------------------+---------------| 18330 |box[1] |mvwaddch[1] |tigetflag[1] | 18331 |-------------------+-------------------+---------------| 18332 |can_change_color[1]|mvwaddchnstr[1] |tigetnum[1] | 18333 |-------------------+-------------------+---------------| 18334 |cbreak[1] |mvwaddchstr[1] |tigetstr[1] | 18335 |-------------------+-------------------+---------------| 18336 |chgat[1] |mvwaddnstr[1] |timeout[1] | 18337 |-------------------+-------------------+---------------| 18338 |clear[1] |mvwaddstr[1] |touchline[1] | 18339 |-------------------+-------------------+---------------| 18340 |clearok[1] |mvwchgat[1] |touchwin[1] | 18341 |-------------------+-------------------+---------------| 18342 |clrtobot[1] |mvwdelch[1] |tparm[1] | 18343 |-------------------+-------------------+---------------| 18344 |clrtoeol[1] |mvwgetch[1] |tputs[1] | 18345 |-------------------+-------------------+---------------| 18346 |color_content[1] |mvwgetnstr[1] |typeahead[1] | 18347 |-------------------+-------------------+---------------| 18348 |color_set[1] |mvwgetstr[1] |unctrl[1] | 18349 |-------------------+-------------------+---------------| 18350 |copywin[1] |mvwhline[1] |ungetch[1] | 18351 |-------------------+-------------------+---------------| 18352 |curs_set[1] |mvwin[1] |untouchwin[1] | 18353 |-------------------+-------------------+---------------| 18354 |def_prog_mode[1] |mvwinch[1] |use_env[1] | 18355 |-------------------+-------------------+---------------| 18356 |def_shell_mode[1] |mvwinchnstr[1] |vidattr[1] | 18357 |-------------------+-------------------+---------------| 18358 |del_curterm[1] |mvwinchstr[1] |vidputs[1] | 18359 |-------------------+-------------------+---------------| 18360 |delay_output[1] |mvwinnstr[1] |vline[1] | 18361 |-------------------+-------------------+---------------| 18362 |delch[1] |mvwinsch[1] |vw_printw[1] | 18363 |-------------------+-------------------+---------------| 18364 |deleteln[1] |mvwinsnstr[1] |vw_scanw[1] | 18365 |-------------------+-------------------+---------------| 18366 |delscreen[1] |mvwinsstr[1] |vwprintw[1] | 18367 |-------------------+-------------------+---------------| 18368 |delwin[1] |mvwinstr[1] |vwscanw[1] | 18369 |-------------------+-------------------+---------------| 18370 |derwin[1] |mvwprintw[1] |waddch[1] | 18371 |-------------------+-------------------+---------------| 18372 |doupdate[1] |mvwscanw[1] |waddchnstr[1] | 18373 |-------------------+-------------------+---------------| 18374 |dupwin[1] |mvwvline[1] |waddchstr[1] | 18375 |-------------------+-------------------+---------------| 18376 |echo[1] |napms[1] |waddnstr[1] | 18377 |-------------------+-------------------+---------------| 18378 |echochar[1] |newpad[1] |waddstr[1] | 18379 |-------------------+-------------------+---------------| 18380 |endwin[1] |newterm[1] |wattr_get[1] | 18381 |-------------------+-------------------+---------------| 18382 |erase[1] |newwin[1] |wattr_off[1] | 18383 |-------------------+-------------------+---------------| 18384 |erasechar[1] |nl[1] |wattr_on[1] | 18385 |-------------------+-------------------+---------------| 18386 |filter[1] |nocbreak[1] |wattr_set[1] | 18387 |-------------------+-------------------+---------------| 18388 |flash[1] |nodelay[1] |wattroff[1] | 18389 |-------------------+-------------------+---------------| 18390 |flushinp[1] |noecho[1] |wattron[1] | 18391 |-------------------+-------------------+---------------| 18392 |getbkgd[1] |nonl[1] |wattrset[1] | 18393 |-------------------+-------------------+---------------| 18394 |getch[1] |noqiflush[1] |wbkgd[1] | 18395 |-------------------+-------------------+---------------| 18396 |getnstr[1] |noraw[1] |wbkgdset[1] | 18397 |-------------------+-------------------+---------------| 18398 |getstr[1] |notimeout[1] |wborder[1] | 18399 |-------------------+-------------------+---------------| 18400 |getwin[1] |overlay[1] |wchgat[1] | 18401 |-------------------+-------------------+---------------| 18402 |halfdelay[1] |overwrite[1] |wclear[1] | 18403 |-------------------+-------------------+---------------| 18404 |has_colors[1] |pair_content[1] |wclrtobot[1] | 18405 |-------------------+-------------------+---------------| 18406 |has_ic[1] |pechochar[1] |wclrtoeol[1] | 18407 |-------------------+-------------------+---------------| 18408 |has_il[1] |pnoutrefresh[1] |wcolor_set[1] | 18409 |-------------------+-------------------+---------------| 18410 |hline[1] |prefresh[1] |wcursyncup[1] | 18411 |-------------------+-------------------+---------------| 18412 |idcok[1] |printw[1] |wdelch[1] | 18413 |-------------------+-------------------+---------------| 18414 |idlok[1] |putp[1] |wdeleteln[1] | 18415 |-------------------+-------------------+---------------| 18416 |immedok[1] |putwin[1] |wechochar[1] | 18417 |-------------------+-------------------+---------------| 18418 |inch[1] |qiflush[1] |werase[1] | 18419 |-------------------+-------------------+---------------| 18420 |inchnstr[1] |raw[1] |wgetch[1] | 18421 |-------------------+-------------------+---------------| 18422 |inchstr[1] |redrawwin[1] |wgetnstr[1] | 18423 |-------------------+-------------------+---------------| 18424 |init_color[1] |refresh[1] |wgetstr[1] | 18425 |-------------------+-------------------+---------------| 18426 |init_pair[1] |reset_prog_mode[1] |whline[1] | 18427 |-------------------+-------------------+---------------| 18428 |initscr[1] |reset_shell_mode[1]|winch[1] | 18429 |-------------------+-------------------+---------------| 18430 |innstr[1] |resetty[1] |winchnstr[1] | 18431 |-------------------+-------------------+---------------| 18432 |insch[1] |restartterm[1] |winchstr[1] | 18433 |-------------------+-------------------+---------------| 18434 |insdelln[1] |ripoffline[1] |winnstr[1] | 18435 |-------------------+-------------------+---------------| 18436 |insertln[1] |savetty[1] |winsch[1] | 18437 |-------------------+-------------------+---------------| 18438 |insnstr[1] |scanw[1] |winsdelln[1] | 18439 |-------------------+-------------------+---------------| 18440 |insstr[1] |scr_dump[1] |winsertln[1] | 18441 |-------------------+-------------------+---------------| 18442 |instr[1] |scr_init[1] |winsnstr[1] | 18443 |-------------------+-------------------+---------------| 18444 |intrflush[1] |scr_restore[1] |winsstr[1] | 18445 |-------------------+-------------------+---------------| 18446 |is_linetouched[1] |scr_set[1] |winstr[1] | 18447 |-------------------+-------------------+---------------| 18448 |is_wintouched[1] |scrl[1] |wmove[1] | 18449 |-------------------+-------------------+---------------| 18450 |isendwin[1] |scroll[1] |wnoutrefresh[1]| 18451 |-------------------+-------------------+---------------| 18452 |keyname[1] |scrollok[1] |wprintw[1] | 18453 |-------------------+-------------------+---------------| 18454 |keypad[1] |set_curterm[1] |wredrawln[1] | 18455 |-------------------+-------------------+---------------| 18456 |killchar[1] |set_term[1] |wrefresh[1] | 18457 |-------------------+-------------------+---------------| 18458 |leaveok[1] |setscrreg[1] |wscanw[1] | 18459 |-------------------+-------------------+---------------| 18460 |longname[1] |setupterm[1] |wscrl[1] | 18461 |-------------------+-------------------+---------------| 18462 |meta[1] |slk_attr_set[1] |wsetscrreg[1] | 18463 |-------------------+-------------------+---------------| 18464 |move[1] |slk_attroff[1] |wstandend[1] | 18465 |-------------------+-------------------+---------------| 18466 |mvaddch[1] |slk_attron[1] |wstandout[1] | 18467 |-------------------+-------------------+---------------| 18468 |mvaddchnstr[1] |slk_attrset[1] |wsyncdown[1] | 18469 |-------------------+-------------------+---------------| 18470 |mvaddchstr[1] |slk_clear[1] |wsyncup[1] | 18471 |-------------------+-------------------+---------------| 18472 |mvaddnstr[1] |slk_color[1] |wtimeout[1] | 18473 |-------------------+-------------------+---------------| 18474 |mvaddstr[1] |slk_init[1] |wtouchln[1] | 18475 |-------------------+-------------------+---------------| 18476 |mvchgat[1] |slk_label[1] |wvline[1] | 18477 |-------------------+-------------------+---------------| 18478 |mvcur[1] |slk_noutrefresh[1] | | 18479 +-------------------------------------------------------+ 18480 18481 Table A-15. libncurses Data Interfaces 18482 18483 +-------------------------------+ 18484 |COLORS |LINES |curscr | 18485 |-------------+---------+-------| 18486 |COLOR_PAIRS |acs_map |stdscr | 18487 |-------------+---------+-------| 18488 |COLS |cur_term | | 18489 +-------------------------------+ 18490 ------------------------------------------------------------------------------- 18491 18492 libutil 18493 18494 The behaviour of the interfaces in this library is specified by the following 18495 Standards. 18496 18497 Linux Standard Base 18498 18499 Table A-16. libutil Function Interfaces 18500 18501 +-------------------------------------------------------------------+ 18502 |forkpty(GLIBC_2.0)[1]|login_tty(GLIBC_2.0)[1]|logwtmp(GLIBC_2.0)[1]| 18503 |---------------------+-----------------------+---------------------| 18504 |login(GLIBC_2.0)[1] |logout(GLIBC_2.0)[1] |openpty(GLIBC_2.0)[1]| 18505 +-------------------------------------------------------------------+ 18506 ------------------------------------------------------------------------------- 18507 18508 libc 18509 18510 The behaviour of the interfaces in this library is specified by the following 18511 Standards. 18512 18513 ISO/IEC 9899: 1999, Programming Languages --C 18514 Large File Support 18515 Linux Standard Base 18516 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 18517 (ISBN: 1-85912-181-0, C606) 18518 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 18519 Specification(SUS) V3 18520 System V Interface Definition, Issue 3 (ISBN 0201566524) 18521 System V Interface Definition,Fourth Edition 18522 18523 Table A-17. libc Function Interfaces 18524 18525 +-----------------------------------------------------------------------------+ 18526 |_Exit(GLIBC_2.1.1)[1] |getrusage(GLIBC_2.1.1)[1] |sigaddset(GLIBC_2.1.1) | 18527 | | |[1] | 18528 |--------------------------+--------------------------+-----------------------| 18529 |_IO_feof(GLIBC_2.0)[1] |getservbyname(GLIBC_2.0) |sigaltstack(GLIBC_2.0) | 18530 | |[1] |[1] | 18531 |--------------------------+--------------------------+-----------------------| 18532 |_IO_getc(GLIBC_2.0)[1] |getservbyport(GLIBC_2.0) |sigandset(GLIBC_2.0)[1]| 18533 | |[1] | | 18534 |--------------------------+--------------------------+-----------------------| 18535 |_IO_putc(GLIBC_2.0)[1] |getservent(GLIBC_2.0)[1] |sigblock(GLIBC_2.0)[1] | 18536 |--------------------------+--------------------------+-----------------------| 18537 |_IO_puts(GLIBC_2.0)[1] |getsid(GLIBC_2.0)[1] |sigdelset(GLIBC_2.0)[1]| 18538 |--------------------------+--------------------------+-----------------------| 18539 |__assert_fail(GLIBC_2.0) |getsockname(GLIBC_2.0)[1] |sigemptyset(GLIBC_2.0) | 18540 |[1] | |[1] | 18541 |--------------------------+--------------------------+-----------------------| 18542 |__ctype_b_loc[1] |getsockopt()[1] |sigfillset()[1] | 18543 |--------------------------+--------------------------+-----------------------| 18544 |__ctype_get_mb_cur_max |getsubopt(GLIBC_2.0)[1] |siggetmask(GLIBC_2.0) | 18545 |(GLIBC_2.0)[1] | |[1] | 18546 |--------------------------+--------------------------+-----------------------| 18547 |__ctype_tolower_loc[1] |gettext()[1] |sighold()[1] | 18548 |--------------------------+--------------------------+-----------------------| 18549 |__ctype_toupper_loc[1] |gettimeofday()[1] |sigignore()[1] | 18550 |--------------------------+--------------------------+-----------------------| 18551 |__cxa_atexit(GLIBC_2.1.3) |getuid(GLIBC_2.1.3)[1] |siginterrupt | 18552 |[1] | |(GLIBC_2.1.3)[1] | 18553 |--------------------------+--------------------------+-----------------------| 18554 |__errno_location |getutent(GLIBC_2.0)[1] |sigisemptyset | 18555 |(GLIBC_2.0)[1] | |(GLIBC_2.0)[1] | 18556 |--------------------------+--------------------------+-----------------------| 18557 |__fpending(GLIBC_2.2)[1] |getutent_r(GLIBC_2.2)[1] |sigismember(GLIBC_2.2) | 18558 | | |[1] | 18559 |--------------------------+--------------------------+-----------------------| 18560 |__fxstat(GLIBC_2.0)[1] |getutxent(GLIBC_2.0)[1] |siglongjmp(GLIBC_2.0) | 18561 | | |[1] | 18562 |--------------------------+--------------------------+-----------------------| 18563 |__fxstat64(GLIBC_2.2)[1] |getutxid(GLIBC_2.2)[1] |signal(GLIBC_2.2)[1] | 18564 |--------------------------+--------------------------+-----------------------| 18565 |__getpagesize(GLIBC_2.0) |getutxline(GLIBC_2.0)[1] |sigorset(GLIBC_2.0)[1] | 18566 |[1] | | | 18567 |--------------------------+--------------------------+-----------------------| 18568 |__getpgid(GLIBC_2.0)[1] |getw(GLIBC_2.0)[1] |sigpause(GLIBC_2.0)[1] | 18569 |--------------------------+--------------------------+-----------------------| 18570 |__h_errno_location[1] |getwc()[1] |sigpending()[1] | 18571 |--------------------------+--------------------------+-----------------------| 18572 |__isinf[1] |getwchar()[1] |sigprocmask()[1] | 18573 |--------------------------+--------------------------+-----------------------| 18574 |__isinff[1] |getwd()[1] |sigqueue()[1] | 18575 |--------------------------+--------------------------+-----------------------| 18576 |__isinfl[1] |glob()[1] |sigrelse()[1] | 18577 |--------------------------+--------------------------+-----------------------| 18578 |__isnan[1] |glob64()[1] |sigreturn()[1] | 18579 |--------------------------+--------------------------+-----------------------| 18580 |__isnanf[1] |globfree()[1] |sigset()[1] | 18581 |--------------------------+--------------------------+-----------------------| 18582 |__isnanl[1] |globfree64()[1] |sigstack()[1] | 18583 |--------------------------+--------------------------+-----------------------| 18584 |__libc_current_sigrtmax |gmtime(GLIBC_2.1)[1] |sigsuspend(GLIBC_2.1) | 18585 |(GLIBC_2.1)[1] | |[1] | 18586 |--------------------------+--------------------------+-----------------------| 18587 |__libc_current_sigrtmin |gmtime_r(GLIBC_2.1)[1] |sigtimedwait(GLIBC_2.1)| 18588 |(GLIBC_2.1)[1] | |[1] | 18589 |--------------------------+--------------------------+-----------------------| 18590 |__libc_start_main |grantpt(GLIBC_2.0)[1] |sigwait(GLIBC_2.0)[1] | 18591 |(GLIBC_2.0)[1] | | | 18592 |--------------------------+--------------------------+-----------------------| 18593 |__lxstat(GLIBC_2.0)[1] |hcreate(GLIBC_2.0)[1] |sigwaitinfo(GLIBC_2.0) | 18594 | | |[1] | 18595 |--------------------------+--------------------------+-----------------------| 18596 |__lxstat64(GLIBC_2.2)[1] |hdestroy(GLIBC_2.2)[1] |sleep(GLIBC_2.2)[1] | 18597 |--------------------------+--------------------------+-----------------------| 18598 |__mempcpy(GLIBC_2.0)[1] |hsearch(GLIBC_2.0)[1] |snprintf(GLIBC_2.0)[1] | 18599 |--------------------------+--------------------------+-----------------------| 18600 |__rawmemchr(GLIBC_2.1)[1] |htonl(GLIBC_2.1)[1] |socket(GLIBC_2.1)[1] | 18601 |--------------------------+--------------------------+-----------------------| 18602 |__register_atfork[1] |htons()[1] |socketpair()[1] | 18603 |--------------------------+--------------------------+-----------------------| 18604 |__sigsetjmp(GLIBC_2.0)[1] |iconv(GLIBC_2.0)[1] |sprintf(GLIBC_2.0)[1] | 18605 |--------------------------+--------------------------+-----------------------| 18606 |__stpcpy(GLIBC_2.0)[1] |iconv_close(GLIBC_2.0)[1] |srand(GLIBC_2.0)[1] | 18607 |--------------------------+--------------------------+-----------------------| 18608 |__strdup(GLIBC_2.0)[1] |iconv_open(GLIBC_2.0)[1] |srand48(GLIBC_2.0)[1] | 18609 |--------------------------+--------------------------+-----------------------| 18610 |__strtod_internal |imaxabs(GLIBC_2.0)[1] |srandom(GLIBC_2.0)[1] | 18611 |(GLIBC_2.0)[1] | | | 18612 |--------------------------+--------------------------+-----------------------| 18613 |__strtof_internal |imaxdiv(GLIBC_2.0)[1] |sscanf(GLIBC_2.0)[1] | 18614 |(GLIBC_2.0)[1] | | | 18615 |--------------------------+--------------------------+-----------------------| 18616 |__strtok_r(GLIBC_2.0)[1] |index(GLIBC_2.0)[1] |statvfs(GLIBC_2.0)[1] | 18617 |--------------------------+--------------------------+-----------------------| 18618 |__strtol_internal |inet_addr(GLIBC_2.0)[1] |statvfs64[1] | 18619 |(GLIBC_2.0)[1] | | | 18620 |--------------------------+--------------------------+-----------------------| 18621 |__strtold_internal |inet_ntoa(GLIBC_2.0)[1] |stime(GLIBC_2.0)[1] | 18622 |(GLIBC_2.0)[1] | | | 18623 |--------------------------+--------------------------+-----------------------| 18624 |__strtoll_internal |inet_ntop[1] |stpcpy(GLIBC_2.0)[1] | 18625 |(GLIBC_2.0)[1] | | | 18626 |--------------------------+--------------------------+-----------------------| 18627 |__strtoul_internal |inet_pton[1] |stpncpy(GLIBC_2.0)[1] | 18628 |(GLIBC_2.0)[1] | | | 18629 |--------------------------+--------------------------+-----------------------| 18630 |__strtoull_internal |initgroups(GLIBC_2.0)[1] |strcasecmp(GLIBC_2.0) | 18631 |(GLIBC_2.0)[1] | |[1] | 18632 |--------------------------+--------------------------+-----------------------| 18633 |__sysconf(GLIBC_2.2)[1] |initstate(GLIBC_2.2)[1] |strcasestr(GLIBC_2.2) | 18634 | | |[1] | 18635 |--------------------------+--------------------------+-----------------------| 18636 |__sysv_signal(GLIBC_2.0) |insque(GLIBC_2.0)[1] |strcat(GLIBC_2.0)[1] | 18637 |[1] | | | 18638 |--------------------------+--------------------------+-----------------------| 18639 |__wcstod_internal |ioctl(GLIBC_2.0)[1] |strchr(GLIBC_2.0)[1] | 18640 |(GLIBC_2.0)[1] | | | 18641 |--------------------------+--------------------------+-----------------------| 18642 |__wcstof_internal |isalnum(GLIBC_2.0)[1] |strcmp(GLIBC_2.0)[1] | 18643 |(GLIBC_2.0)[1] | | | 18644 |--------------------------+--------------------------+-----------------------| 18645 |__wcstol_internal |isalpha(GLIBC_2.0)[1] |strcoll(GLIBC_2.0)[1] | 18646 |(GLIBC_2.0)[1] | | | 18647 |--------------------------+--------------------------+-----------------------| 18648 |__wcstold_internal |isascii(GLIBC_2.0)[1] |strcpy(GLIBC_2.0)[1] | 18649 |(GLIBC_2.0)[1] | | | 18650 |--------------------------+--------------------------+-----------------------| 18651 |__wcstoul_internal |isatty(GLIBC_2.0)[1] |strcspn(GLIBC_2.0)[1] | 18652 |(GLIBC_2.0)[1] | | | 18653 |--------------------------+--------------------------+-----------------------| 18654 |__xmknod(GLIBC_2.0)[1] |isblank(GLIBC_2.0)[1] |strdup(GLIBC_2.0)[1] | 18655 |--------------------------+--------------------------+-----------------------| 18656 |__xstat(GLIBC_2.0)[1] |iscntrl(GLIBC_2.0)[1] |strerror(GLIBC_2.0)[1] | 18657 |--------------------------+--------------------------+-----------------------| 18658 |__xstat64(GLIBC_2.2)[1] |isdigit(GLIBC_2.2)[1] |strerror_r(GLIBC_2.2) | 18659 | | |[1] | 18660 |--------------------------+--------------------------+-----------------------| 18661 |_exit(GLIBC_2.0)[1] |isgraph(GLIBC_2.0)[1] |strfmon(GLIBC_2.0)[1] | 18662 |--------------------------+--------------------------+-----------------------| 18663 |_longjmp(GLIBC_2.0)[1] |isinf(GLIBC_2.0)[1] |strfry(GLIBC_2.0)[1] | 18664 |--------------------------+--------------------------+-----------------------| 18665 |_obstack_begin(GLIBC_2.0) |isinff[1] |strftime(GLIBC_2.0)[1] | 18666 |[1] | | | 18667 |--------------------------+--------------------------+-----------------------| 18668 |_obstack_newchunk |isinfl(GLIBC_2.0)[1] |strlen(GLIBC_2.0)[1] | 18669 |(GLIBC_2.0)[1] | | | 18670 |--------------------------+--------------------------+-----------------------| 18671 |_setjmp(GLIBC_2.0)[1] |islower(GLIBC_2.0)[1] |strncasecmp(GLIBC_2.0) | 18672 | | |[1] | 18673 |--------------------------+--------------------------+-----------------------| 18674 |_tolower(GLIBC_2.0)[1] |isnan(GLIBC_2.0)[1] |strncat(GLIBC_2.0)[1] | 18675 |--------------------------+--------------------------+-----------------------| 18676 |_toupper(GLIBC_2.0)[1] |isnanf(GLIBC_2.0)[1] |strncmp(GLIBC_2.0)[1] | 18677 |--------------------------+--------------------------+-----------------------| 18678 |a64l(GLIBC_2.0)[1] |isnanl(GLIBC_2.0)[1] |strncpy(GLIBC_2.0)[1] | 18679 |--------------------------+--------------------------+-----------------------| 18680 |abort(GLIBC_2.0)[1] |isprint(GLIBC_2.0)[1] |strndup(GLIBC_2.0)[1] | 18681 |--------------------------+--------------------------+-----------------------| 18682 |abs(GLIBC_2.0)[1] |ispunct(GLIBC_2.0)[1] |strnlen(GLIBC_2.0)[1] | 18683 |--------------------------+--------------------------+-----------------------| 18684 |accept(GLIBC_2.0)[1] |isspace(GLIBC_2.0)[1] |strpbrk(GLIBC_2.0)[1] | 18685 |--------------------------+--------------------------+-----------------------| 18686 |access(GLIBC_2.0)[1] |isupper(GLIBC_2.0)[1] |strptime(GLIBC_2.0)[1] | 18687 |--------------------------+--------------------------+-----------------------| 18688 |acct(GLIBC_2.0)[1] |iswalnum(GLIBC_2.0)[1] |strrchr(GLIBC_2.0)[1] | 18689 |--------------------------+--------------------------+-----------------------| 18690 |adjtime(GLIBC_2.0)[1] |iswalpha(GLIBC_2.0)[1] |strsep(GLIBC_2.0)[1] | 18691 |--------------------------+--------------------------+-----------------------| 18692 |alarm(GLIBC_2.0)[1] |iswblank(GLIBC_2.0)[1] |strsignal(GLIBC_2.0)[1]| 18693 |--------------------------+--------------------------+-----------------------| 18694 |asctime(GLIBC_2.0)[1] |iswcntrl(GLIBC_2.0)[1] |strspn(GLIBC_2.0)[1] | 18695 |--------------------------+--------------------------+-----------------------| 18696 |asctime_r(GLIBC_2.0)[1] |iswctype(GLIBC_2.0)[1] |strstr(GLIBC_2.0)[1] | 18697 |--------------------------+--------------------------+-----------------------| 18698 |asprintf(GLIBC_2.0)[1] |iswdigit(GLIBC_2.0)[1] |strtod(GLIBC_2.0)[1] | 18699 |--------------------------+--------------------------+-----------------------| 18700 |atof(GLIBC_2.0)[1] |iswgraph(GLIBC_2.0)[1] |strtof(GLIBC_2.0)[1] | 18701 |--------------------------+--------------------------+-----------------------| 18702 |atoi(GLIBC_2.0)[1] |iswlower(GLIBC_2.0)[1] |strtoimax(GLIBC_2.0)[1]| 18703 |--------------------------+--------------------------+-----------------------| 18704 |atol(GLIBC_2.0)[1] |iswprint(GLIBC_2.0)[1] |strtok(GLIBC_2.0)[1] | 18705 |--------------------------+--------------------------+-----------------------| 18706 |atoll[1] |iswpunct()[1] |strtok_r()[1] | 18707 |--------------------------+--------------------------+-----------------------| 18708 |authnone_create(GLIBC_2.0)|iswspace(GLIBC_2.0)[1] |strtol(GLIBC_2.0)[1] | 18709 |[1] | | | 18710 |--------------------------+--------------------------+-----------------------| 18711 |basename(GLIBC_2.0)[1] |iswupper(GLIBC_2.0)[1] |strtold(GLIBC_2.0)[1] | 18712 |--------------------------+--------------------------+-----------------------| 18713 |bcmp(GLIBC_2.0)[1] |iswxdigit(GLIBC_2.0)[1] |strtoll(GLIBC_2.0)[1] | 18714 |--------------------------+--------------------------+-----------------------| 18715 |bcopy(GLIBC_2.0)[1] |isxdigit(GLIBC_2.0)[1] |strtoq(GLIBC_2.0)[1] | 18716 |--------------------------+--------------------------+-----------------------| 18717 |bind(GLIBC_2.0)[1] |jrand48(GLIBC_2.0)[1] |strtoul(GLIBC_2.0)[1] | 18718 |--------------------------+--------------------------+-----------------------| 18719 |bind_textdomain_codeset[1]|key_decryptsession()[1] |strtoull()[1] | 18720 |--------------------------+--------------------------+-----------------------| 18721 |bindresvport(GLIBC_2.0)[1]|kill(GLIBC_2.0)[1] |strtoumax(GLIBC_2.0)[1]| 18722 |--------------------------+--------------------------+-----------------------| 18723 |bindtextdomain(GLIBC_2.0) |killpg(GLIBC_2.0)[1] |strtouq(GLIBC_2.0)[1] | 18724 |[1] | | | 18725 |--------------------------+--------------------------+-----------------------| 18726 |brk(GLIBC_2.0)[1] |l64a(GLIBC_2.0)[1] |strverscmp(GLIBC_2.0) | 18727 | | |[1] | 18728 |--------------------------+--------------------------+-----------------------| 18729 |bsd_signal(GLIBC_2.0)[1] |labs(GLIBC_2.0)[1] |strxfrm(GLIBC_2.0)[1] | 18730 |--------------------------+--------------------------+-----------------------| 18731 |bsearch(GLIBC_2.0)[1] |lchown(GLIBC_2.0)[1] |svc_getreqset | 18732 | | |(GLIBC_2.0)[1] | 18733 |--------------------------+--------------------------+-----------------------| 18734 |btowc(GLIBC_2.0)[1] |lcong48(GLIBC_2.0)[1] |svc_register(GLIBC_2.0)| 18735 | | |[1] | 18736 |--------------------------+--------------------------+-----------------------| 18737 |bzero(GLIBC_2.0)[1] |ldiv(GLIBC_2.0)[1] |svc_run(GLIBC_2.0)[1] | 18738 |--------------------------+--------------------------+-----------------------| 18739 |calloc(GLIBC_2.0)[1] |lfind(GLIBC_2.0)[1] |svc_sendreply | 18740 | | |(GLIBC_2.0)[1] | 18741 |--------------------------+--------------------------+-----------------------| 18742 |catclose(GLIBC_2.0)[1] |link(GLIBC_2.0)[1] |svcerr_auth(GLIBC_2.0) | 18743 | | |[1] | 18744 |--------------------------+--------------------------+-----------------------| 18745 |catgets(GLIBC_2.0)[1] |listen(GLIBC_2.0)[1] |svcerr_decode | 18746 | | |(GLIBC_2.0)[1] | 18747 |--------------------------+--------------------------+-----------------------| 18748 |catopen(GLIBC_2.0)[1] |llabs(GLIBC_2.0)[1] |svcerr_noproc | 18749 | | |(GLIBC_2.0)[1] | 18750 |--------------------------+--------------------------+-----------------------| 18751 |cfgetispeed(GLIBC_2.0)[1] |lldiv(GLIBC_2.0)[1] |svcerr_noprog | 18752 | | |(GLIBC_2.0)[1] | 18753 |--------------------------+--------------------------+-----------------------| 18754 |cfgetospeed(GLIBC_2.0)[1] |localeconv(GLIBC_2.0)[1] |svcerr_progvers | 18755 | | |(GLIBC_2.0)[1] | 18756 |--------------------------+--------------------------+-----------------------| 18757 |cfmakeraw(GLIBC_2.0)[1] |localtime(GLIBC_2.0)[1] |svcerr_systemerr | 18758 | | |(GLIBC_2.0)[1] | 18759 |--------------------------+--------------------------+-----------------------| 18760 |cfsetispeed(GLIBC_2.0)[1] |localtime_r(GLIBC_2.0)[1] |svcerr_weakauth | 18761 | | |(GLIBC_2.0)[1] | 18762 |--------------------------+--------------------------+-----------------------| 18763 |cfsetospeed(GLIBC_2.0)[1] |lockf(GLIBC_2.0)[1] |svctcp_create | 18764 | | |(GLIBC_2.0)[1] | 18765 |--------------------------+--------------------------+-----------------------| 18766 |cfsetspeed(GLIBC_2.0)[1] |lockf64(GLIBC_2.0)[1] |svcudp_create | 18767 | | |(GLIBC_2.0)[1] | 18768 |--------------------------+--------------------------+-----------------------| 18769 |chdir(GLIBC_2.0)[1] |longjmp(GLIBC_2.0)[1] |swab(GLIBC_2.0)[1] | 18770 |--------------------------+--------------------------+-----------------------| 18771 |chmod(GLIBC_2.0)[1] |lrand48(GLIBC_2.0)[1] |swapcontext(GLIBC_2.0) | 18772 | | |[1] | 18773 |--------------------------+--------------------------+-----------------------| 18774 |chown(GLIBC_2.1)[1] |lsearch(GLIBC_2.1)[1] |swprintf(GLIBC_2.1)[1] | 18775 |--------------------------+--------------------------+-----------------------| 18776 |chroot(GLIBC_2.0)[1] |lseek(GLIBC_2.0)[1] |swscanf(GLIBC_2.0)[1] | 18777 |--------------------------+--------------------------+-----------------------| 18778 |clearerr(GLIBC_2.0)[1] |lseek64(GLIBC_2.0)[1] |symlink(GLIBC_2.0)[1] | 18779 |--------------------------+--------------------------+-----------------------| 18780 |clnt_create(GLIBC_2.0)[1] |makecontext(GLIBC_2.0)[1] |sync(GLIBC_2.0)[1] | 18781 |--------------------------+--------------------------+-----------------------| 18782 |clnt_pcreateerror |malloc(GLIBC_2.0)[1] |sysconf(GLIBC_2.0)[1] | 18783 |(GLIBC_2.0)[1] | | | 18784 |--------------------------+--------------------------+-----------------------| 18785 |clnt_perrno(GLIBC_2.0)[1] |mblen(GLIBC_2.0)[1] |syslog(GLIBC_2.0)[1] | 18786 |--------------------------+--------------------------+-----------------------| 18787 |clnt_perror(GLIBC_2.0)[1] |mbrlen(GLIBC_2.0)[1] |system(GLIBC_2.0)[1] | 18788 |--------------------------+--------------------------+-----------------------| 18789 |clnt_spcreateerror |mbrtowc(GLIBC_2.0)[1] |tcdrain(GLIBC_2.0)[1] | 18790 |(GLIBC_2.0)[1] | | | 18791 |--------------------------+--------------------------+-----------------------| 18792 |clnt_sperrno(GLIBC_2.0)[1]|mbsinit(GLIBC_2.0)[1] |tcflow(GLIBC_2.0)[1] | 18793 |--------------------------+--------------------------+-----------------------| 18794 |clnt_sperror(GLIBC_2.0)[1]|mbsnrtowcs(GLIBC_2.0)[1] |tcflush(GLIBC_2.0)[1] | 18795 |--------------------------+--------------------------+-----------------------| 18796 |clock(GLIBC_2.0)[1] |mbsrtowcs(GLIBC_2.0)[1] |tcgetattr(GLIBC_2.0)[1]| 18797 |--------------------------+--------------------------+-----------------------| 18798 |close(GLIBC_2.0)[1] |mbstowcs(GLIBC_2.0)[1] |tcgetpgrp(GLIBC_2.0)[1]| 18799 |--------------------------+--------------------------+-----------------------| 18800 |closedir(GLIBC_2.0)[1] |mbtowc(GLIBC_2.0)[1] |tcgetsid(GLIBC_2.0)[1] | 18801 |--------------------------+--------------------------+-----------------------| 18802 |closelog(GLIBC_2.0)[1] |memccpy(GLIBC_2.0)[1] |tcsendbreak(GLIBC_2.0) | 18803 | | |[1] | 18804 |--------------------------+--------------------------+-----------------------| 18805 |confstr(GLIBC_2.0)[1] |memchr(GLIBC_2.0)[1] |tcsetattr(GLIBC_2.0)[1]| 18806 |--------------------------+--------------------------+-----------------------| 18807 |connect(GLIBC_2.0)[1] |memcmp(GLIBC_2.0)[1] |tcsetpgrp(GLIBC_2.0)[1]| 18808 |--------------------------+--------------------------+-----------------------| 18809 |creat(GLIBC_2.0)[1] |memcpy(GLIBC_2.0)[1] |tdelete[1] | 18810 |--------------------------+--------------------------+-----------------------| 18811 |creat64(GLIBC_2.1)[1] |memmem(GLIBC_2.1)[1] |telldir(GLIBC_2.1)[1] | 18812 |--------------------------+--------------------------+-----------------------| 18813 |ctermid(GLIBC_2.0)[1] |memmove(GLIBC_2.0)[1] |tempnam(GLIBC_2.0)[1] | 18814 |--------------------------+--------------------------+-----------------------| 18815 |ctime(GLIBC_2.0)[1] |memrchr(GLIBC_2.0)[1] |textdomain(GLIBC_2.0) | 18816 | | |[1] | 18817 |--------------------------+--------------------------+-----------------------| 18818 |ctime_r(GLIBC_2.0)[1] |memset(GLIBC_2.0)[1] |tfind(GLIBC_2.0)[1] | 18819 |--------------------------+--------------------------+-----------------------| 18820 |cuserid(GLIBC_2.0)[1] |mkdir(GLIBC_2.0)[1] |time(GLIBC_2.0)[1] | 18821 |--------------------------+--------------------------+-----------------------| 18822 |daemon(GLIBC_2.0)[1] |mkfifo(GLIBC_2.0)[1] |times(GLIBC_2.0)[1] | 18823 |--------------------------+--------------------------+-----------------------| 18824 |dcgettext(GLIBC_2.0)[1] |mkstemp(GLIBC_2.0)[1] |tmpfile(GLIBC_2.0)[1] | 18825 |--------------------------+--------------------------+-----------------------| 18826 |dcngettext[1] |mkstemp64()[1] |tmpfile64()[1] | 18827 |--------------------------+--------------------------+-----------------------| 18828 |dgettext[1] |mktemp()[1] |tmpnam()[1] | 18829 |--------------------------+--------------------------+-----------------------| 18830 |difftime(GLIBC_2.0)[1] |mktime(GLIBC_2.0)[1] |toascii(GLIBC_2.0)[1] | 18831 |--------------------------+--------------------------+-----------------------| 18832 |dirname(GLIBC_2.0)[1] |mlock(GLIBC_2.0)[1] |tolower(GLIBC_2.0)[1] | 18833 |--------------------------+--------------------------+-----------------------| 18834 |div(GLIBC_2.0)[1] |mlockall(GLIBC_2.0)[1] |toupper(GLIBC_2.0)[1] | 18835 |--------------------------+--------------------------+-----------------------| 18836 |dngettext[1] |mmap()[1] |towctrans()[1] | 18837 |--------------------------+--------------------------+-----------------------| 18838 |drand48(GLIBC_2.0)[1] |mmap64(GLIBC_2.0)[1] |towlower(GLIBC_2.0)[1] | 18839 |--------------------------+--------------------------+-----------------------| 18840 |dup(GLIBC_2.0)[1] |mprotect(GLIBC_2.0)[1] |towupper(GLIBC_2.0)[1] | 18841 |--------------------------+--------------------------+-----------------------| 18842 |dup2(GLIBC_2.0)[1] |mrand48(GLIBC_2.0)[1] |truncate(GLIBC_2.0)[1] | 18843 |--------------------------+--------------------------+-----------------------| 18844 |ecvt(GLIBC_2.0)[1] |msgctl(GLIBC_2.0)[1] |truncate64(GLIBC_2.0) | 18845 | | |[1] | 18846 |--------------------------+--------------------------+-----------------------| 18847 |endgrent(GLIBC_2.0)[1] |msgget(GLIBC_2.0)[1] |tsearch(GLIBC_2.0)[1] | 18848 |--------------------------+--------------------------+-----------------------| 18849 |endnetent(GLIBC_2.0)[1] |msgrcv(GLIBC_2.0)[1] |ttyname(GLIBC_2.0)[1] | 18850 |--------------------------+--------------------------+-----------------------| 18851 |endprotoent(GLIBC_2.0)[1] |msgsnd(GLIBC_2.0)[1] |ttyname_r(GLIBC_2.0)[1]| 18852 |--------------------------+--------------------------+-----------------------| 18853 |endpwent(GLIBC_2.0)[1] |msync(GLIBC_2.0)[1] |twalk(GLIBC_2.0)[1] | 18854 |--------------------------+--------------------------+-----------------------| 18855 |endservent(GLIBC_2.0)[1] |munlock(GLIBC_2.0)[1] |tzset(GLIBC_2.0)[1] | 18856 |--------------------------+--------------------------+-----------------------| 18857 |endutent(GLIBC_2.0)[1] |munlockall(GLIBC_2.0)[1] |ualarm(GLIBC_2.0)[1] | 18858 |--------------------------+--------------------------+-----------------------| 18859 |endutxent(GLIBC_2.1)[1] |munmap(GLIBC_2.1)[1] |ulimit(GLIBC_2.1)[1] | 18860 |--------------------------+--------------------------+-----------------------| 18861 |erand48(GLIBC_2.0)[1] |nanosleep(GLIBC_2.0)[1] |umask(GLIBC_2.0)[1] | 18862 |--------------------------+--------------------------+-----------------------| 18863 |err(GLIBC_2.0)[1] |nftw(GLIBC_2.0)[1] |uname(GLIBC_2.0)[1] | 18864 |--------------------------+--------------------------+-----------------------| 18865 |error(GLIBC_2.0)[1] |nftw64(GLIBC_2.0)[1] |ungetc(GLIBC_2.0)[1] | 18866 |--------------------------+--------------------------+-----------------------| 18867 |errx(GLIBC_2.0)[1] |ngettext[1] |ungetwc(GLIBC_2.0)[1] | 18868 |--------------------------+--------------------------+-----------------------| 18869 |execl(GLIBC_2.0)[1] |nice(GLIBC_2.0)[1] |unlink(GLIBC_2.0)[1] | 18870 |--------------------------+--------------------------+-----------------------| 18871 |execle(GLIBC_2.0)[1] |nl_langinfo(GLIBC_2.0)[1] |unlockpt(GLIBC_2.0)[1] | 18872 |--------------------------+--------------------------+-----------------------| 18873 |execlp(GLIBC_2.0)[1] |nrand48(GLIBC_2.0)[1] |unsetenv[1] | 18874 |--------------------------+--------------------------+-----------------------| 18875 |execv(GLIBC_2.0)[1] |ntohl(GLIBC_2.0)[1] |usleep(GLIBC_2.0)[1] | 18876 |--------------------------+--------------------------+-----------------------| 18877 |execve(GLIBC_2.0)[1] |ntohs(GLIBC_2.0)[1] |utime(GLIBC_2.0)[1] | 18878 |--------------------------+--------------------------+-----------------------| 18879 |execvp(GLIBC_2.0)[1] |obstack_free(GLIBC_2.0)[1]|utimes(GLIBC_2.0)[1] | 18880 |--------------------------+--------------------------+-----------------------| 18881 |exit(GLIBC_2.0)[1] |open(GLIBC_2.0)[1] |vasprintf(GLIBC_2.0)[1]| 18882 |--------------------------+--------------------------+-----------------------| 18883 |fchdir(GLIBC_2.0)[1] |open64(GLIBC_2.0)[1] |vdprintf(GLIBC_2.0)[1] | 18884 |--------------------------+--------------------------+-----------------------| 18885 |fchmod(GLIBC_2.0)[1] |opendir(GLIBC_2.0)[1] |verrx(GLIBC_2.0)[1] | 18886 |--------------------------+--------------------------+-----------------------| 18887 |fchown(GLIBC_2.0)[1] |openlog(GLIBC_2.0)[1] |vfork(GLIBC_2.0)[1] | 18888 |--------------------------+--------------------------+-----------------------| 18889 |fclose(GLIBC_2.1)[1] |pathconf(GLIBC_2.1)[1] |vfprintf(GLIBC_2.1)[1] | 18890 |--------------------------+--------------------------+-----------------------| 18891 |fcntl(GLIBC_2.0)[1] |pause(GLIBC_2.0)[1] |vfscanf[1] | 18892 |--------------------------+--------------------------+-----------------------| 18893 |fcvt(GLIBC_2.0)[1] |pclose(GLIBC_2.0)[1] |vfwprintf(GLIBC_2.0)[1]| 18894 |--------------------------+--------------------------+-----------------------| 18895 |fdatasync(GLIBC_2.0)[1] |perror(GLIBC_2.0)[1] |vfwscanf(GLIBC_2.0)[1] | 18896 |--------------------------+--------------------------+-----------------------| 18897 |fdopen(GLIBC_2.1)[1] |pipe(GLIBC_2.1)[1] |vprintf(GLIBC_2.1)[1] | 18898 |--------------------------+--------------------------+-----------------------| 18899 |feof(GLIBC_2.0)[1] |pmap_getport(GLIBC_2.0)[1]|vscanf[1] | 18900 |--------------------------+--------------------------+-----------------------| 18901 |ferror(GLIBC_2.0)[1] |pmap_set(GLIBC_2.0)[1] |vsnprintf(GLIBC_2.0)[1]| 18902 |--------------------------+--------------------------+-----------------------| 18903 |fflush(GLIBC_2.0)[1] |pmap_unset(GLIBC_2.0)[1] |vsprintf(GLIBC_2.0)[1] | 18904 |--------------------------+--------------------------+-----------------------| 18905 |fflush_unlocked(GLIBC_2.0)|poll(GLIBC_2.0)[1] |vsscanf[1] | 18906 |[1] | | | 18907 |--------------------------+--------------------------+-----------------------| 18908 |ffs(GLIBC_2.0)[1] |popen(GLIBC_2.0)[1] |vswprintf(GLIBC_2.0)[1]| 18909 |--------------------------+--------------------------+-----------------------| 18910 |fgetc(GLIBC_2.0)[1] |posix_memalign(GLIBC_2.0) |vswscanf(GLIBC_2.0)[1] | 18911 | |[1] | | 18912 |--------------------------+--------------------------+-----------------------| 18913 |fgetpos(GLIBC_2.0)[1] |printf(GLIBC_2.0)[1] |vsyslog[1] | 18914 |--------------------------+--------------------------+-----------------------| 18915 |fgetpos64(GLIBC_2.1)[1] |psignal(GLIBC_2.1)[1] |vwprintf(GLIBC_2.1)[1] | 18916 |--------------------------+--------------------------+-----------------------| 18917 |fgets(GLIBC_2.0)[1] |ptsname(GLIBC_2.0)[1] |vwscanf(GLIBC_2.0)[1] | 18918 |--------------------------+--------------------------+-----------------------| 18919 |fgetwc(GLIBC_2.2)[1] |putc(GLIBC_2.2)[1] |wait(GLIBC_2.2)[1] | 18920 |--------------------------+--------------------------+-----------------------| 18921 |fgetwc_unlocked(GLIBC_2.2)|putc_unlocked(GLIBC_2.2) |wait3(GLIBC_2.2)[1] | 18922 |[1] |[1] | | 18923 |--------------------------+--------------------------+-----------------------| 18924 |fgetws(GLIBC_2.2)[1] |putchar(GLIBC_2.2)[1] |wait4(GLIBC_2.2)[1] | 18925 |--------------------------+--------------------------+-----------------------| 18926 |fileno(GLIBC_2.0)[1] |putchar_unlocked |waitpid(GLIBC_2.0)[1] | 18927 | |(GLIBC_2.0)[1] | | 18928 |--------------------------+--------------------------+-----------------------| 18929 |flock(GLIBC_2.0)[1] |putenv(GLIBC_2.0)[1] |warn(GLIBC_2.0)[1] | 18930 |--------------------------+--------------------------+-----------------------| 18931 |flockfile(GLIBC_2.0)[1] |puts(GLIBC_2.0)[1] |warnx(GLIBC_2.0)[1] | 18932 |--------------------------+--------------------------+-----------------------| 18933 |fmtmsg(GLIBC_2.1)[1] |pututxline(GLIBC_2.1)[1] |wcpcpy(GLIBC_2.1)[1] | 18934 |--------------------------+--------------------------+-----------------------| 18935 |fnmatch(GLIBC_2.2.3)[1] |putw(GLIBC_2.2.3)[1] |wcpncpy(GLIBC_2.2.3)[1]| 18936 |--------------------------+--------------------------+-----------------------| 18937 |fopen(GLIBC_2.1)[1] |putwc(GLIBC_2.1)[1] |wcrtomb(GLIBC_2.1)[1] | 18938 |--------------------------+--------------------------+-----------------------| 18939 |fopen64(GLIBC_2.1)[1] |putwchar(GLIBC_2.1)[1] |wcscasecmp(GLIBC_2.1) | 18940 | | |[1] | 18941 |--------------------------+--------------------------+-----------------------| 18942 |fork(GLIBC_2.0)[1] |qsort(GLIBC_2.0)[1] |wcscat(GLIBC_2.0)[1] | 18943 |--------------------------+--------------------------+-----------------------| 18944 |fpathconf(GLIBC_2.0)[1] |raise(GLIBC_2.0)[1] |wcschr(GLIBC_2.0)[1] | 18945 |--------------------------+--------------------------+-----------------------| 18946 |fprintf(GLIBC_2.0)[1] |rand(GLIBC_2.0)[1] |wcscmp(GLIBC_2.0)[1] | 18947 |--------------------------+--------------------------+-----------------------| 18948 |fputc(GLIBC_2.0)[1] |rand_r(GLIBC_2.0)[1] |wcscoll(GLIBC_2.0)[1] | 18949 |--------------------------+--------------------------+-----------------------| 18950 |fputs(GLIBC_2.0)[1] |random(GLIBC_2.0)[1] |wcscpy(GLIBC_2.0)[1] | 18951 |--------------------------+--------------------------+-----------------------| 18952 |fputwc(GLIBC_2.2)[1] |random_r(GLIBC_2.2)[1] |wcscspn(GLIBC_2.2)[1] | 18953 |--------------------------+--------------------------+-----------------------| 18954 |fputws(GLIBC_2.2)[1] |read(GLIBC_2.2)[1] |wcsdup(GLIBC_2.2)[1] | 18955 |--------------------------+--------------------------+-----------------------| 18956 |fread(GLIBC_2.0)[1] |readdir(GLIBC_2.0)[1] |wcsftime(GLIBC_2.0)[1] | 18957 |--------------------------+--------------------------+-----------------------| 18958 |free(GLIBC_2.0)[1] |readdir64(GLIBC_2.0)[1] |wcslen(GLIBC_2.0)[1] | 18959 |--------------------------+--------------------------+-----------------------| 18960 |freeaddrinfo[1] |readdir_r[1] |wcsncasecmp()[1] | 18961 |--------------------------+--------------------------+-----------------------| 18962 |freopen(GLIBC_2.0)[1] |readlink(GLIBC_2.0)[1] |wcsncat(GLIBC_2.0)[1] | 18963 |--------------------------+--------------------------+-----------------------| 18964 |freopen64(GLIBC_2.1)[1] |readv(GLIBC_2.1)[1] |wcsncmp(GLIBC_2.1)[1] | 18965 |--------------------------+--------------------------+-----------------------| 18966 |fscanf(GLIBC_2.0)[1] |realloc(GLIBC_2.0)[1] |wcsncpy(GLIBC_2.0)[1] | 18967 |--------------------------+--------------------------+-----------------------| 18968 |fseek(GLIBC_2.0)[1] |realpath(GLIBC_2.0)[1] |wcsnlen(GLIBC_2.0)[1] | 18969 |--------------------------+--------------------------+-----------------------| 18970 |fseeko(GLIBC_2.1)[1] |recv(GLIBC_2.1)[1] |wcsnrtombs(GLIBC_2.1) | 18971 | | |[1] | 18972 |--------------------------+--------------------------+-----------------------| 18973 |fseeko64(GLIBC_2.1)[1] |recvfrom(GLIBC_2.1)[1] |wcspbrk(GLIBC_2.1)[1] | 18974 |--------------------------+--------------------------+-----------------------| 18975 |fsetpos(GLIBC_2.0)[1] |recvmsg(GLIBC_2.0)[1] |wcsrchr(GLIBC_2.0)[1] | 18976 |--------------------------+--------------------------+-----------------------| 18977 |fsetpos64(GLIBC_2.1)[1] |regcomp(GLIBC_2.1)[1] |wcsrtombs(GLIBC_2.1)[1]| 18978 |--------------------------+--------------------------+-----------------------| 18979 |fstatvfs(GLIBC_2.1)[1] |regerror(GLIBC_2.1)[1] |wcsspn(GLIBC_2.1)[1] | 18980 |--------------------------+--------------------------+-----------------------| 18981 |fstatvfs64(GLIBC_2.1)[1] |regexec(GLIBC_2.1)[1] |wcsstr(GLIBC_2.1)[1] | 18982 |--------------------------+--------------------------+-----------------------| 18983 |fsync(GLIBC_2.0)[1] |regfree(GLIBC_2.0)[1] |wcstod(GLIBC_2.0)[1] | 18984 |--------------------------+--------------------------+-----------------------| 18985 |ftell(GLIBC_2.0)[1] |remove(GLIBC_2.0)[1] |wcstof(GLIBC_2.0)[1] | 18986 |--------------------------+--------------------------+-----------------------| 18987 |ftello(GLIBC_2.1)[1] |remque(GLIBC_2.1)[1] |wcstoimax(GLIBC_2.1)[1]| 18988 |--------------------------+--------------------------+-----------------------| 18989 |ftello64(GLIBC_2.1)[1] |rename(GLIBC_2.1)[1] |wcstok(GLIBC_2.1)[1] | 18990 |--------------------------+--------------------------+-----------------------| 18991 |ftime(GLIBC_2.0)[1] |rewind(GLIBC_2.0)[1] |wcstol(GLIBC_2.0)[1] | 18992 |--------------------------+--------------------------+-----------------------| 18993 |ftok(GLIBC_2.0)[1] |rewinddir(GLIBC_2.0)[1] |wcstold(GLIBC_2.0)[1] | 18994 |--------------------------+--------------------------+-----------------------| 18995 |ftruncate(GLIBC_2.0)[1] |rindex(GLIBC_2.0)[1] |wcstoll(GLIBC_2.0)[1] | 18996 |--------------------------+--------------------------+-----------------------| 18997 |ftruncate64(GLIBC_2.1)[1] |rmdir(GLIBC_2.1)[1] |wcstombs(GLIBC_2.1)[1] | 18998 |--------------------------+--------------------------+-----------------------| 18999 |ftrylockfile(GLIBC_2.0)[1]|sbrk(GLIBC_2.0)[1] |wcstoq(GLIBC_2.0)[1] | 19000 |--------------------------+--------------------------+-----------------------| 19001 |ftw(GLIBC_2.0)[1] |scanf(GLIBC_2.0)[1] |wcstoul(GLIBC_2.0)[1] | 19002 |--------------------------+--------------------------+-----------------------| 19003 |ftw64(GLIBC_2.1)[1] |sched_get_priority_max |wcstoull(GLIBC_2.1)[1] | 19004 | |(GLIBC_2.1)[1] | | 19005 |--------------------------+--------------------------+-----------------------| 19006 |funlockfile(GLIBC_2.0)[1] |sched_get_priority_min |wcstoumax(GLIBC_2.0)[1]| 19007 | |(GLIBC_2.0)[1] | | 19008 |--------------------------+--------------------------+-----------------------| 19009 |fwide(GLIBC_2.2)[1] |sched_getparam(GLIBC_2.2) |wcstouq(GLIBC_2.2)[1] | 19010 | |[1] | | 19011 |--------------------------+--------------------------+-----------------------| 19012 |fwprintf(GLIBC_2.2)[1] |sched_getscheduler |wcswcs(GLIBC_2.2)[1] | 19013 | |(GLIBC_2.2)[1] | | 19014 |--------------------------+--------------------------+-----------------------| 19015 |fwrite(GLIBC_2.0)[1] |sched_rr_get_interval |wcswidth(GLIBC_2.0)[1] | 19016 | |(GLIBC_2.0)[1] | | 19017 |--------------------------+--------------------------+-----------------------| 19018 |fwscanf(GLIBC_2.2)[1] |sched_setparam(GLIBC_2.2) |wcsxfrm(GLIBC_2.2)[1] | 19019 | |[1] | | 19020 |--------------------------+--------------------------+-----------------------| 19021 |gai_strerror[1] |sched_setscheduler()[1] |wctob()[1] | 19022 |--------------------------+--------------------------+-----------------------| 19023 |gcvt(GLIBC_2.0)[1] |sched_yield(GLIBC_2.0)[1] |wctomb(GLIBC_2.0)[1] | 19024 |--------------------------+--------------------------+-----------------------| 19025 |getaddrinfo[1] |seed48()[1] |wctrans()[1] | 19026 |--------------------------+--------------------------+-----------------------| 19027 |getc(GLIBC_2.0)[1] |seekdir(GLIBC_2.0)[1] |wctype(GLIBC_2.0)[1] | 19028 |--------------------------+--------------------------+-----------------------| 19029 |getc_unlocked(GLIBC_2.0) |select(GLIBC_2.0)[1] |wcwidth(GLIBC_2.0)[1] | 19030 |[1] | | | 19031 |--------------------------+--------------------------+-----------------------| 19032 |getchar(GLIBC_2.0)[1] |semctl(GLIBC_2.0)[1] |wmemchr(GLIBC_2.0)[1] | 19033 |--------------------------+--------------------------+-----------------------| 19034 |getchar_unlocked |semget(GLIBC_2.0)[1] |wmemcmp(GLIBC_2.0)[1] | 19035 |(GLIBC_2.0)[1] | | | 19036 |--------------------------+--------------------------+-----------------------| 19037 |getcontext(GLIBC_2.1)[1] |semop(GLIBC_2.1)[1] |wmemcpy(GLIBC_2.1)[1] | 19038 |--------------------------+--------------------------+-----------------------| 19039 |getcwd(GLIBC_2.0)[1] |send(GLIBC_2.0)[1] |wmemmove(GLIBC_2.0)[1] | 19040 |--------------------------+--------------------------+-----------------------| 19041 |getdate(GLIBC_2.1)[1] |sendmsg(GLIBC_2.1)[1] |wmemset(GLIBC_2.1)[1] | 19042 |--------------------------+--------------------------+-----------------------| 19043 |getdomainname(GLIBC_2.0) |sendto(GLIBC_2.0)[1] |wordexp(GLIBC_2.0)[1] | 19044 |[1] | | | 19045 |--------------------------+--------------------------+-----------------------| 19046 |getegid(GLIBC_2.0)[1] |setbuf(GLIBC_2.0)[1] |wordfree(GLIBC_2.0)[1] | 19047 |--------------------------+--------------------------+-----------------------| 19048 |getenv(GLIBC_2.0)[1] |setbuffer(GLIBC_2.0)[1] |wprintf(GLIBC_2.0)[1] | 19049 |--------------------------+--------------------------+-----------------------| 19050 |geteuid(GLIBC_2.0)[1] |setcontext(GLIBC_2.0)[1] |write(GLIBC_2.0)[1] | 19051 |--------------------------+--------------------------+-----------------------| 19052 |getgid(GLIBC_2.0)[1] |setdomainname[1] |writev(GLIBC_2.0)[1] | 19053 |--------------------------+--------------------------+-----------------------| 19054 |getgrent(GLIBC_2.0)[1] |setegid(GLIBC_2.0)[1] |wscanf(GLIBC_2.0)[1] | 19055 |--------------------------+--------------------------+-----------------------| 19056 |getgrgid(GLIBC_2.0)[1] |setenv[1] |xdr_accepted_reply | 19057 | | |(GLIBC_2.0)[1] | 19058 |--------------------------+--------------------------+-----------------------| 19059 |getgrgid_r(GLIBC_2.0)[1] |seteuid(GLIBC_2.0)[1] |xdr_array(GLIBC_2.0)[1]| 19060 |--------------------------+--------------------------+-----------------------| 19061 |getgrnam(GLIBC_2.0)[1] |setgid(GLIBC_2.0)[1] |xdr_bool(GLIBC_2.0)[1] | 19062 |--------------------------+--------------------------+-----------------------| 19063 |getgrnam_r(GLIBC_2.0)[1] |setgrent(GLIBC_2.0)[1] |xdr_bytes(GLIBC_2.0)[1]| 19064 |--------------------------+--------------------------+-----------------------| 19065 |getgroups(GLIBC_2.0)[1] |setgroups(GLIBC_2.0)[1] |xdr_callhdr(GLIBC_2.0) | 19066 | | |[1] | 19067 |--------------------------+--------------------------+-----------------------| 19068 |gethostbyaddr(GLIBC_2.0) |sethostid(GLIBC_2.0)[1] |xdr_callmsg(GLIBC_2.0) | 19069 |[1] | |[1] | 19070 |--------------------------+--------------------------+-----------------------| 19071 |gethostbyname(GLIBC_2.0) |sethostname(GLIBC_2.0)[1] |xdr_char(GLIBC_2.0)[1] | 19072 |[1] | | | 19073 |--------------------------+--------------------------+-----------------------| 19074 |gethostid(GLIBC_2.0)[1] |setitimer(GLIBC_2.0)[1] |xdr_double(GLIBC_2.0) | 19075 | | |[1] | 19076 |--------------------------+--------------------------+-----------------------| 19077 |gethostname(GLIBC_2.0)[1] |setlocale(GLIBC_2.0)[1] |xdr_enum(GLIBC_2.0)[1] | 19078 |--------------------------+--------------------------+-----------------------| 19079 |getitimer(GLIBC_2.0)[1] |setlogmask(GLIBC_2.0)[1] |xdr_float(GLIBC_2.0)[1]| 19080 |--------------------------+--------------------------+-----------------------| 19081 |getloadavg(GLIBC_2.2)[1] |setnetent(GLIBC_2.2)[1] |xdr_free(GLIBC_2.2)[1] | 19082 |--------------------------+--------------------------+-----------------------| 19083 |getlogin(GLIBC_2.0)[1] |setpgid(GLIBC_2.0)[1] |xdr_int(GLIBC_2.0)[1] | 19084 |--------------------------+--------------------------+-----------------------| 19085 |getnameinfo[1] |setpgrp()[1] |xdr_long()[1] | 19086 |--------------------------+--------------------------+-----------------------| 19087 |getnetbyaddr(GLIBC_2.0)[1]|setpriority(GLIBC_2.0)[1] |xdr_opaque(GLIBC_2.0) | 19088 | | |[1] | 19089 |--------------------------+--------------------------+-----------------------| 19090 |getopt(GLIBC_2.0)[1] |setprotoent(GLIBC_2.0)[1] |xdr_opaque_auth | 19091 | | |(GLIBC_2.0)[1] | 19092 |--------------------------+--------------------------+-----------------------| 19093 |getopt_long(GLIBC_2.0)[1] |setpwent(GLIBC_2.0)[1] |xdr_pointer(GLIBC_2.0) | 19094 | | |[1] | 19095 |--------------------------+--------------------------+-----------------------| 19096 |getopt_long_only |setregid(GLIBC_2.0)[1] |xdr_reference | 19097 |(GLIBC_2.0)[1] | |(GLIBC_2.0)[1] | 19098 |--------------------------+--------------------------+-----------------------| 19099 |getpagesize(GLIBC_2.0)[1] |setreuid(GLIBC_2.0)[1] |xdr_rejected_reply | 19100 | | |(GLIBC_2.0)[1] | 19101 |--------------------------+--------------------------+-----------------------| 19102 |getpeername(GLIBC_2.0)[1] |setrlimit(GLIBC_2.0)[1] |xdr_replymsg(GLIBC_2.0)| 19103 | | |[1] | 19104 |--------------------------+--------------------------+-----------------------| 19105 |getpgid(GLIBC_2.0)[1] |setrlimit64[1] |xdr_short(GLIBC_2.0)[1]| 19106 |--------------------------+--------------------------+-----------------------| 19107 |getpgrp(GLIBC_2.0)[1] |setservent(GLIBC_2.0)[1] |xdr_string(GLIBC_2.0) | 19108 | | |[1] | 19109 |--------------------------+--------------------------+-----------------------| 19110 |getpid(GLIBC_2.0)[1] |setsid(GLIBC_2.0)[1] |xdr_u_char(GLIBC_2.0) | 19111 | | |[1] | 19112 |--------------------------+--------------------------+-----------------------| 19113 |getppid(GLIBC_2.0)[1] |setsockopt(GLIBC_2.0)[1] |xdr_u_int(GLIBC_2.0)[1]| 19114 |--------------------------+--------------------------+-----------------------| 19115 |getpriority(GLIBC_2.0)[1] |setstate(GLIBC_2.0)[1] |xdr_u_long(GLIBC_2.0) | 19116 | | |[1] | 19117 |--------------------------+--------------------------+-----------------------| 19118 |getprotobyname(GLIBC_2.0) |setuid(GLIBC_2.0)[1] |xdr_u_short(GLIBC_2.0) | 19119 |[1] | |[1] | 19120 |--------------------------+--------------------------+-----------------------| 19121 |getprotobynumber |setutent(GLIBC_2.0)[1] |xdr_union(GLIBC_2.0)[1]| 19122 |(GLIBC_2.0)[1] | | | 19123 |--------------------------+--------------------------+-----------------------| 19124 |getprotoent(GLIBC_2.0)[1] |setutxent(GLIBC_2.0)[1] |xdr_vector(GLIBC_2.0) | 19125 | | |[1] | 19126 |--------------------------+--------------------------+-----------------------| 19127 |getpwent(GLIBC_2.0)[1] |setvbuf(GLIBC_2.0)[1] |xdr_void(GLIBC_2.0)[1] | 19128 |--------------------------+--------------------------+-----------------------| 19129 |getpwnam(GLIBC_2.0)[1] |shmat(GLIBC_2.0)[1] |xdr_wrapstring | 19130 | | |(GLIBC_2.0)[1] | 19131 |--------------------------+--------------------------+-----------------------| 19132 |getpwnam_r(GLIBC_2.0)[1] |shmctl(GLIBC_2.0)[1] |xdrmem_create | 19133 | | |(GLIBC_2.0)[1] | 19134 |--------------------------+--------------------------+-----------------------| 19135 |getpwuid(GLIBC_2.0)[1] |shmdt(GLIBC_2.0)[1] |xdrrec_create | 19136 | | |(GLIBC_2.0)[1] | 19137 |--------------------------+--------------------------+-----------------------| 19138 |getpwuid_r(GLIBC_2.0)[1] |shmget(GLIBC_2.0)[1] |xdrrec_eof(GLIBC_2.0) | 19139 | | |[1] | 19140 |--------------------------+--------------------------+-----------------------| 19141 |getrlimit(GLIBC_2.2)[1] |shutdown(GLIBC_2.2)[1] | | 19142 |--------------------------+--------------------------+-----------------------| 19143 |getrlimit64(GLIBC_2.1)[1] |sigaction(GLIBC_2.1)[1] | | 19144 +-----------------------------------------------------------------------------+ 19145 19146 Table A-18. libc Data Interfaces 19147 19148 +-------------------------------------+ 19149 |__daylight |__timezone |_sys_errlist | 19150 |-----------+-----------+-------------| 19151 |__environ |__tzname | | 19152 +-------------------------------------+ 19153 ------------------------------------------------------------------------------- 19154 19155 libpthread 19156 19157 The behaviour of the interfaces in this library is specified by the following 19158 Standards. 19159 19160 Large File Support 19161 Linux Standard Base 19162 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 19163 Specification(SUS) V3 19164 19165 Table A-19. libpthread Function Interfaces 19166 19167 +--------------------------------------------------------------------------------------+ 19168 |_pthread_cleanup_pop[1] |pthread_create()[1] |pthread_rwlock_trywrlock()[1]| 19169 |---------------------------+----------------------------+-----------------------------| 19170 |_pthread_cleanup_push[1] |pthread_detach()[1] |pthread_rwlock_unlock()[1] | 19171 |---------------------------+----------------------------+-----------------------------| 19172 |pread(GLIBC_2.1)[1] |pthread_equal(GLIBC_2.1)[1] |pthread_rwlock_wrlock | 19173 | | |(GLIBC_2.1)[1] | 19174 |---------------------------+----------------------------+-----------------------------| 19175 |pread64(GLIBC_2.1)[1] |pthread_exit(GLIBC_2.1)[1] |pthread_rwlockattr_destroy | 19176 | | |(GLIBC_2.1)[1] | 19177 |---------------------------+----------------------------+-----------------------------| 19178 |pthread_attr_destroy |pthread_getspecific |pthread_rwlockattr_getpshared| 19179 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] | 19180 |---------------------------+----------------------------+-----------------------------| 19181 |pthread_attr_getdetachstate|pthread_join(GLIBC_2.0)[1] |pthread_rwlockattr_init | 19182 |(GLIBC_2.0)[1] | |(GLIBC_2.0)[1] | 19183 |---------------------------+----------------------------+-----------------------------| 19184 |pthread_attr_getguardsize |pthread_key_create |pthread_rwlockattr_setpshared| 19185 |(GLIBC_2.1)[1] |(GLIBC_2.1)[1] |(GLIBC_2.1)[1] | 19186 |---------------------------+----------------------------+-----------------------------| 19187 |pthread_attr_getschedparam |pthread_key_delete |pthread_self(GLIBC_2.0)[1] | 19188 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] | | 19189 |---------------------------+----------------------------+-----------------------------| 19190 |pthread_attr_getstackaddr |pthread_kill(GLIBC_2.1)[1] |pthread_setcancelstate | 19191 |(GLIBC_2.1)[1] | |(GLIBC_2.1)[1] | 19192 |---------------------------+----------------------------+-----------------------------| 19193 |pthread_attr_getstacksize |pthread_mutex_destroy |pthread_setcanceltype | 19194 |(GLIBC_2.1)[1] |(GLIBC_2.1)[1] |(GLIBC_2.1)[1] | 19195 |---------------------------+----------------------------+-----------------------------| 19196 |pthread_attr_init |pthread_mutex_init |pthread_setconcurrency[1] | 19197 |(GLIBC_2.1)[1] |(GLIBC_2.1)[1] | | 19198 |---------------------------+----------------------------+-----------------------------| 19199 |pthread_attr_setdetachstate|pthread_mutex_lock |pthread_setspecific | 19200 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] | 19201 |---------------------------+----------------------------+-----------------------------| 19202 |pthread_attr_setguardsize |pthread_mutex_trylock |pthread_sigmask(GLIBC_2.1)[1]| 19203 |(GLIBC_2.1)[1] |(GLIBC_2.1)[1] | | 19204 |---------------------------+----------------------------+-----------------------------| 19205 |pthread_attr_setschedparam |pthread_mutex_unlock |pthread_testcancel(GLIBC_2.0)| 19206 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] |[1] | 19207 |---------------------------+----------------------------+-----------------------------| 19208 |pthread_attr_setstackaddr |pthread_mutexattr_destroy |pwrite(GLIBC_2.1)[1] | 19209 |(GLIBC_2.1)[1] |(GLIBC_2.1)[1] | | 19210 |---------------------------+----------------------------+-----------------------------| 19211 |pthread_attr_setstacksize |pthread_mutexattr_getpshared|pwrite64(GLIBC_2.1)[1] | 19212 |(GLIBC_2.1)[1] |(GLIBC_2.1)[1] | | 19213 |---------------------------+----------------------------+-----------------------------| 19214 |pthread_cancel(GLIBC_2.0) |pthread_mutexattr_gettype |sem_close(GLIBC_2.0)[1] | 19215 |[1] |(GLIBC_2.0)[1] | | 19216 |---------------------------+----------------------------+-----------------------------| 19217 |pthread_cond_broadcast |pthread_mutexattr_init |sem_destroy(GLIBC_2.0)[1] | 19218 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] | | 19219 |---------------------------+----------------------------+-----------------------------| 19220 |pthread_cond_destroy |pthread_mutexattr_setpshared|sem_getvalue(GLIBC_2.0)[1] | 19221 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] | | 19222 |---------------------------+----------------------------+-----------------------------| 19223 |pthread_cond_init |pthread_mutexattr_settype |sem_init(GLIBC_2.0)[1] | 19224 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] | | 19225 |---------------------------+----------------------------+-----------------------------| 19226 |pthread_cond_signal |pthread_once(GLIBC_2.0)[1] |sem_open(GLIBC_2.0)[1] | 19227 |(GLIBC_2.0)[1] | | | 19228 |---------------------------+----------------------------+-----------------------------| 19229 |pthread_cond_timedwait |pthread_rwlock_destroy |sem_post(GLIBC_2.0)[1] | 19230 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] | | 19231 |---------------------------+----------------------------+-----------------------------| 19232 |pthread_cond_wait |pthread_rwlock_init |sem_timedwait(GLIBC_2.0)[1] | 19233 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] | | 19234 |---------------------------+----------------------------+-----------------------------| 19235 |pthread_condattr_destroy |pthread_rwlock_rdlock |sem_trywait(GLIBC_2.0)[1] | 19236 |(GLIBC_2.0)[1] |(GLIBC_2.0)[1] | | 19237 |---------------------------+----------------------------+-----------------------------| 19238 |pthread_condattr_getpshared|pthread_rwlock_timedrdlock |sem_unlink()[1] | 19239 |[1] |[1] | | 19240 |---------------------------+----------------------------+-----------------------------| 19241 |pthread_condattr_init |pthread_rwlock_timedwrlock |sem_wait(GLIBC_2.0)[1] | 19242 |(GLIBC_2.0)[1] |[1] | | 19243 |---------------------------+----------------------------+-----------------------------| 19244 |pthread_condattr_setpshared|pthread_rwlock_tryrdlock() | | 19245 |[1] |[1] | | 19246 +--------------------------------------------------------------------------------------+ 19247 ------------------------------------------------------------------------------- 19248 19249 libpam 19250 19251 The behaviour of the interfaces in this library is specified by the following 19252 Standards. 19253 19254 Linux Standard Base 19255 19256 Table A-20. libpam Function Interfaces 19257 19258 +--------------------------------------------------------+ 19259 |pam_acct_mgmt[1] |pam_fail_delay[1] |pam_setcred[1] | 19260 |--------------------+-------------------+---------------| 19261 |pam_authenticate[1] |pam_get_item[1] |pam_start[1] | 19262 |--------------------+-------------------+---------------| 19263 |pam_chauthtok[1] |pam_getenvlist[1] |pam_strerror[1]| 19264 |--------------------+-------------------+---------------| 19265 |pam_close_session[1]|pam_open_session[1]| | 19266 |--------------------+-------------------+---------------| 19267 |pam_end[1] |pam_set_item[1] | | 19268 +--------------------------------------------------------+ 19269 19270 Linux Packaging Specification 19271 19272 ------------------------------------------------------------------------------- 19273 19274 Table of Contents 19275 I. Package Format and Installation 19276 19277 1. Software Installation 19278 19279 Package File Format 19280 Package Script Restrictions 19281 Package Tools 19282 Package Naming 19283 Package Dependencies 19284 Package Architecture Considerations 19285 19286 List of Tables 19287 1-1. RPM File Format 19288 1-2. Signature Format 19289 1-3. Index Type values 19290 1-4. Header Private Tag Values 19291 1-5. Signature Tag Values 19292 1-6. Signature Digest Tag Values 19293 1-7. Signature Signing Tag Values 19294 1-8. Package Info Tag Values 19295 1-9. Installation Tag Values 19296 1-10. File Info Tag Values 19297 1-11. Package Dependency Tag Values 19298 1-12. Index Type values 19299 1-13. Package Dependency Attributes 19300 1-14. Other Tag Values 19301 1-15. CPIO File Format 19302 19303 I. Package Format and Installation 19304 19305 Table of Contents 19306 1. Software Installation 19307 19308 ------------------------------------------------------------------------------- 19309 19310 Chapter 1. Software Installation 19311 19312 Applications shall either be packaged in the RPM packaging format as defined in 19313 this specification, or supply an installer which is LSB conforming (for 19314 example, calls LSB commands and utilities). [37] 19315 19316 Distributions shall provide a mechanism for installing applications in this 19317 packaging format with some restrictions listed below. [38] 19318 19319 ------------------------------------------------------------------------------- 19320 19321 Package File Format 19322 19323 An RPM format file consists of 4 sections, the Lead, Signature, Header, and the 19324 Payload. All values are stored in network byte order. 19325 19326 Table 1-1. RPM File Format 19327 19328 +---------+ 19329 |Lead | 19330 |---------| 19331 |Signature| 19332 |---------| 19333 |Header | 19334 |---------| 19335 |Payload | 19336 +---------+ 19337 19338 These 4 sections shall exist in the order specified. 19339 19340 The lead section is used to identify the package file. 19341 19342 The signature section is used to verify the integrity, and optionally, the 19343 authenticity of the majority of the package file. 19344 19345 The header section contains all available information about the package. 19346 Entries such as the package's name, version, and file list, are contained in 19347 the header. 19348 19349 The payload section holds the files to be install. 19350 19351 ------------------------------------------------------------------------------- 19352 19353 Lead Section 19354 19355 struct rpmlead { 19356 unsigned char magic[4]; 19357 unsigned char major, minor; 19358 short type; 19359 short archnum; 19360 char name[66]; 19361 short osnum; 19362 short signature_type; 19363 char reserved[16]; 19364 } ; 19365 19366 magic 19367 19368 Value identifying this file as an RPM format file. This value shall be "\ 19369 355\253\356\333". 19370 19371 major 19372 19373 Value indicating the major version number of the file format version. This 19374 value shall be 3. 19375 19376 minor 19377 19378 Value indicating the minor revision number of file format version. This 19379 value shall be 0. 19380 19381 type 19382 19383 Value indicating whether this is a source or binary package. This value 19384 shall be 0 to indicate a binary package. 19385 19386 archnum 19387 19388 Value indicating the architecture for which this package is valid. This 19389 value is specified in the architecture-specific LSB specification. 19390 19391 name 19392 19393 A NUL terminated string that provides the package name. This name shall 19394 conform with the Package Naming section of this specification. 19395 19396 osnum 19397 19398 Value indicating the Operating System for which this package is valid. This 19399 value shall be 1. 19400 19401 signature_type 19402 19403 Value indicating the type of the signature used in the Signature part of 19404 the file. This value shall be 5. 19405 19406 reserved 19407 19408 Reserved space. The value is undefined. 19409 19410 ------------------------------------------------------------------------------- 19411 19412 Header Structure 19413 19414 The Header structure is used for both the Signature and Header Sections. A 19415 Header Structure consists of 3 parts, a Header record, followed by 1 or more 19416 Index records, followed by 0 or more bytes of data associated with the Index 19417 records. A Header structure shall be aligned to an 8 byte boundary. 19418 19419 Table 1-2. Signature Format 19420 19421 +----------------------+ 19422 |Header Record | 19423 |----------------------| 19424 |Array of Index Records| 19425 |----------------------| 19426 |Store of Index Values | 19427 +----------------------+ 19428 ------------------------------------------------------------------------------- 19429 19430 Header Record 19431 19432 struct rpmheader { 19433 unsigned char magic[4]; 19434 unsigned char reserved[4]; 19435 int nindex; 19436 int hsize; 19437 } ; 19438 19439 magic 19440 19441 Value identifying this record as an RPM header record. This value shall be 19442 "\216\255\350\001". 19443 19444 reserved 19445 19446 Reserved space. This value shall be "\000\000\000\000". 19447 19448 nindex 19449 19450 The number of Index Records that follow this Header Record. There should be 19451 at least 1 Index Record. 19452 19453 hsize 19454 19455 The size in bytes of the storage area for the data pointed to by the Index 19456 Records. 19457 19458 ------------------------------------------------------------------------------- 19459 19460 Index Record 19461 19462 struct rpmhdrindex { 19463 int tag; 19464 int type; 19465 int offset; 19466 int count; 19467 } ; 19468 19469 tag 19470 19471 Value identifying the purpose of the data associated with this Index 19472 Record. This value of this field is dependent on the context in which the 19473 Index Record is used, and is defined below and in later sections. 19474 19475 type 19476 19477 Value identifying the type of the data associated with this Index Record. 19478 The possible type values are defined below. 19479 19480 offset 19481 19482 Location in the Store of the data associated with this Index Record. This 19483 value should between 0 and the value contained in the hsize of the Header 19484 Structure. 19485 19486 count 19487 19488 Size of the data associated with this Index Record. The count is the number 19489 of elements whose size is defined by the type of this Record. 19490 19491 ------------------------------------------------------------------------------- 19492 19493 Index Type Values 19494 19495 The possible values for the type field are defined in this table. 19496 19497 Table 1-3. Index Type values 19498 19499 +-----------------------------------------------------------------------------+ 19500 | Type |Value| Size (in bytes) |Alignment| 19501 |---------------------+-----+---------------------------------------+---------| 19502 |RPM_NULL_TYPE |0 |Not Implemented. | | 19503 |---------------------+-----+---------------------------------------+---------| 19504 |RPM_CHAR_TYPE |1 |1 |1 | 19505 |---------------------+-----+---------------------------------------+---------| 19506 |RPM_INT8_TYPE |2 |1 |1 | 19507 |---------------------+-----+---------------------------------------+---------| 19508 |RPM_INT16_TYPE |3 |2 |2 | 19509 |---------------------+-----+---------------------------------------+---------| 19510 |RPM_INT32_TYPE |4 |4 |4 | 19511 |---------------------+-----+---------------------------------------+---------| 19512 |RPM_INT64_TYPE |5 |Reserved. | | 19513 |---------------------+-----+---------------------------------------+---------| 19514 |RPM_STRING_TYPE |6 |variable, NUL terminated |1 | 19515 |---------------------+-----+---------------------------------------+---------| 19516 |RPM_BIN_TYPE |7 |1 |1 | 19517 |---------------------+-----+---------------------------------------+---------| 19518 |RPM_STRING_ARRAY_TYPE|8 |Variable, sequence of NUL terminated |1 | 19519 | | |strings | | 19520 |---------------------+-----+---------------------------------------+---------| 19521 |RPM_I18NSTRING_TYPE |9 |variable, sequence of NUL terminated |1 | 19522 | | |strings | | 19523 +-----------------------------------------------------------------------------+ 19524 19525 The string arrays specified for enties of type RPM_STRING_ARRAY_TYPE and 19526 RPM_I18NSTRING_TYPE are vectors of strings in a contiguous block of memory, 19527 each element separated from its neighbors by a NUL character. 19528 19529 Index records with type RPM_I18NSTRING_TYPE shall always have a count of 1. The 19530 array entries in an index of type RPM_I18NSTRING_TYPE correspond to the locale 19531 names contained in the RPMTAG_HDRI18NTABLE index. 19532 19533 ------------------------------------------------------------------------------- 19534 19535 Index Tag Values 19536 19537 Some values are designated as header private, and may appear in any header 19538 structure. These are defined here. Additional values are defined in later 19539 sections. 19540 19541 Table 1-4. Header Private Tag Values 19542 19543 +-------------------------------------------------------------+ 19544 | Name |Tag Value| Type |Count| Status | 19545 |-----------------------+---------+------------+-----+--------| 19546 |RPMTAG_HEADERSIGNATURES|62 |BIN |16 |Optional| 19547 |-----------------------+---------+------------+-----+--------| 19548 |RPMTAG_HEADERIMMUTABLE |63 |BIN |16 |Optional| 19549 |-----------------------+---------+------------+-----+--------| 19550 |RPMTAG_HEADERI18NTABLE |100 |STRING_ARRAY| |Required| 19551 +-------------------------------------------------------------+ 19552 19553 RPMTAG_HEADERSIGNATURES 19554 19555 The signature tag differentiates a signature header from a metadata header, 19556 and identifies the original contents of the signature header. 19557 19558 RPMTAG_HEADERIMMUTABLE 19559 19560 This tag contains an index record which specifies the portion of the Header 19561 Record which was used for the calculation of a signature. This data shall 19562 be preserved or any header-only signature will be invalidated. 19563 19564 RPMTAG_HEADERI18NTABLE 19565 19566 Contains a list of locales for which strings are provided in other parts of 19567 the package. 19568 19569 Not all Index records defined here will be present in all packages. Each tag 19570 value has a status which is defined here. 19571 19572 Required 19573 19574 This Index Record shall be present. 19575 19576 Optional 19577 19578 This Index Record may be present. 19579 19580 Deprecated 19581 19582 This Index Record should not be present. 19583 19584 Obsolete 19585 19586 This Index Record shall not be present. 19587 19588 Reserved 19589 19590 This Index Record shall not be present. 19591 19592 ------------------------------------------------------------------------------- 19593 19594 Header Store 19595 19596 The header store contains the values specified by the Index structures. These 19597 values are aligned according to their type and padding is used if needed. The 19598 store is located immediately following the Index structures. 19599 19600 ------------------------------------------------------------------------------- 19601 19602 Signature Section 19603 19604 The Signature section is implemented using the Header structure. The signature 19605 section defines the following additional tag values which may be used in the 19606 Index structures. 19607 19608 These values exist to provide additional information about the rest of the 19609 package. 19610 19611 Table 1-5. Signature Tag Values 19612 19613 +-------------------------------------------------+ 19614 | Name |Tag Value|Type |Count| Status | 19615 |------------------+---------+-----+-----+--------| 19616 |SIGTAG_SIGSIZE |1000 |INT32|1 |Required| 19617 |------------------+---------+-----+-----+--------| 19618 |SIGTAG_PAYLOADSIZE|1007 |INT32|1 |Optional| 19619 +-------------------------------------------------+ 19620 19621 SIGTAG_SIGSIZE 19622 19623 This tag specifies the combined size of the Header and Payload sections. 19624 19625 SIGTAG_PAYLOADSIZE 19626 19627 This tag specifies the uncompressed size of the Payload archive, including 19628 the cpio headers. 19629 19630 These values exist to ensure the integrity of the rest of the package. 19631 19632 Table 1-6. Signature Digest Tag Values 19633 19634 +-------------------------------------------------+ 19635 | Name |Tag Value| Type |Count| Status | 19636 |-----------------+---------+------+-----+--------| 19637 |SIGTAG_MD5 |1004 |BIN |16 |Required| 19638 |-----------------+---------+------+-----+--------| 19639 |SIGTAG_SHA1HEADER|1010 |STRING|1 |Optional| 19640 +-------------------------------------------------+ 19641 19642 SIGTAG_MD5 19643 19644 This tag specifies the 128-bit MD5 checksum of the combined Header and 19645 Archive sections. 19646 19647 SIGTAG_SHA1HEADER 19648 19649 This index contains the SHA1 checksum of the entire Header Section, 19650 including the Header Record, Index Records and Header store. 19651 19652 These values exist to provide authentication of the package. 19653 19654 Table 1-7. Signature Signing Tag Values 19655 19656 +----------------------------------------------+ 19657 | Name |Tag Value|Type|Count| Status | 19658 |----------------+---------+----+-----+--------| 19659 |SIGTAG_PGP |1002 |BIN |1 |Optional| 19660 |----------------+---------+----+-----+--------| 19661 |SIGTAG_GPG |1005 |BIN |65 |Optional| 19662 |----------------+---------+----+-----+--------| 19663 |SIGTAG_DSAHEADER|1011 |BIN |1 |Optional| 19664 |----------------+---------+----+-----+--------| 19665 |SIGTAG_RSAHEADER|1012 |BIN |1 |Optional| 19666 +----------------------------------------------+ 19667 19668 SIGTAG_PGP 19669 19670 This tag specifies the RSA signature of the combined Header and Payload 19671 sections. The data is formatted as a Version 3 Signature Packet as 19672 specified in RFC 2440: OpenPGP Message Format. 19673 19674 SIGTAG_GPG 19675 19676 The tag contains the DSA signature of the combined Header and Payload 19677 sections. The data is formatted as a Version 3 Signature Packet as 19678 specified in RFC 2440: OpenPGP Message Format. 19679 19680 SIGTAG_DSAHEADER 19681 19682 The tag contains the DSA signature of the Header section. The data is 19683 formatted as a Version 3 Signature Packet as specified in RFC 2440: OpenPGP 19684 Message Format. If this tag is present,then the SIGTAG_GPG tag shall also 19685 be present. 19686 19687 SIGTAG_RSAHEADER 19688 19689 The tag contains the RSA signature of the Header section.The data is 19690 formatted as a Version 3 Signature Packet as specified in RFC 2440: OpenPGP 19691 Message Format. If this tag is present, then the SIGTAG_PGP shall also be 19692 present. 19693 19694 ------------------------------------------------------------------------------- 19695 19696 Header Section 19697 19698 The Header section is implemented using the Header structure. The Header 19699 section defines the following additional tag values which may be used in the 19700 Index structures. 19701 19702 ------------------------------------------------------------------------------- 19703 19704 Package Information 19705 19706 The following tag values are used to indicate information that describes the 19707 package as a whole. 19708 19709 Table 1-8. Package Info Tag Values 19710 19711 +------------------------------------------------------------+ 19712 | Name |Tag Value| Type |Count| Status | 19713 |------------------------+---------+----------+-----+--------| 19714 |RPMTAG_NAME |1000 |STRING |1 |Required| 19715 |------------------------+---------+----------+-----+--------| 19716 |RPMTAG_VERSION |1001 |STRING |1 |Required| 19717 |------------------------+---------+----------+-----+--------| 19718 |RPMTAG_RELEASE |1002 |STRING |1 |Required| 19719 |------------------------+---------+----------+-----+--------| 19720 |RPMTAG_SUMMARY |1004 |I18NSTRING|1 |Required| 19721 |------------------------+---------+----------+-----+--------| 19722 |RPMTAG_DESCRIPTION |1005 |I18NSTRING|1 |Required| 19723 |------------------------+---------+----------+-----+--------| 19724 |RPMTAG_SIZE |1009 |INT32 |1 |Required| 19725 |------------------------+---------+----------+-----+--------| 19726 |RPMTAG_LICENSE |1014 |STRING |1 |Required| 19727 |------------------------+---------+----------+-----+--------| 19728 |RPMTAG_GROUP |1016 |I18NSTRING|1 |Required| 19729 |------------------------+---------+----------+-----+--------| 19730 |RPMTAG_OS |1021 |STRING |1 |Required| 19731 |------------------------+---------+----------+-----+--------| 19732 |RPMTAG_ARCH |1022 |STRING |1 |Required| 19733 |------------------------+---------+----------+-----+--------| 19734 |RPMTAG_SOURCERPM |1044 |STRING |1 |Optional| 19735 |------------------------+---------+----------+-----+--------| 19736 |RPMTAG_ARCHIVESIZE |1046 |INT32 |1 |Optional| 19737 |------------------------+---------+----------+-----+--------| 19738 |RPMTAG_RPMVERSION |1064 |STRING |1 |Optional| 19739 |------------------------+---------+----------+-----+--------| 19740 |RPMTAG_COOKIE |1094 |STRING |1 |Optional| 19741 |------------------------+---------+----------+-----+--------| 19742 |RPMTAG_PAYLOADFORMAT |1124 |STRING |1 |Required| 19743 |------------------------+---------+----------+-----+--------| 19744 |RPMTAG_PAYLOADCOMPRESSOR|1125 |STRING |1 |Required| 19745 |------------------------+---------+----------+-----+--------| 19746 |RPMTAG_PAYLOADFLAGS |1126 |STRING |1 |Required| 19747 +------------------------------------------------------------+ 19748 19749 RPMTAG_NAME 19750 19751 This tag specifies the name of the package. 19752 19753 RPMTAG_VERSION 19754 19755 This tag specifies the version of the package. 19756 19757 RPMTAG_RELEASE 19758 19759 This tag specifies the release of the package. 19760 19761 RPMTAG_SUMMARY 19762 19763 This tag specifies the summary description of the package. The summary 19764 value pointed to by this index record contains a one line description of 19765 the package. 19766 19767 RPMTAG_DESCRIPTION 19768 19769 This tag specifies the description of the package. The description value 19770 pointed to by this index record contains a full desription of the package. 19771 19772 RPMTAG_SIZE 19773 19774 This tag specifies the sum of the sizes of the regular files in the 19775 archive. 19776 19777 RPMTAG_LICENSE 19778 19779 This tag specifies the license which applies to this package. 19780 19781 RPMTAG_GROUP 19782 19783 This tag specifies the administrative group to which this package belongs. 19784 19785 RPMTAG_OS 19786 19787 This tag specifies the OS of the package. The OS value pointed to by this 19788 index record shall be "linux". 19789 19790 RPMTAG_ARCH 19791 19792 This tag specifies the architecture of the package. The architecture value 19793 pointed to by this index record is defined in architecture specific LSB 19794 specification. 19795 19796 RPMTAG_SOURCERPM 19797 19798 This tag specifies the name of the source RPM 19799 19800 RPMTAG_ARCHIVESIZE 19801 19802 This tag specifies the uncompressed size of the Payload archive, including 19803 the cpio headers. 19804 19805 RPMTAG_RPMVERSION 19806 19807 This tag indicates the version of RPM tool used to build this package. The 19808 value is unused. 19809 19810 RPMTAG_COOKIE 19811 19812 This tag contains an opaque string whose contents are undefined. 19813 19814 RPMTAG_PAYLOADFORMAT 19815 19816 This tag specifies the format of the Archive section. The format value 19817 pointed to by this index record shall be 'cpio'. 19818 19819 RPMTAG_PAYLOADCOMPRESSOR 19820 19821 This tag specifies the compression used on the Archive section. The 19822 compression value pointed to by this index record shall be 'gzip' 19823 19824 RPMTAG_PAYLOADFLAGS 19825 19826 This tag indicates the compression level used for the Payload. This value 19827 shall always be '9'. 19828 19829 ------------------------------------------------------------------------------- 19830 19831 Installation Information 19832 19833 The following tag values are used to provide information needed during the 19834 installation of the package. 19835 19836 Table 1-9. Installation Tag Values 19837 19838 +-------------------------------------------------+ 19839 | Name |Tag Value| Type |Count| Status | 19840 |-----------------+---------+------+-----+--------| 19841 |RPMTAG_PREIN |1023 |STRING|1 |Optional| 19842 |-----------------+---------+------+-----+--------| 19843 |RPMTAG_POSTIN |1024 |STRING|1 |Optional| 19844 |-----------------+---------+------+-----+--------| 19845 |RPMTAG_PREUN |1025 |STRING|1 |Optional| 19846 |-----------------+---------+------+-----+--------| 19847 |RPMTAG_POSTUN |1026 |STRING|1 |Optional| 19848 |-----------------+---------+------+-----+--------| 19849 |RPMTAG_PREINPROG |1085 |STRING|1 |Optional| 19850 |-----------------+---------+------+-----+--------| 19851 |RPMTAG_POSTINPROG|1086 |STRING|1 |Optional| 19852 |-----------------+---------+------+-----+--------| 19853 |RPMTAG_PREUNPROG |1087 |STRING|1 |Optional| 19854 |-----------------+---------+------+-----+--------| 19855 |RPMTAG_POSTUNPROG|1088 |STRING|1 |Optional| 19856 +-------------------------------------------------+ 19857 19858 RPMTAG_PREIN 19859 19860 This tag specifies the preinstall scriptlet. 19861 19862 RPMTAG_POSTIN 19863 19864 This tag specifies the postinstall scriptlet. 19865 19866 RPMTAG_PREUN 19867 19868 his tag specifies the preuninstall scriptlet. 19869 19870 RPMTAG_POSTUN 19871 19872 This tag specified the postuninstall scriptlet. 19873 19874 RPMTAG_PREINPROG 19875 19876 This tag specifies the name of the intepreter to which the preinstall 19877 scriptlet will be passed. The intepreter pointed to by this index record 19878 shall be '/bin/sh'. 19879 19880 RPMTAG_POSTINPROG 19881 19882 This tag specifies the name of the intepreter to which the postinstall 19883 scriptlet will be passed. The intepreter pointed to by this index record 19884 shall be '/bin/sh'. 19885 19886 RPMTAG_PREUNPROG 19887 19888 This tag specifies the name of the intepreter to which the preuninstall 19889 scriptlet will be passed. The intepreter pointed to by this index record 19890 shall be '/bin/sh'. 19891 19892 RPMTAG_POSTUNPROG 19893 19894 This program specifies the name of the intepreter to which the 19895 postuninstall scriptlet will be passed. The intepreter pointed to by this 19896 index record shall be '/bin/sh'. 19897 19898 ------------------------------------------------------------------------------- 19899 19900 File Information 19901 19902 The following tag values are used to provide information about the files in the 19903 payload. This information is provided in the header to allow more efficient 19904 access of the information. 19905 19906 Table 1-10. File Info Tag Values 19907 19908 +----------------------------------------------------------+ 19909 | Name |Tag Value| Type |Count| Status | 19910 |--------------------+---------+------------+-----+--------| 19911 |RPMTAG_OLDFILENAMES |1027 |STRING_ARRAY| |Optional| 19912 |--------------------+---------+------------+-----+--------| 19913 |RPMTAG_FILESIZES |1028 |INT32 | |Required| 19914 |--------------------+---------+------------+-----+--------| 19915 |RPMTAG_FILEMODES |1030 |INT16 | |Required| 19916 |--------------------+---------+------------+-----+--------| 19917 |RPMTAG_FILERDEVS |1033 |INT16 | |Required| 19918 |--------------------+---------+------------+-----+--------| 19919 |RPMTAG_FILEMTIMES |1034 |INT32 | |Required| 19920 |--------------------+---------+------------+-----+--------| 19921 |RPMTAG_FILEMD5S |1035 |STRING_ARRAY| |Required| 19922 |--------------------+---------+------------+-----+--------| 19923 |RPMTAG_FILELINKTOS |1036 |STRING_ARRAY| |Required| 19924 |--------------------+---------+------------+-----+--------| 19925 |RPMTAG_FILEFLAGS |1037 |INT32 | |Required| 19926 |--------------------+---------+------------+-----+--------| 19927 |RPMTAG_FILEUSERNAME |1039 |STRING_ARRAY| |Required| 19928 |--------------------+---------+------------+-----+--------| 19929 |RPMTAG_FILEGROUPNAME|1040 |STRING_ARRAY| |Required| 19930 |--------------------+---------+------------+-----+--------| 19931 |RPMTAG_FILEDEVICES |1095 |INT32 | |Required| 19932 |--------------------+---------+------------+-----+--------| 19933 |RPMTAG_FILEINODES |1096 |INT32 | |Required| 19934 |--------------------+---------+------------+-----+--------| 19935 |RPMTAG_FILELANGS |1097 |STRING_ARRAY| |Required| 19936 |--------------------+---------+------------+-----+--------| 19937 |RPMTAG_DIRINDEXES |1116 |INT32 | |Optional| 19938 |--------------------+---------+------------+-----+--------| 19939 |RPMTAG_BASENAMES |1117 |STRING_ARRAY| |Optional| 19940 |--------------------+---------+------------+-----+--------| 19941 |RPMTAG_DIRNAMES |1118 |STRING_ARRAY| |Optional| 19942 +----------------------------------------------------------+ 19943 19944 RPMTAG_OLDFILENAMES 19945 19946 This tag specifies the filenames when not in a compressed format as 19947 determined by the absense of rpmlib(CompressedFileNames) in the 19948 RPMTAG_REQUIRENAME index. 19949 19950 RPMTAG_FILESIZES 19951 19952 This tag specifies the size of each file in the archive. 19953 19954 RPMTAG_FILEMODES 19955 19956 This tag specifies the mode of each file in the archive. 19957 19958 RPMTAG_FILERDEVS 19959 19960 This tag specifies the device number from which the file was copied. 19961 19962 RPMTAG_FILEMTIMES 19963 19964 This tag specifies the modification time in seconds since the epoch of each 19965 file in the archive. 19966 19967 RPMTAG_FILEMD5S 19968 19969 This tag specifies the ASCII representation of the MD5 sum of the 19970 corresponding file contents. This value is empty if the corresponding 19971 archive entry is not a regular file. 19972 19973 RPMTAG_FILELINKTOS 19974 19975 The target for a symlink, otherwise NULL. 19976 19977 RPMTAG_FILEFLAGS 19978 19979 This tag specifies the bit(s) to classify and control how files are to be 19980 installed. 19981 19982 RPMTAG_FILEUSERNAME 19983 19984 This tag specifies the owner of the corresponding file. 19985 19986 RPMTAG_FILEGROUPNAME 19987 19988 This tag specifies the of the corresponding file. 19989 19990 RPMTAG_FILEDEVICES 19991 19992 This tag specifies the 16 bit device number from which the file was copied. 19993 19994 RPMTAG_FILEINODES 19995 19996 This tag specifies the inode value from the original file on the build 19997 host. 19998 19999 RPMTAG_FILELANGS 20000 20001 This tag specifies a per-file locale marker used to install only locale 20002 specific subsets of files when the package is installed. 20003 20004 RPMTAG_DIRINDEXES 20005 20006 This tag specifies the index into the array provided by the RPMTAG_DIRNAMES 20007 Index which contains the directory name for the corresponding filename. 20008 20009 RPMTAG_BASENAMES 20010 20011 This tag specifies the base portion of the corresponding filename. 20012 20013 RPMTAG_DIRNAMES 20014 20015 This tag specifies the directory portion of the corresponding filename. 20016 Each directory name shall contain a trailing '/'. 20017 20018 One of RPMTAG_OLDFILENAMES or the tuple 20019 RPMTAG_DIRINDEXES,RPMTAG_BASENAMES,RPMTAG_DIRNAMES shall be present, but not 20020 both. 20021 20022 ------------------------------------------------------------------------------- 20023 20024 Dependency Information 20025 20026 The following tag values are used to provide information about 20027 interdependencies between packages. 20028 20029 Table 1-11. Package Dependency Tag Values 20030 20031 +------------------------------------------------------------+ 20032 | Name |Tag Value| Type |Count| Status | 20033 |----------------------+---------+------------+-----+--------| 20034 |RPMTAG_PROVIDENAME |1047 |STRING_ARRAY|1 |Required| 20035 |----------------------+---------+------------+-----+--------| 20036 |RPMTAG_REQUIREFLAGS |1048 |INT32 | |Required| 20037 |----------------------+---------+------------+-----+--------| 20038 |RPMTAG_REQUIRENAME |1049 |STRING_ARRAY| |Required| 20039 |----------------------+---------+------------+-----+--------| 20040 |RPMTAG_REQUIREVERSION |1050 |STRING_ARRAY| |Required| 20041 |----------------------+---------+------------+-----+--------| 20042 |RPMTAG_CONFLICTFLAGS |1053 |INT32 | |Optional| 20043 |----------------------+---------+------------+-----+--------| 20044 |RPMTAG_CONFLICTNAME |1054 |STRING_ARRAY| |Optional| 20045 |----------------------+---------+------------+-----+--------| 20046 |RPMTAG_CONFLICTVERSION|1055 |STRING_ARRAY| |Optional| 20047 |----------------------+---------+------------+-----+--------| 20048 |RPMTAG_OBSOLETENAME |1090 |STRING_ARRAY| |Optional| 20049 |----------------------+---------+------------+-----+--------| 20050 |RPMTAG_PROVIDEFLAGS |1112 |INT32 | |Required| 20051 |----------------------+---------+------------+-----+--------| 20052 |RPMTAG_PROVIDEVERSION |1113 |STRING_ARRAY| |Required| 20053 |----------------------+---------+------------+-----+--------| 20054 |RPMTAG_OBSOLETEFLAGS |1114 |INT32 |1 |Optional| 20055 |----------------------+---------+------------+-----+--------| 20056 |RPMTAG_OBSOLETEVERSION|1115 |STRING_ARRAY| |Optional| 20057 +------------------------------------------------------------+ 20058 20059 RPMTAG_PROVIDENAME 20060 20061 This tag indicates the name of the dependency provided by this package. 20062 20063 RPMTAG_REQUIREFLAGS 20064 20065 Bits(s) to specify the dependency range and context. 20066 20067 RPMTAG_REQUIRENAME 20068 20069 This tag indicates the dependencies for this package. 20070 20071 RPMTAG_REQUIREVERSION 20072 20073 This tag indicates the versions associated with the values found in the 20074 RPMTAG_REQUIRENAME Index. 20075 20076 RPMTAG_CONFLICTFLAGS 20077 20078 Bits(s) to specify the conflict range and context. 20079 20080 RPMTAG_CONFLICTNAME 20081 20082 This tag indicates the conflictind dependencies for this package. 20083 20084 RPMTAG_CONFLICTVERSION 20085 20086 This tag indicates the versions associated with the values found in the 20087 RPMTAG_CONFLICTNAME Index. 20088 20089 RPMTAG_OBSOLETENAME 20090 20091 This tag indicates the obsoleted dependencies for this package. 20092 20093 RPMTAG_PROVIDEFLAGS 20094 20095 Bits(s) to specify the conflict range and context. 20096 20097 RPMTAG_PROVIDEVERSION 20098 20099 This tag indicates the versions associated with the values found in the 20100 RPMTAG_PROVIDENAME Index. 20101 20102 RPMTAG_OBSOLETEFLAGS 20103 20104 Bits(s) to specify the conflict range and context. 20105 20106 RPMTAG_OBSOLETEVERSION 20107 20108 This tag indicates the versions associated with the values found in the 20109 RPMTAG_OBSOLETENAME Index. 20110 20111 ------------------------------------------------------------------------------- 20112 20113 Package Dependency Values 20114 20115 The package dependencies are stored in the RPMTAG_REQUIRENAME and 20116 RPMTAG_REQUIREVERSION index records. The following values may be used. 20117 20118 Table 1-12. Index Type values 20119 20120 +-----------------------------------------------------------------------------+ 20121 | Name |Version| Meaning | Status | 20122 |------------------------+-------+-----------------------------------+--------| 20123 |lsb |2.0 |Indicates this is an LSB conforming|Required| 20124 | | |package. | | 20125 |------------------------+-------+-----------------------------------+--------| 20126 | | |Indicates That the package contains| | 20127 |rpmlib | |PMTAG_PROVIDENAME, | | 20128 |(VersionedDependencies) |3.0.3-1|RPMTAG_OBSOLETENAME or |Optional| 20129 | | |RPMTAG_PREREQ records that have a | | 20130 | | |version associated with them. | | 20131 |------------------------+-------+-----------------------------------+--------| 20132 |rpmlib | |Indicates the filenames in the | | 20133 |(PayloadFilesHavePrefix)|4.0-1 |Archive have had "." prepended to |Optional| 20134 | | |them. | | 20135 |------------------------+-------+-----------------------------------+--------| 20136 | | |Indicates that the filenames in the| | 20137 |rpmlib |3.0.4-1|Payload are represented in the |Optional| 20138 |(CompressedFileNames) | |RPMTAG_DIRINDEXES, RPMTAG_DIRNAME | | 20139 | | |and RPMTAG_BASENAMES indexes. | | 20140 |------------------------+-------+-----------------------------------+--------| 20141 |/bin/sh | |Interpreter usually required for |Optional| 20142 | | |installation scripts. | | 20143 +-----------------------------------------------------------------------------+ 20144 ------------------------------------------------------------------------------- 20145 20146 Package Dependencies Attributes 20147 20148 The package dependency attributes are stored in the RPMTAG_REQUIREFLAGS, 20149 RPMTAG_PROVIDEFLAGS and RPMTAG_OBSOLETEFLAGS index records. The following 20150 values may be used. 20151 20152 Table 1-13. Package Dependency Attributes 20153 20154 +----------------------------------------+ 20155 | Name | Value |Meaning| 20156 |----------------------+---------+-------| 20157 |RPMSENSE_LESS |0x02 | | 20158 |----------------------+---------+-------| 20159 |RPMSENSE_GREATER |0x04 | | 20160 |----------------------+---------+-------| 20161 |RPMSENSE_EQUAL |0x08 | | 20162 |----------------------+---------+-------| 20163 |RPMSENSE_PREREQ |0x40 | | 20164 |----------------------+---------+-------| 20165 |RPMSENSE_INTERP |0x100 | | 20166 |----------------------+---------+-------| 20167 |RPMSENSE_SCRIPT_PRE |0x200 | | 20168 |----------------------+---------+-------| 20169 |RPMSENSE_SCRIPT_POST |0x400 | | 20170 |----------------------+---------+-------| 20171 |RPMSENSE_SCRIPT_PREUN |0x800 | | 20172 |----------------------+---------+-------| 20173 |RPMSENSE_SCRIPT_POSTUN|0x1000 | | 20174 |----------------------+---------+-------| 20175 |RPMSENSE_RPMLIB |0x1000000| | 20176 +----------------------------------------+ 20177 ------------------------------------------------------------------------------- 20178 20179 Other Information 20180 20181 The following tag values are also found in the Header section. 20182 20183 Table 1-14. Other Tag Values 20184 20185 +--------------------------------------------------------------+ 20186 | Name |Tag Value| Type |Count| Status | 20187 |----------------------+---------+------------+-----+----------| 20188 |RPMTAG_BUILDTIME |1006 |INT32 |1 |Optional | 20189 |----------------------+---------+------------+-----+----------| 20190 |RPMTAG_BUILDHOST |1007 |STRING |1 |Optional | 20191 |----------------------+---------+------------+-----+----------| 20192 |RPMTAG_FILEVERIFYFLAGS|1045 |INT32 | |Optional | 20193 |----------------------+---------+------------+-----+----------| 20194 |RPMTAG_CHANGELOGTIME |1080 |INT32 | |Optional | 20195 |----------------------+---------+------------+-----+----------| 20196 |RPMTAG_CHANGELOGNAME |1081 |STRING_ARRAY| |Optional | 20197 |----------------------+---------+------------+-----+----------| 20198 |RPMTAG_CHANGELOGTEXT |1082 |STRING_ARRAY| |Optional | 20199 |----------------------+---------+------------+-----+----------| 20200 |RPMTAG_OPTFLAGS |1122 |STRING |1 |Optional | 20201 |----------------------+---------+------------+-----+----------| 20202 |RPMTAG_RHNPLATFORM |1131 |STRING |1 |Deprecated| 20203 |----------------------+---------+------------+-----+----------| 20204 |RPMTAG_PLATFORM |1132 |STRING |1 |Optional | 20205 +--------------------------------------------------------------+ 20206 20207 RPMTAG_BUILDTIME 20208 20209 This tag specifies the time as seconds since the epoch at which the package 20210 was built. 20211 20212 RPMTAG_BUILDHOST 20213 20214 This tag specifies the on which which the package was built. 20215 20216 RPMTAG_FILEVERIFYFLAGS 20217 20218 This tag specifies the bit(s) to control how files are to be verified after 20219 install, specifying which checks should be performed. 20220 20221 RPMTAG_CHANGELOGTIME 20222 20223 This tag specifies the Unix time in seconds since the epoch associated with 20224 each entry in the Changelog file. 20225 20226 RPMTAG_CHANGELOGNAME 20227 20228 This tag specifies the name of who made a change to this package 20229 20230 RPMTAG_CHANGELOGTEXT 20231 20232 This tag specifies the changes asssociated with a changelog entry. 20233 20234 RPMTAG_OPTFLAGS 20235 20236 This tag indicates additional flags which may have been passed to the 20237 compiler when building this package. 20238 20239 RPMTAG_RHNPLATFORM 20240 20241 This tag contains an opaque string whose contents are undefined. 20242 20243 RPMTAG_PLATFORM 20244 20245 This tag contains an opaque string whose contents are undefined. 20246 20247 ------------------------------------------------------------------------------- 20248 20249 Payload Section 20250 20251 The Payload section contains a compressed cpio archive. The format of this 20252 section is defined by RFC 1952: GZIP file format specification version 4.3. 20253 20254 When uncompressed, the cpio archive contains a sequence of records for each 20255 file. Each record contains a CPIO Header, Filename, Padding, and File Data. 20256 20257 Table 1-15. CPIO File Format 20258 20259 +-----------------------------------------------------------------------------+ 20260 |CPIO Header|Header structure as defined below. | 20261 |-----------+-----------------------------------------------------------------| 20262 |Filename |NUL terminated ASCII string containing the name of the file. | 20263 |-----------+-----------------------------------------------------------------| 20264 |Padding |0-3 bytes as needed to align the file stream to a 4 byte | 20265 | |boundary. | 20266 |-----------+-----------------------------------------------------------------| 20267 |File data |The contents of the file. | 20268 |-----------+-----------------------------------------------------------------| 20269 |Padding |0-3 bytes as needed to align the file stream to a 4 byte | 20270 | |boundary. | 20271 +-----------------------------------------------------------------------------+ 20272 20273 The CPIO Header uses the following header structure (sometimes referred to as 20274 "new ASCII" or "SVR4 cpio"). All numbers are stored as ASCII representations of 20275 their hexadecimal value with leading zeros as needed to fill the field. With 20276 the exception of c_namesize and the corresponding name string, and c_checksum, 20277 all information contained in the CPIO Header is also represented in the Header 20278 Section. The values in in the CPIO Header shall match the values contained in 20279 the Header Section. 20280 20281 struct { 20282 char c_magic[6]; 20283 char c_ino[8]; 20284 char c_mode[8]; 20285 char c_uid[8]; 20286 char c_gid[8]; 20287 char c_nlink[8]; 20288 char c_mtime[8]; 20289 char c_filesize[8]; 20290 char c_devmajor[8]; 20291 char c_devminor[8]; 20292 char c_rdevmajor[8]; 20293 char c_rdevminor[8]; 20294 char c_namesize[8]; 20295 char c_checksum[8]; 20296 }; 20297 20298 c_magic 20299 20300 Value identifying this cpio format. This value shall be "070701". 20301 20302 c_ino 20303 20304 This field contains the inode number from the filesystem from which the 20305 file was read. This field is ignored when installing a package. This field 20306 shall match the corresponding value in the RPMTAG_FILEINODES index in the 20307 Header section. 20308 20309 c_mode 20310 20311 Permission bits of the file. This is an ascii representation of the 20312 hexadecimal number representing the bit as defined for the st_mode field of 20313 the stat structure defined for the stat function. This field shall match 20314 the corresponding value in the RPMTAG_FILEMODES index in the Header 20315 section. 20316 20317 c_uid 20318 20319 Value identifying this owner of this file. This value matches the uid value 20320 of the corresponding user in the RPMTAG_FILEUSERNAME as found on the system 20321 where this package was built. The username specified in RPMTAG_FILEUSERNAME 20322 should take precedence when installing the package. 20323 20324 c_gid 20325 20326 Value identifying this group of this file. This value matches the gid value 20327 of the corresponding user in the RPMTAG_FILEGROUPNAME as found on the 20328 system where this package was built. The groupname specified in 20329 RPMTAG_FILEGROUPNAME should take precedence when installing the package. 20330 20331 c_nlink 20332 20333 Value identifying the number of links associated with this file. If the 20334 value is greater than 1, then this filename will be linked to 1 or more 20335 files in this archive that has a matching value for the c_ino, c_devmajor 20336 and c_devminor fields. 20337 20338 c_mtime 20339 20340 Value identifying the modification time of the file when it was read. This 20341 field shall match the corresponding value in the RPMTAG_FILEMTIMES index in 20342 the Header section. 20343 20344 c_filesize 20345 20346 Value identifying the size of the file. This field shall match the 20347 corresponding value in the RPMTAG_FILESIZES index in the Header section. 20348 20349 c_devmajor 20350 20351 The major number of the device containing the file system from which the 20352 file was read. With the exception of processing files with c_nlink >1, this 20353 field is ignored when installing a package. This field shall match the 20354 corresponding value in the RPMTAG_FILEDEVICES index in the Header section. 20355 20356 c_devminor 20357 20358 The minor number of the device containing the file system from which the 20359 file was read. With the exception of processing files with c_nlink >1, this 20360 field is ignored when installing a package. This field shall match the 20361 corresponding value in the RPMTAG_FILEDEVICES index in the Header section. 20362 20363 c_rdevmajor 20364 20365 The major number of the raw device containing the file system from which 20366 the file was read. This field is ignored when installing a package. This 20367 field shall match the corresponding value in the RPMTAG_RDEVS index in the 20368 Header section. 20369 20370 c_rdevminor 20371 20372 The minor number of the raw device containing the file system from which 20373 the file was read. This field is ignored when installing a package. This 20374 field shall match the corresponding value in the RPMTAG_RDEVS index in the 20375 Header section. 20376 20377 c_namesize 20378 20379 Value identifying the length of the filename, which is located immediately 20380 following the CPIO Header structure. 20381 20382 c_checksum 20383 20384 Value containing the CRC checksum of the file data. This field is not used, 20385 and shall contain the value "00000000". This field is ignored when 20386 installing a package. 20387 20388 A record with the filename "TRAILER!!!" indicates the last record in the 20389 archive. 20390 20391 ------------------------------------------------------------------------------- 20392 20393 Package Script Restrictions 20394 20395 Scripts used as part of the package install and uninstall shall only use 20396 commands and interfaces that are specified by the LSB. All other commands are 20397 not guaranteed to be present, or to behave in expected ways. 20398 20399 Packages shall not use RPM triggers. 20400 20401 Packages shall not depend on the order in which scripts are executed 20402 (pre-install, pre-uninstall, &c), when doing an upgrade. 20403 20404 ------------------------------------------------------------------------------- 20405 20406 Package Tools 20407 20408 The LSB does not specify the interface to the tools used to manipulate 20409 LSB-conformant packages. Each conforming distribution shall provide 20410 documentation for installing LSB packages. 20411 20412 ------------------------------------------------------------------------------- 20413 20414 Package Naming 20415 20416 Packages supplied by distributions and applications must follow the following 20417 rules for the name field within the package. These rules are not required for 20418 the filename of the package file itself.[39] 20419 20420 The following rules apply to the name field alone, not including any release or 20421 version.[40] 20422 20423 * If the name begins with "lsb-" and contains no other hyphens, the name 20424 shall be assigned by the Linux Assigned Names and Numbers Authority 20425 (LANANA), which shall maintain a registry of LSB names. The name may be 20426 registered by either a distribution or an application. 20427 20428 * If the package name begins with "lsb-" and contains more than one hyphen 20429 (for example "lsb-distro.example.com-database" or "lsb-gnome-gnumeric"), 20430 then the portion of the package name between first and second hyphens shall 20431 either be an LSB provider name assigned by the LANANA, or it may be one of 20432 the owners' fully-qualified domain names in lower case (e.g., "debian.org", 20433 "staroffice.sun.com"). The LSB provider name assigned by LANANA shall only 20434 consist of the ASCII characters [a-z0-9]. The provider name or domain name 20435 may be either that of a distribution or an application. 20436 20437 * Package names containing no hyphens are reserved for use by distributions. 20438 Applications must not use such names.[41] 20439 20440 * Package names which do not start with "lsb-" and which contain a hyphen 20441 are open to both distributions and applications. Distributions may name 20442 packages in any part of this namespace. They are encouraged to use names 20443 from one of the other namespaces available to them, but this is not 20444 required due to the large amount of current practice to the contrary.[42] 20445 Applications may name their packages this way, but only if the portion of 20446 the name before the first hyphen is a provider name or registered domain 20447 name as described above.[43]Note that package names in this namespace are 20448 available to both the distribution and an application. Distributions and 20449 applications will need to consider this potential for conflicts when 20450 deciding to use these names rather than the alternatives (such as names 20451 starting with "lsb-"). 20452 20453 ------------------------------------------------------------------------------- 20454 20455 Package Dependencies 20456 20457 Packages shall have a dependency that indicates which LSB modules are required. 20458 LSB module descriptions are dash seperated tuples containing the name 'lsb', 20459 the module name, and the architecture name. The following dependencies may be 20460 used. 20461 20462 lsb-core-arch 20463 20464 This dependency is used to indicate that the application is dependent on 20465 features contained in the LSB-Core specification. 20466 20467 lsb-core-noarch 20468 20469 This dependency is used to indicate that the application is dependent on 20470 features contained in the LSB-Core specification and that the package does 20471 not contain any architecture specific files. 20472 20473 Packages shall not depend on other system-provided dependencies. They shall not 20474 depend on non-system-provided dependencies unless those dependencies are 20475 fulfilled by packages which are part of the same application. A package may 20476 only provide a virtual package name which is registered to that application. 20477 20478 Other modules in the LSB may supplement this list. The architecture specific 20479 dependencies are described in the relevant architecture specific LSB. 20480 20481 ------------------------------------------------------------------------------- 20482 20483 Package Architecture Considerations 20484 20485 Packages which do not contain any architecture specific files must specify an 20486 architecture of noarch. A LSB runtime environment must accept values noarch, or 20487 the value specified in the architecture specific supplement. 20488 20489 Additional specifications or restrictions may be found in the architecture 20490 specific LSB specification. 20491 20492 Notes 20493 20494 [1] The LSB generally does not include interfaces unlikely to be used by 20495 software applications. 20496 20497 [2] As of spring 2004, we don't know of any Linux kernel patches to switch to 20498 ENXIO, but we believe that such a kernel patch would be accepted if 20499 submitted. 20500 20501 [3] For example, if off_t is 64 bits. 20502 20503 [4] As of spring 2004, we don't know of any Linux kernel patches to switch to 20504 ENXIO, but we believe that such a kernel patch would be accepted if 20505 submitted. 20506 20507 [5] As of spring 2004, we don't know of any Linux kernel patches to switch to 20508 ENXIO, but we believe that such a kernel patch would be accepted if 20509 submitted. 20510 20511 [6] SIOCGIFCONF is similar to the if_nameindex family found in the Single UNIX 20512 Specification, Version 3 or the getifaddrs family found in BSD. 20513 20514 [7] Historical UNIX systems disagree on the meaning of the return value. 20515 20516 [8] This was a deliberate Linus decision after an unpopular experiment in 20517 including the calling process in the 2.5.1 kernel. See "What does it mean 20518 to signal everybody?", Linux Weekly News, 20 December 2001, http://lwn.net 20519 /2001/1220/kernel.php3 20520 20521 [9] As of spring 2004, we don't know of any Linux kernel patches to switch to 20522 ENXIO, but we believe that such a kernel patch would be accepted if 20523 submitted. 20524 20525 [10] Note the optional use of the buffer, unlike the strerror_r found in the 20526 Single UNIX Specification, Version 3, in which the message is always 20527 copied into the supplied buffer. The return types also differ. 20528 20529 [11] A token is a nonempty string of characters not occurring in the string 20530 delim, followed by \0 or by a character occurring in delim. 20531 20532 [12] The Linux kernel has deliberately chosen EISDIR for this case and does not 20533 expect to change (Al Viro, personal communication). 20534 20535 [13] These macros take the stat buffer (an int) as an argument -- not a pointer 20536 to the buffer! 20537 20538 [14] Traditionally, /lib and /usr/lib. This case would also cover cases in 20539 which the system used the mechanism of /etc/ld.so.conf and /etc/ 20540 ld.so.cache to provide access. 20541 20542 Example: An application which is not linked against libm may choose to 20543 dlopen libm. 20544 20545 [15] Future versions of this specification might define additional service 20546 names. 20547 20548 [16] Thus, applications should place options before operands, or use --, as 20549 needed. This text is needed because GNU option parsing differs from POSIX. 20550 For example, ls . -a in GNU ls means to list the current directory, 20551 showing all files (that is, "." is an operand and -a is an option). In 20552 POSIX, "." and -a are both operands, and the command means to list the 20553 current directory, and also the file named -a. Suggesting that 20554 applications rely on the setting of the POSIXLY_CORRECT environment 20555 variable, or try to set it, seems worse than just asking the applictions 20556 to invoke commands in ways which work with either the POSIX or GNU 20557 behaviors. 20558 20559 [17] Linux Standard Base 20560 20561 [18] ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 20562 Specification(SUS) V3 20563 20564 [19] The LSB generally does not include software development utilities nor does 20565 it specify .o and .a file formats. 20566 20567 [20] The following two options are expected to be added in a future version of 20568 the LSB: 20569 20570 -o office 20571 20572 sets the user's office room number. 20573 20574 -p office-phone 20575 20576 sets the user's office phone number. 20577 20578 Note that some implementations contain a "-o other" option which specifies 20579 an additional field called "other". Traditionally, this field is not 20580 subject to the constraints about legitimate characters in fields. Also, 20581 one traditionally shall have appropriate privileges to change the other 20582 field. At this point there is no consensus about whether it is desirable 20583 to specify the other field; applications may wish to avoid using it. 20584 20585 The "-w work_phone" field found in some implementations should be replaced 20586 by the "-p office_phone" field. The "-r room_number" field found in some 20587 implementations is the equivalent of the "-o office" option mentioned 20588 above; which one of these two options to specify will depend on 20589 implementation experience and the decision regarding the other field. 20590 20591 The intention is for chfn to match the behavior of finger; some historical 20592 implementations have been broken in the sense that finger and chfn do not 20593 agree on what the fields are. 20594 20595 [21] The behavior specified here is similar to that specified by the Single 20596 UNIX Specification version 3 without the XSI option. However, the LSB 20597 forbids all options and the latter forbids only -n. 20598 20599 [22] Need further investigation on the behavior of various implementations 20600 concerning whether program is a full pathname, the basename only, the 20601 program as named by argv[0], or what. 20602 20603 [23] Rationale: System vendors and local system administrators want to run 20604 applications from removable media, but want the possibility to control 20605 what the application can do. 20606 20607 [24] The LSB does not require the kernel to be Linux; the set of mandated 20608 options reflects current existing practice, but may be modified in future 20609 releases. 20610 20611 [25] Linux allows rename() on a directory without having write access, but the 20612 LSB does not require this. 20613 20614 [26] These additional restrictions are required in order to support the testing 20615 and certification programs associated with the LSB. In each case, these 20616 are values that defined macros must not have; conforming applications that 20617 use these values shall trigger a failure in the interface that is 20618 otherwise described as a "may fail". 20619 20620 [27] This specification does not require, but is designed to allow, the 20621 development of a system which runs boot scripts in parallel. Hence, 20622 enforced-serialization of scripts is avoided unless it is explicitly 20623 necessary. 20624 20625 [28] More than one space, or a tab character, indicates the continuation line. 20626 20627 [29] For example, if you want a service to run in runlevels 3, 4, and 5 (only), 20628 specify "Default-Start: 3 4 5" and "Default-Stop: 0 1 2 6". 20629 20630 [30] For example, install_initd might create symbolic links in /etc/rc2.d and 20631 other such directories which point to the files in /etc/init.d (or it 20632 might update a database, or some other mechanism). The init.d files 20633 themselves should already be in /etc/init.d before running install_initd. 20634 20635 [31] The dollar sign does not indicate variable expansion as in many Linux 20636 utilities. Starting a facility name with a dollar sign is merely a way of 20637 dividing the namespace between the system and applications. 20638 20639 [32] For example, daemons to query DNS, NIS+, or LDAP 20640 20641 [33] as defined in RFC 1833 20642 20643 [34] In some LSB run-time environments, filesystems such as /usr may be remote. 20644 Many applications that require $local_fs will probably require also 20645 require $remote_fs 20646 20647 [35] i.e., using a network-based time program such as ntp or rdate, or via the 20648 hardware Real Time Clock 20649 20650 [36] This note is only informative. Commonly used methods check either for the 20651 existence of the /proc/pid directory or use /proc/pid/exe and /proc/pid/ 20652 cmdline. Relying only on /proc/pid/exe is discouraged since this results 20653 in a not-running status for daemons that are written in a script language. 20654 20655 [37] Supplying an RPM format package is encouraged because it makes systems 20656 easier to manage. A future version of the LSB may require RPM, or specify 20657 a way for an installer to update a package database. 20658 20659 Applications are also encouraged to uninstall cleanly. 20660 20661 [38] The distribution itself may use a different packaging format for its own 20662 packages, and of course it may use any available mechanism for installing 20663 the LSB-conformant packages. 20664 20665 [39] For example, there are discrepancies among distributions concerning 20666 whether the name might be frobnicator-1.7-21-ppc32.rpm or 20667 frobnicator-1.7-21-powerpc32.rpm. The architecture aside, recommended 20668 practice is for the filename of the package file to match the name within 20669 the package. 20670 20671 [40] For example, if the name with the release and version is 20672 frobnicator-1.7-21, the name part is frobnicator and falls under the rules 20673 for a name with no hyphens. 20674 20675 [41] For example, "frobnicator". 20676 20677 [42] For example, ssh-common, ssh-client, kernel-pcmcia, and the like. Possible 20678 alternative names include sshcommon, foolinux-ssh-common (where foolinux 20679 is registered to the distribution), or lsb-foolinux-ssh-common. 20680 20681 [43] For example, if an application vendor has domain name visicalc.example.com 20682 and has registered visicalc as a provider name, they might name packages 20683 visicalc-base, visicalc.example.com-charting, and the like. 20684