1 Linux Standard Base Core Module Specification for IA32 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 79 ------------------------------------------------------------------------------- 80 81 Foreword 82 83 This is version 2.0 of the Linux Standard Base Core Module Specification for 84 IA32. An implementation of this version of the specification may not claim to 85 be an implementation of the Linux Standard Base unless it has successfully 86 completed the compliance process as defined by the Free Standards Group. 87 88 ------------------------------------------------------------------------------- 89 90 Introduction 91 92 The LSB defines a binary interface for application programs that are compiled 93 and packaged for LSB-conforming implementations on many different hardware 94 architectures. Since a binary specification shall include information specific 95 to the computer processor architecture for which it is intended, it is not 96 possible for a single document to specify the interface for all possible 97 LSB-conforming implementations. Therefore, the LSB is a family of 98 specifications, rather than a single one. 99 100 This document should be used in conjunction with the documents it references. 101 This document enumerates the system components it includes, but descriptions of 102 those components may be included entirely or partly in this document, partly in 103 other documents, or entirely in other reference documents. For example, the 104 section that describes system service routines includes a list of the system 105 routines supported in this interface, formal declarations of the data 106 structures they use that are visible to applications, and a pointer to the 107 underlying referenced specification for information about the syntax and 108 semantics of each call. Only those routines not described in standards 109 referenced by this document, or extensions to those standards, are described in 110 the detail. Information referenced in this way is as much a part of this 111 document as is the information explicitly included here. 112 113 I. Introductory Elements 114 115 Table of Contents 116 1. Scope 117 2. Normative References 118 3. Requirements 119 4. Definitions 120 5. Terminology 121 122 ------------------------------------------------------------------------------- 123 124 Chapter 1. Scope 125 126 General 127 128 The Linux Standard Base (LSB) defines a system interface for compiled 129 applications and a minimal environment for support of installation scripts. Its 130 purpose is to enable a uniform industry standard environment for high-volume 131 applications conforming to the LSB. 132 133 These specifications are composed of two basic parts: A common specification 134 ("LSB-generic") describing those parts of the interface that remain constant 135 across all implementations of the LSB, and an architecture-specific 136 specification ("LSB-arch") describing the parts of the interface that vary by 137 processor architecture. Together, the LSB-generic and the architecture-specific 138 supplement for a single hardware architecture provide a complete interface 139 specification for compiled application programs on systems that share a common 140 hardware architecture. 141 142 The LSB-generic document shall be used in conjunction with an 143 architecture-specific supplement. Whenever a section of the LSB-generic 144 specification shall be supplemented by architecture-specific information, the 145 LSB-generic document includes a reference to the architecture supplement. 146 Architecture supplements may also contain additional information that is not 147 referenced in the LSB-generic document. 148 149 The LSB contains both a set of Application Program Interfaces (APIs) and 150 Application Binary Interfaces (ABIs). APIs may appear in the source code of 151 portable applications, while the compiled binary of that application may use 152 the larger set of ABIs. A conforming implementation shall provide all of the 153 ABIs listed here. The compilation system may replace (e.g. by macro definition) 154 certain APIs with calls to one or more of the underlying binary interfaces, and 155 may insert calls to binary interfaces as needed. 156 157 The LSB is primarily a binary interface definition. Not all of the source level 158 APIs available to applications may be contained in this specification. 159 160 ------------------------------------------------------------------------------- 161 162 Module Specific Scope 163 164 This is the IA32 architecture specific Core module of the Linux Standards Base 165 (LSB). This module supplements the generic LSB Core module with those 166 interfaces that differ between architectures. 167 168 Interfaces described in this module are mandatory except where explicitly 169 listed otherwise. Core interfaces may be supplemented by other modules; all 170 modules are built upon the core. 171 172 ------------------------------------------------------------------------------- 173 174 Chapter 2. Normative References 175 176 The specifications listed below are referenced in whole or in part by the Linux 177 Standard Base. In this specification, where only a particular section of one of 178 these references is identified, then the normative reference is to that section 179 alone, and the rest of the referenced document is informative. 180 181 Table 2-1. Normative References 182 183 +-----------------------------------------------------------------------------+ 184 |System V Application Binary Interface - DRAFT - |http://www.caldera.com/ | 185 |17 December 2003 |developers/gabi/2003-12-17/ | 186 | |contents.html | 187 |------------------------------------------------+----------------------------| 188 |DWARF Debugging Information Format, Revision |http://www.eagercon.com/ | 189 |2.0.0 (July 27, 1993) |dwarf/dwarf-2.0.0.pdf | 190 |------------------------------------------------+----------------------------| 191 |Filesystem Hierarchy Standard (FHS) 2.3 |http://www.pathname.com/fhs/| 192 |------------------------------------------------+----------------------------| 193 |IEEE Standard 754 for Binary Floating-Point |http://www.ieee.org/ | 194 |Arithmetic | | 195 |------------------------------------------------+----------------------------| 196 |System V Application Binary Interface, Edition |http://www.caldera.com/ | 197 |4.1 |developers/devspecs/ | 198 | |gabi41.pdf | 199 |------------------------------------------------+----------------------------| 200 |The IA-32 Intel Architecture Software |http://developer.intel.com/ | 201 |Developer's Manual Volume 1: Basic Architecture |design/pentium4/manuals/ | 202 | |245470.htm | 203 |------------------------------------------------+----------------------------| 204 |The IA-32 Intel Architecture Software |http://developer.intel.com/ | 205 |Developer's Manual Volume 2: Instruction Set |design/pentium4/manuals/ | 206 |Reference |245471.htm | 207 |------------------------------------------------+----------------------------| 208 |The IA-32 Intel Architecture Software |http://developer.intel.com/ | 209 |Developer's Manual Volume 3: System Programming |design/pentium4/manuals/ | 210 |Guide |245472.htm | 211 |------------------------------------------------+----------------------------| 212 |System V Application Binary Interface - |http://www.caldera.com/ | 213 |Intel386? Architecture Processor Supplement, |developers/devspecs/ | 214 |Fourth Edition |abi386-4.pdf | 215 |------------------------------------------------+----------------------------| 216 |ISO/IEC 9899: 1999, Programming Languages --C | | 217 |------------------------------------------------+----------------------------| 218 |Linux Assigned Names And Numbers Authority |http://www.lanana.org/ | 219 |------------------------------------------------+----------------------------| 220 | |http://www.UNIX-systems.org/| 221 |Large File Support |version2/whatsnew/ | 222 | |lfs20mar.html | 223 |------------------------------------------------+----------------------------| 224 |LI18NUX 2000 Globalization Specification, |http://www.li18nux.org/docs/| 225 |Version 1.0 with Amendment 4 |html/LI18NUX-2000-amd4.htm | 226 |------------------------------------------------+----------------------------| 227 |Linux Standard Base |http://www.linuxbase.org/ | 228 | |spec/ | 229 |------------------------------------------------+----------------------------| 230 | |http://www.opengroup.org/ | 231 |OSF-RFC 86.0 |tech/rfc/mirror-rfc/ | 232 | |rfc86.0.txt | 233 |------------------------------------------------+----------------------------| 234 |RFC 1833: Binding Protocols for ONC RPC Version |http://www.ietf.org/rfc/ | 235 |2 |rfc1833.txt | 236 |------------------------------------------------+----------------------------| 237 |RFC 1952: GZIP file format specification version|http://www.ietf.org/rfc/ | 238 |4.3 |rfc1952.txt | 239 |------------------------------------------------+----------------------------| 240 |RFC 2440: OpenPGP Message Format |http://www.ietf.org/rfc/ | 241 | |rfc2440.txt | 242 |------------------------------------------------+----------------------------| 243 |CAE Specification, May 1996, X/Open Curses, |http://www.opengroup.org/ | 244 |Issue 4, Version 2 (ISBN: 1-85912-171-3, C610), |publications/catalog/un.htm | 245 |plus Corrigendum U018 | | 246 |------------------------------------------------+----------------------------| 247 |The Single UNIX Specification(SUS) Version 2, |http://www.opengroup.org/ | 248 |Commands and Utilities (XCU), Issue 5 (ISBN: |publications/catalog/un.htm | 249 |1-85912-191-8, C604) | | 250 |------------------------------------------------+----------------------------| 251 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 252 |Interfaces and Headers (XSH),Issue 5 (ISBN: |publications/catalog/un.htm | 253 |1-85912-181-0, C606) | | 254 |------------------------------------------------+----------------------------| 255 |ISO/IEC 9945:2003 Portable Operating System |http://www.unix.org/version3| 256 |(POSIX)and The Single UNIX Specification(SUS) |/ | 257 |V3 | | 258 |------------------------------------------------+----------------------------| 259 |System V Interface Definition, Issue 3 (ISBN | | 260 |0201566524) | | 261 |------------------------------------------------+----------------------------| 262 |System V Interface Definition,Fourth Edition | | 263 |------------------------------------------------+----------------------------| 264 |zlib 1.2 Manual |http://www.gzip.org/zlib/ | 265 +-----------------------------------------------------------------------------+ 266 ------------------------------------------------------------------------------- 267 268 Chapter 3. Requirements 269 270 Relevant Libraries 271 272 The libraries listed in Table 3-1 shall be available on IA32 Linux Standard 273 Base systems, with the specified runtime names. These names override or 274 supplement the names specified in the generic LSB specification. The specified 275 program interpreter, referred to as proginterp in this table, shall be used to 276 load the shared libraries specified by DT_NEEDED entries at run time. 277 278 Table 3-1. Standard Library Names 279 280 +----------------------------+ 281 | Library | Runtime Name | 282 |----------+-----------------| 283 |libm |libm.so.6 | 284 |----------+-----------------| 285 |libdl |libdl.so.2 | 286 |----------+-----------------| 287 |libcrypt |libcrypt.so.1 | 288 |----------+-----------------| 289 |libz |libz.so.1 | 290 |----------+-----------------| 291 |libncurses|libncurses.so.5 | 292 |----------+-----------------| 293 |libutil |libutil.so.1 | 294 |----------+-----------------| 295 |libc |libc.so.6 | 296 |----------+-----------------| 297 |libpthread|libpthread.so.0 | 298 |----------+-----------------| 299 |proginterp|/lib/ld-lsb.so.2 | 300 |----------+-----------------| 301 |libgcc_s |libgcc_s.so.1 | 302 +----------------------------+ 303 304 These libraries will be in an implementation-defined directory which the 305 dynamic linker shall search by default. 306 307 ------------------------------------------------------------------------------- 308 309 LSB Implementation Conformance 310 311 An implementation shall satisfy the following requirements: 312 313 * The implementation shall implement fully the architecture described in the 314 hardware manual for the target processor architecture. 315 316 * The implementation shall be capable of executing compiled applications 317 having the format and using the system interfaces described in this 318 document. 319 320 * The implementation shall provide libraries containing the interfaces 321 specified by this document, and shall provide a dynamic linking mechanism 322 that allows these interfaces to be attached to applications at runtime. All 323 the interfaces shall behave as specified in this document. 324 325 * The map of virtual memory provided by the implementation shall conform to 326 the requirements of this document. 327 328 * The implementation's low-level behavior with respect to function call 329 linkage, system traps, signals, and other such activities shall conform to 330 the formats described in this document. 331 332 * The implementation shall provide all of the mandatory interfaces in their 333 entirety. 334 335 * The implementation may provide one or more of the optional interfaces. Each 336 optional interface that is provided shall be provided in its entirety. The 337 product documentation shall state which optional interfaces are provided. 338 339 * The implementation shall provide all files and utilities specified as part 340 of this document in the format defined here and in other referenced 341 documents. All commands and utilities shall behave as required by this 342 document. The implementation shall also provide all mandatory components of 343 an application's runtime environment that are included or referenced in 344 this document. 345 346 * The implementation, when provided with standard data formats and values at 347 a named interface, shall provide the behavior defined for those values and 348 data formats at that interface. However, a conforming implementation may 349 consist of components which are separately packaged and/or sold. For 350 example, a vendor of a conforming implementation might sell the hardware, 351 operating system, and windowing system as separately packaged items. 352 353 * The implementation may provide additional interfaces with different names. 354 It may also provide additional behavior corresponding to data values 355 outside the standard ranges, for standard named interfaces. 356 357 358 359 ------------------------------------------------------------------------------- 360 361 LSB Application Conformance 362 363 An application shall satisfy the following requirements: 364 365 366 367 * Its executable files are either shell scripts or object files in the format 368 defined for the Object File Format system interface. 369 370 * Its object files participate in dynamic linking as defined in the Program 371 Loading and Linking System interface. 372 373 * It employs only the instructions, traps, and other low-level facilities 374 defined in the Low-Level System interface as being for use by applications. 375 376 * If it requires any optional interface defined in this document in order to 377 be installed or to execute successfully, the requirement for that optional 378 interface is stated in the application's documentation. 379 380 * It does not use any interface or data format that is not required to be 381 provided by a conforming implementation, unless: 382 383 + If such an interface or data format is supplied by another application 384 through direct invocation of that application during execution, that 385 application is in turn an LSB conforming application. 386 387 + The use of that interface or data format, as well as its source, is 388 identified in the documentation of the application. 389 390 * It shall not use any values for a named interface that are reserved for 391 vendor extensions. 392 393 A strictly conforming application does not require or use any interface, 394 facility, or implementation-defined extension that is not defined in this 395 document in order to be installed or to execute successfully. 396 397 ------------------------------------------------------------------------------- 398 399 Chapter 4. Definitions 400 401 For the purposes of this document, the following definitions, as specified in 402 the ISO/IEC Directives, Part 2, 2001, 4th Edition, apply: 403 404 can 405 406 be able to; there is a possibility of; it is possible to 407 408 cannot 409 410 be unable to; there is no possibilty of; it is not possible to 411 412 may 413 414 is permitted; is allowed; is permissible 415 416 need not 417 418 it is not required that; no...is required 419 420 shall 421 422 is to; is required to; it is required that; has to; only...is permitted; it 423 is necessary 424 425 shall not 426 427 is not allowed [permitted] [acceptable] [permissible]; is required to be 428 not; is required that...be not; is not to be 429 430 should 431 432 it is recommended that; ought to 433 434 should not 435 436 it is not recommended that; ought not to 437 438 ------------------------------------------------------------------------------- 439 440 Chapter 5. Terminology 441 442 For the purposes of this document, the following terms apply: 443 444 archLSB 445 446 The architectural part of the LSB Specification which describes the 447 specific parts of the interface that are platform specific. The archLSB is 448 complementary to the gLSB. 449 450 Binary Standard 451 452 The total set of interfaces that are available to be used in the compiled 453 binary code of a conforming application. 454 455 gLSB 456 457 The common part of the LSB Specification that describes those parts of the 458 interface that remain constant across all hardware implementations of the 459 LSB. 460 461 implementation-defined 462 463 Describes a value or behavior that is not defined by this document but is 464 selected by an implementor. The value or behavior may vary among 465 implementations that conform to this document. An application should not 466 rely on the existence of the value or behavior. An application that relies 467 on such a value or behavior cannot be assured to be portable across 468 conforming implementations. The implementor shall document such a value or 469 behavior so that it can be used correctly by an application. 470 471 Shell Script 472 473 A file that is read by an interpreter (e.g., awk). The first line of the 474 shell script includes a reference to its interpreter binary. 475 476 Source Standard 477 478 The set of interfaces that are available to be used in the source code of a 479 conforming application. 480 481 undefined 482 483 Describes the nature of a value or behavior not defined by this document 484 which results from use of an invalid program construct or invalid data 485 input. The value or behavior may vary among implementations that conform to 486 this document. An application should not rely on the existence or validity 487 of the value or behavior. An application that relies on any particular 488 value or behavior cannot be assured to be portable across conforming 489 implementations. 490 491 unspecified 492 493 Describes the nature of a value or behavior not specified by this document 494 which results from use of a valid program construct or valid data input. 495 The value or behavior may vary among implementations that conform to this 496 document. An application should not rely on the existence or validity of 497 the value or behavior. An application that relies on any particular value 498 or behavior cannot be assured to be portable across conforming 499 implementations. 500 501 ELF Specification 502 503 ------------------------------------------------------------------------------- 504 505 Table of Contents 506 I. Low Level System Information 507 508 1. Machine Interface 509 510 Processor Architecture 511 Data Representation 512 513 2. Function Calling Sequence 514 515 CPU Registers 516 Floating Point Registers 517 Stack Frame 518 Arguments 519 Return Values 520 521 3. Operating System Interface 522 523 Virtual Address Space 524 Processor Execution Mode 525 Exception Interface 526 Signal Delivery 527 528 4. Process Initialization 529 530 Special Registers 531 Process Stack (on entry) 532 Auxilliary Vectors 533 Environment 534 535 5. Coding Examples 536 537 Code Model Overview/Architecture Constraints 538 Position-Independent Fucntion Prologue 539 Data Objects 540 Function Calls 541 Branching 542 543 6. C Stack Frame 544 545 Variable Argument List 546 Dynamic Allocation of Stack Space 547 548 7. Debug Information 549 550 II. Object Format 551 552 8. ELF Header 553 554 Machine Information 555 556 9. Special Sections 557 558 Special Sections 559 560 10. Symbol Table 561 11. Relocation 562 563 Relocation Types 564 565 III. Program Loading and Dynamic Linking 566 567 12. Program Header 568 569 Types 570 Flags 571 572 13. Program Loading 573 14. Dynamic Linking 574 575 Dynamic Section 576 Global Offset Table 577 Shared Object Dependencies 578 Function Addresses 579 Procedure Linkage Table 580 Initialization and Termination Functions 581 582 List of Tables 583 1-1. Scalar Types 584 9-1. ELF Special Sections 585 9-2. Additional Special Sections 586 587 I. Low Level System Information 588 589 Table of Contents 590 1. Machine Interface 591 2. Function Calling Sequence 592 3. Operating System Interface 593 4. Process Initialization 594 5. Coding Examples 595 6. C Stack Frame 596 7. Debug Information 597 598 ------------------------------------------------------------------------------- 599 600 Chapter 1. Machine Interface 601 602 Processor Architecture 603 604 The IA32 Architecture is specified by the following documents 605 606 * The IA-32 Intel Architecture Software Developer's Manual Volume 1: Basic 607 Architecture 608 609 * The IA-32 Intel Architecture Software Developer's Manual Volume 2: 610 Instruction Set Reference 611 612 * The IA-32 Intel Architecture Software Developer's Manual Volume 3: System 613 Programming Guide 614 615 Only the features of the Intel486 processor instruction set may be assumed to 616 be present. An application is responsible for determining if any additional 617 instruction set features are available before using those additional features. 618 If a feature is not present, then the application may not use it. 619 620 Only instructions which do not require elevated privileges may be used. 621 622 Applications may not make system calls directly. The interfaces in the C 623 library must be used instead. 624 625 Applications conforming to this specification must provide feedback to the user 626 if a feature that is required for correct execution of the application is not 627 present. Applications conforming to this specification should attempt to 628 execute in a diminished capacity if a required instruction set feature is not 629 present. 630 631 This specfication does not provide any performance guarantees of a conforming 632 system. A system conforming to this specification may be implemented in either 633 hardware or software. 634 635 ------------------------------------------------------------------------------- 636 637 Data Representation 638 639 LSB-conforming applications shall use the data representation as defined in 640 Chapter 3 of the System V Application Binary Interface - Intel386 Architecture 641 Processor Supplement. 642 643 ------------------------------------------------------------------------------- 644 645 Byte Ordering 646 647 ------------------------------------------------------------------------------- 648 649 Fundamental Types 650 651 In addition to the fundamental types specified in Chapter 3 of the System V 652 Application Binary Interface - Intel386 Architecture, a 64 bit data type is 653 defined here. 654 655 Table 1-1. Scalar Types 656 657 +---------------------------------------------------------------------------+ 658 | Type | C |sizeof|Alignment (bytes)|IntelI386 Architecture| 659 |--------+------------------+------+-----------------+----------------------| 660 | |long long | | | | 661 | |------------------|8 |4 |signed double word | 662 |Integral|signed long long | | | | 663 | |------------------+------+-----------------+----------------------| 664 | |unsigned long long|8 |4 |unsigned double word | 665 +---------------------------------------------------------------------------+ 666 667 ------------------------------------------------------------------------------- 668 669 Aggregates and Unions 670 671 ------------------------------------------------------------------------------- 672 673 Bit Fields 674 675 ------------------------------------------------------------------------------- 676 677 Chapter 2. Function Calling Sequence 678 679 LSB-conforming applications shall use the function calling sequence as defined 680 in Chapter 3 of the System V Application Binary Interface - Intel386 681 Architecture Processor Supplement. 682 683 ------------------------------------------------------------------------------- 684 685 CPU Registers 686 687 ------------------------------------------------------------------------------- 688 689 Floating Point Registers 690 691 ------------------------------------------------------------------------------- 692 693 Stack Frame 694 695 ------------------------------------------------------------------------------- 696 697 Arguments 698 699 ------------------------------------------------------------------------------- 700 701 Integral/Pointer 702 703 ------------------------------------------------------------------------------- 704 705 Floating Point 706 707 ------------------------------------------------------------------------------- 708 709 Struct and Union Point 710 711 ------------------------------------------------------------------------------- 712 713 Variable Arguments 714 715 ------------------------------------------------------------------------------- 716 717 Return Values 718 719 ------------------------------------------------------------------------------- 720 721 Void 722 723 ------------------------------------------------------------------------------- 724 725 Integral/Pointer 726 727 ------------------------------------------------------------------------------- 728 729 Floating Point 730 731 ------------------------------------------------------------------------------- 732 733 Struct and Union Point 734 735 ------------------------------------------------------------------------------- 736 737 Chapter 3. Operating System Interface 738 739 LSB-conforming applications shall use the Operating System Interfaces as 740 defined in Chapter 3 of the System V Application Binary Interface - Intel386 741 Architecture Processor Supplement. 742 743 ------------------------------------------------------------------------------- 744 745 Virtual Address Space 746 747 ------------------------------------------------------------------------------- 748 749 Page Size 750 751 ------------------------------------------------------------------------------- 752 753 Virtual Address Assignments 754 755 ------------------------------------------------------------------------------- 756 757 Managing the PRocess Stack 758 759 ------------------------------------------------------------------------------- 760 761 Coding Guidlines 762 763 ------------------------------------------------------------------------------- 764 765 Processor Execution Mode 766 767 ------------------------------------------------------------------------------- 768 769 Exception Interface 770 771 ------------------------------------------------------------------------------- 772 773 Hardware Exception Types 774 775 ------------------------------------------------------------------------------- 776 777 Software Trap Types 778 779 ------------------------------------------------------------------------------- 780 781 Signal Delivery 782 783 ------------------------------------------------------------------------------- 784 785 Signal Handler Interface 786 787 ------------------------------------------------------------------------------- 788 789 Chapter 4. Process Initialization 790 791 LSB-conforming applications shall use the Process Initialization as defined in 792 Chapter 3 of the System V Application Binary Interface - Intel386 Architecture 793 Processor Supplement. 794 795 ------------------------------------------------------------------------------- 796 797 Special Registers 798 799 ------------------------------------------------------------------------------- 800 801 Process Stack (on entry) 802 803 ------------------------------------------------------------------------------- 804 805 Auxilliary Vectors 806 807 ------------------------------------------------------------------------------- 808 809 Environment 810 811 ------------------------------------------------------------------------------- 812 813 Chapter 5. Coding Examples 814 815 LSB-conforming applications may implement fundamental operations using the 816 Coding Examples as defined in Chapter 3 of the System V Application Binary 817 Interface - Intel386 Architecture Processor Supplement. 818 819 ------------------------------------------------------------------------------- 820 821 Code Model Overview/Architecture Constraints 822 823 ------------------------------------------------------------------------------- 824 825 Position-Independent Fucntion Prologue 826 827 ------------------------------------------------------------------------------- 828 829 Data Objects 830 831 ------------------------------------------------------------------------------- 832 833 Absolute Load & Store 834 835 ------------------------------------------------------------------------------- 836 837 Position Relative Load & Store 838 839 ------------------------------------------------------------------------------- 840 841 Function Calls 842 843 ------------------------------------------------------------------------------- 844 845 Absolute Direct Function Call 846 847 ------------------------------------------------------------------------------- 848 849 Absolute Indirect Function Call 850 851 ------------------------------------------------------------------------------- 852 853 Position-Independent Direct Function Call 854 855 ------------------------------------------------------------------------------- 856 857 Position-Independent Indirect Function Call 858 859 ------------------------------------------------------------------------------- 860 861 Branching 862 863 ------------------------------------------------------------------------------- 864 865 Branch Instruction 866 867 ------------------------------------------------------------------------------- 868 869 Absolute switch() code 870 871 ------------------------------------------------------------------------------- 872 873 Position-Independent switch() code 874 875 ------------------------------------------------------------------------------- 876 877 Chapter 6. C Stack Frame 878 879 Variable Argument List 880 881 ------------------------------------------------------------------------------- 882 883 Dynamic Allocation of Stack Space 884 885 ------------------------------------------------------------------------------- 886 887 Chapter 7. Debug Information 888 889 The LSB does not currently specify the format of Debug information. 890 891 II. Object Format 892 893 LSB-conforming implementations shall support an object file , called Executable 894 and Linking Format (ELF) as defined by the System V Application Binary 895 Interface, Edition 4.1 , System V Application Binary Interface - DRAFT - 17 896 December 2003 , System V Application Binary Interface - Intel386? Architecture 897 Processor Supplement, Fourth Edition and as supplemented by the Linux Standard 898 Base and this document. 899 900 Table of Contents 901 8. ELF Header 902 9. Special Sections 903 10. Symbol Table 904 11. Relocation 905 906 ------------------------------------------------------------------------------- 907 908 Chapter 8. ELF Header 909 910 Machine Information 911 912 LSB-conforming applications shall use the Machine Information as defined in 913 Chapter 4 of the System V Application Binary Interface - Intel386? Architecture 914 Processor Supplement, Fourth Edition. 915 916 ------------------------------------------------------------------------------- 917 918 File Class 919 920 ------------------------------------------------------------------------------- 921 922 Data Encoding 923 924 ------------------------------------------------------------------------------- 925 926 OS Identification 927 928 ------------------------------------------------------------------------------- 929 930 Processor Identification 931 932 ------------------------------------------------------------------------------- 933 934 Processor Specific Flags 935 936 ------------------------------------------------------------------------------- 937 938 Chapter 9. Special Sections 939 940 ------------------------------------------------------------------------------- 941 942 Special Sections 943 944 Various sections hold program and control information. Sections in the lists 945 bel ow are used by the system and have the indicated types and attributes. 946 947 ------------------------------------------------------------------------------- 948 949 ELF Special Sections 950 951 The following sections are defined in the System V Application Binary Interface 952 - Intel386? Architecture Processor Supplement, Fourth Edition. 953 954 Table 9-1. ELF Special Sections 955 956 +-----------------------------------------+ 957 |Name| Type | Attributes | 958 |----+------------+-----------------------| 959 |.got|SHT_PROGBITS|SHF_ALLOC+SHF_WRITE | 960 |----+------------+-----------------------| 961 |.plt|SHT_PROGBITS|SHF_ALLOC+SHF_EXECINSTR| 962 +-----------------------------------------+ 963 964 .got 965 966 This section holds the global offset table. See `Coding Examples' in 967 Chapter 3, `Special Sections' in Chapter 4, and `Global Offset Table' in 968 Chapter 5 of the processor supplement for more information. 969 970 .plt 971 972 This section holds the procedure linkage table. 973 974 975 976 ------------------------------------------------------------------------------- 977 978 Addition Special Sections 979 980 The following additional sections are defined here. 981 982 Table 9-2. Additional Special Sections 983 984 +----------------------------+ 985 | Name | Type |Attributes | 986 |--------+-------+-----------| 987 |.rel.dyn|SHT_REL|SHF_ALLOC | 988 +----------------------------+ 989 990 .rel.dyn 991 992 This section holds relocation information, as described in `Relocation'. 993 These relocations are applied to the .dyn section. 994 995 996 997 ------------------------------------------------------------------------------- 998 999 Chapter 10. Symbol Table 1000 1001 LSB-conforming applications shall use the Symbol Table as defined in Chapter 4 1002 of the System V Application Binary Interface - Intel386? Architecture Processor 1003 Supplement, Fourth Edition. 1004 1005 ------------------------------------------------------------------------------- 1006 1007 Chapter 11. Relocation 1008 1009 LSB-conforming applications shall use Relocations as defined in Chapter 4 of 1010 the System V Application Binary Interface - Intel386? Architecture Processor 1011 Supplement, Fourth Edition. 1012 1013 ------------------------------------------------------------------------------- 1014 1015 Relocation Types 1016 1017 III. Program Loading and Dynamic Linking 1018 1019 LSB-conforming implementations shall support the object file information and 1020 system actions that create running programs as specified in the System V 1021 Application Binary Interface, Edition 4.1 , System V Application Binary 1022 Interface - DRAFT - 17 December 2003 , System V Application Binary Interface - 1023 Intel386? Architecture Processor Supplement, Fourth Edition and as supplemented 1024 by the Linux Standard Base and this document. 1025 1026 Table of Contents 1027 12. Program Header 1028 13. Program Loading 1029 14. Dynamic Linking 1030 1031 ------------------------------------------------------------------------------- 1032 1033 Chapter 12. Program Header 1034 1035 ------------------------------------------------------------------------------- 1036 1037 Types 1038 1039 ------------------------------------------------------------------------------- 1040 1041 Flags 1042 1043 ------------------------------------------------------------------------------- 1044 1045 Chapter 13. Program Loading 1046 1047 ------------------------------------------------------------------------------- 1048 1049 Chapter 14. Dynamic Linking 1050 1051 ------------------------------------------------------------------------------- 1052 1053 Dynamic Section 1054 1055 The following dynamic entries are defined in the System V Application Binary 1056 Interface - Intel386? Architecture Processor Supplement, Fourth Edition. 1057 1058 DT_PLTGOT 1059 1060 On the Intel386 architecture, this entrys d_ptr member gives the address of 1061 the first entry in the global offset table. 1062 1063 1064 1065 ------------------------------------------------------------------------------- 1066 1067 Global Offset Table 1068 1069 ------------------------------------------------------------------------------- 1070 1071 Shared Object Dependencies 1072 1073 ------------------------------------------------------------------------------- 1074 1075 Function Addresses 1076 1077 ------------------------------------------------------------------------------- 1078 1079 Procedure Linkage Table 1080 1081 ------------------------------------------------------------------------------- 1082 1083 Initialization and Termination Functions 1084 1085 Linux Standard Base Specification 1086 1087 ------------------------------------------------------------------------------- 1088 1089 Table of Contents 1090 I. Base Libraries 1091 1092 1. Libraries 1093 1094 Program Interpreter/Dynamic Linker 1095 Interfaces for libc 1096 Data Definitions for libc 1097 Interfaces for libm 1098 Interfaces for libpthread 1099 Interfaces for libgcc_s 1100 Interface Definitions for libgcc_s 1101 Interfaces for libdl 1102 Interfaces for libcrypt 1103 1104 II. Utility Libraries 1105 1106 2. Libraries 1107 1108 Interfaces for libz 1109 Interfaces for libncurses 1110 Interfaces for libutil 1111 1112 A. Alphabetical Listing of Interfaces 1113 1114 libgcc_s 1115 1116 List of Tables 1117 1-1. libc Definition 1118 1-2. libc - RPC Function Interfaces 1119 1-3. libc - System Calls Function Interfaces 1120 1-4. libc - Standard I/O Function Interfaces 1121 1-5. libc - Standard I/O Data Interfaces 1122 1-6. libc - Signal Handling Function Interfaces 1123 1-7. libc - Signal Handling Data Interfaces 1124 1-8. libc - Localization Functions Function Interfaces 1125 1-9. libc - Localization Functions Data Interfaces 1126 1-10. libc - Socket Interface Function Interfaces 1127 1-11. libc - Socket Interface Deprecated Function Interfaces 1128 1-12. libc - Wide Characters Function Interfaces 1129 1-13. libc - String Functions Function Interfaces 1130 1-14. libc - IPC Functions Function Interfaces 1131 1-15. libc - Regular Expressions Function Interfaces 1132 1-16. libc - Regular Expressions Deprecated Function Interfaces 1133 1-17. libc - Regular Expressions Deprecated Data Interfaces 1134 1-18. libc - Character Type Functions Function Interfaces 1135 1-19. libc - Time Manipulation Function Interfaces 1136 1-20. libc - Time Manipulation Deprecated Function Interfaces 1137 1-21. libc - Time Manipulation Data Interfaces 1138 1-22. libc - Terminal Interface Functions Function Interfaces 1139 1-23. libc - System Database Interface Function Interfaces 1140 1-24. libc - Language Support Function Interfaces 1141 1-25. libc - Large File Support Function Interfaces 1142 1-26. libc - Standard Library Function Interfaces 1143 1-27. libc - Standard Library Data Interfaces 1144 1-28. libm Definition 1145 1-29. libm - Math Function Interfaces 1146 1-30. libm - Math Data Interfaces 1147 1-31. libpthread Definition 1148 1-32. libpthread - Posix Threads Function Interfaces 1149 1-33. libgcc_s Definition 1150 1-34. libgcc_s - Unwind Library Function Interfaces 1151 1-35. libdl Definition 1152 1-36. libdl - Dynamic Loader Function Interfaces 1153 1-37. libcrypt Definition 1154 1-38. libcrypt - Encryption Function Interfaces 1155 2-1. libz Definition 1156 2-2. libncurses Definition 1157 2-3. libutil Definition 1158 2-4. libutil - Utility Functions Function Interfaces 1159 A-1. libgcc_s Function Interfaces 1160 1161 I. Base Libraries 1162 1163 Table of Contents 1164 1. Libraries 1165 1166 ------------------------------------------------------------------------------- 1167 1168 Chapter 1. Libraries 1169 1170 An LSB-conforming implementation shall support some base libraries which 1171 provide interfaces for accessing the operating system, processor and other 1172 hardware in the system. 1173 1174 Interfaces that are unique to the IA32 platform are defined here. This section 1175 should be used in conjunction with the corresponding section in the Linux 1176 Standard Base Specification. 1177 1178 ------------------------------------------------------------------------------- 1179 1180 Program Interpreter/Dynamic Linker 1181 1182 The LSB specifies the Program Interpreter to be /lib/ld-lsb.so.2. 1183 1184 ------------------------------------------------------------------------------- 1185 1186 Interfaces for libc 1187 1188 Table 1-1 defines the library name and shared object name for the libc library 1189 1190 Table 1-1. libc Definition 1191 1192 +-------------------+ 1193 |Library:|libc | 1194 |--------+----------| 1195 |SONAME: |libc.so.6 | 1196 +-------------------+ 1197 1198 The behavior of the interfaces in this library is specified by the following 1199 specifications: 1200 1201 Large File Support 1202 Linux Standard Base 1203 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 1204 (ISBN: 1-85912-181-0, C606) 1205 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1206 Specification(SUS) V3 1207 System V Interface Definition, Issue 3 (ISBN 0201566524) 1208 System V Interface Definition,Fourth Edition 1209 1210 ------------------------------------------------------------------------------- 1211 1212 RPC 1213 1214 ------------------------------------------------------------------------------- 1215 1216 Interfaces for RPC 1217 1218 An LSB conforming implementation shall provide the architecture specific 1219 functions for RPC specified in Table 1-2, with the full functionality as 1220 described in the referenced underlying specification. 1221 1222 Table 1-2. libc - RPC Function Interfaces 1223 1224 +----------------------------------------------------------------------------------------+ 1225 |authnone_create |pmap_unset |svcerr_weakauth |xdr_float |xdr_u_char | 1226 |(GLIBC_2.0) [1] |(GLIBC_2.0) [2] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1227 | | | | |[3] | 1228 |------------------+----------------+------------------+------------------+--------------| 1229 |clnt_create |setdomainname |svctcp_create |xdr_free |xdr_u_int | 1230 |(GLIBC_2.0) [1] |(GLIBC_2.0) [2] |(GLIBC_2.0) [2] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1231 | | | | |[2] | 1232 |------------------+----------------+------------------+------------------+--------------| 1233 |clnt_pcreateerror |svc_getreqset |svcudp_create |xdr_int(GLIBC_2.0)|xdr_u_long | 1234 |(GLIBC_2.0) [1] |(GLIBC_2.0) [3] |(GLIBC_2.0) [2] |[3] |(GLIBC_2.0) | 1235 | | | | |[3] | 1236 |------------------+----------------+------------------+------------------+--------------| 1237 |clnt_perrno |svc_register |xdr_accepted_reply|xdr_long |xdr_u_short | 1238 |(GLIBC_2.0) [1] |(GLIBC_2.0) [2] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1239 | | | | |[3] | 1240 |------------------+----------------+------------------+------------------+--------------| 1241 |clnt_perror |svc_run |xdr_array |xdr_opaque |xdr_union | 1242 |(GLIBC_2.0) [1] |(GLIBC_2.0) [2] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1243 | | | | |[3] | 1244 |------------------+----------------+------------------+------------------+--------------| 1245 |clnt_spcreateerror|svc_sendreply |xdr_bool |xdr_opaque_auth |xdr_vector | 1246 |(GLIBC_2.0) [1] |(GLIBC_2.0) [2] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1247 | | | | |[3] | 1248 |------------------+----------------+------------------+------------------+--------------| 1249 |clnt_sperrno |svcerr_auth |xdr_bytes |xdr_pointer |xdr_void | 1250 |(GLIBC_2.0) [1] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1251 | | | | |[3] | 1252 |------------------+----------------+------------------+------------------+--------------| 1253 |clnt_sperror |svcerr_decode |xdr_callhdr |xdr_reference |xdr_wrapstring| 1254 |(GLIBC_2.0) [1] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1255 | | | | |[3] | 1256 |------------------+----------------+------------------+------------------+--------------| 1257 |getdomainname |svcerr_noproc |xdr_callmsg |xdr_rejected_reply|xdrmem_create | 1258 |(GLIBC_2.0) [2] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1259 | | | | |[3] | 1260 |------------------+----------------+------------------+------------------+--------------| 1261 |key_decryptsession|svcerr_noprog |xdr_char |xdr_replymsg |xdrrec_create | 1262 |(GLIBC_2.1) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1263 | | | | |[3] | 1264 |------------------+----------------+------------------+------------------+--------------| 1265 |pmap_getport |svcerr_progvers |xdr_double |xdr_short |xdrrec_eof | 1266 |(GLIBC_2.0) [2] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) | 1267 | | | | |[3] | 1268 |------------------+----------------+------------------+------------------+--------------| 1269 |pmap_set |svcerr_systemerr|xdr_enum |xdr_string | | 1270 |(GLIBC_2.0) [2] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] |(GLIBC_2.0) [3] | | 1271 +----------------------------------------------------------------------------------------+ 1272 1273 Referenced Specification(s) 1274 1275 [1]. System V Interface Definition,Fourth Edition 1276 1277 [2]. Linux Standard Base 1278 1279 [3]. System V Interface Definition, Issue 3 (ISBN 0201566524) 1280 1281 ------------------------------------------------------------------------------- 1282 1283 System Calls 1284 1285 ------------------------------------------------------------------------------- 1286 1287 Interfaces for System Calls 1288 1289 An LSB conforming implementation shall provide the architecture specific 1290 functions for System Calls specified in Table 1-3, with the full functionality 1291 as described in the referenced underlying specification. 1292 1293 Table 1-3. libc - System Calls Function Interfaces 1294 1295 +-----------------------------------------------------------------------------+ 1296 |__fxstat |fchmod |getwd | |setrlimit | 1297 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |read(GLIBC_2.0) [2] |(GLIBC_2.2) | 1298 |[1] |[2] |[2] | |[2] | 1299 |------------+-------------+-------------+----------------------+-------------| 1300 |__getpgid |fchown |initgroups | |setrlimit64 | 1301 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |readdir(GLIBC_2.0) [2]|(GLIBC_2.1) | 1302 |[1] |[2] |[1] | |[3] | 1303 |------------+-------------+-------------+----------------------+-------------| 1304 |__lxstat |fcntl |ioctl |readdir_r(GLIBC_2.0) |setsid | 1305 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[2] |(GLIBC_2.0) | 1306 |[1] |[1] |[1] | |[2] | 1307 |------------+-------------+-------------+----------------------+-------------| 1308 |__xmknod |fdatasync |kill |readlink(GLIBC_2.0) |setuid | 1309 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[2] |(GLIBC_2.0) | 1310 |[1] |[2] |[1] | |[2] | 1311 |------------+-------------+-------------+----------------------+-------------| 1312 |__xstat |flock |killpg | |sleep | 1313 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |readv(GLIBC_2.0) [2] |(GLIBC_2.0) | 1314 |[1] |[1] |[2] | |[2] | 1315 |------------+-------------+-------------+----------------------+-------------| 1316 |access |fork |lchown | |statvfs | 1317 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |rename(GLIBC_2.0) [2] |(GLIBC_2.1) | 1318 |[2] |[2] |[2] | |[2] | 1319 |------------+-------------+-------------+----------------------+-------------| 1320 |acct |fstatvfs |link | |stime | 1321 |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) |rmdir(GLIBC_2.0) [2] |(GLIBC_2.0) | 1322 |[1] |[2] |[2] | |[1] | 1323 |------------+-------------+-------------+----------------------+-------------| 1324 |alarm |fsync |lockf | |symlink | 1325 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |sbrk(GLIBC_2.0) [4] |(GLIBC_2.0) | 1326 |[2] |[2] |[2] | |[2] | 1327 |------------+-------------+-------------+----------------------+-------------| 1328 |brk |ftime |lseek |sched_get_priority_max|sync | 1329 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) [2] |(GLIBC_2.0) | 1330 |[4] |[2] |[2] | |[2] | 1331 |------------+-------------+-------------+----------------------+-------------| 1332 |chdir |ftruncate |mkdir |sched_get_priority_min|sysconf | 1333 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) [2] |(GLIBC_2.0) | 1334 |[2] |[2] |[2] | |[2] | 1335 |------------+-------------+-------------+----------------------+-------------| 1336 |chmod |getcontext |mkfifo |sched_getparam |time | 1337 |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.0) [2] |(GLIBC_2.0) | 1338 |[2] |[2] |[2] | |[2] | 1339 |------------+-------------+-------------+----------------------+-------------| 1340 |chown |getegid |mlock |sched_getscheduler |times | 1341 |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) [2] |(GLIBC_2.0) | 1342 |[2] |[2] |[2] | |[2] | 1343 |------------+-------------+-------------+----------------------+-------------| 1344 |chroot |geteuid |mlockall |sched_rr_get_interval |truncate | 1345 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) [2] |(GLIBC_2.0) | 1346 |[4] |[2] |[2] | |[2] | 1347 |------------+-------------+-------------+----------------------+-------------| 1348 |clock |getgid |mmap |sched_setparam |ulimit | 1349 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) [2] |(GLIBC_2.0) | 1350 |[2] |[2] |[2] | |[2] | 1351 |------------+-------------+-------------+----------------------+-------------| 1352 |close |getgroups |mprotect |sched_setscheduler |umask | 1353 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) [2] |(GLIBC_2.0) | 1354 |[2] |[2] |[2] | |[2] | 1355 |------------+-------------+-------------+----------------------+-------------| 1356 |closedir |getitimer |msync |sched_yield(GLIBC_2.0)|uname | 1357 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[2] |(GLIBC_2.0) | 1358 |[2] |[2] |[2] | |[2] | 1359 |------------+-------------+-------------+----------------------+-------------| 1360 |creat |getloadavg |munlock | |unlink | 1361 |(GLIBC_2.0) |(GLIBC_2.2) |(GLIBC_2.0) |select(GLIBC_2.0) [2] |(GLIBC_2.0) | 1362 |[1] |[1] |[2] | |[1] | 1363 |------------+-------------+-------------+----------------------+-------------| 1364 |dup |getpagesize |munlockall |setcontext(GLIBC_2.0) |utime | 1365 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[2] |(GLIBC_2.0) | 1366 |[2] |[4] |[2] | |[2] | 1367 |------------+-------------+-------------+----------------------+-------------| 1368 |dup2 |getpgid |munmap | |utimes | 1369 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |setegid(GLIBC_2.0) [2]|(GLIBC_2.0) | 1370 |[2] |[2] |[2] | |[2] | 1371 |------------+-------------+-------------+----------------------+-------------| 1372 |execl |getpgrp |nanosleep | |vfork | 1373 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |seteuid(GLIBC_2.0) [2]|(GLIBC_2.0) | 1374 |[2] |[2] |[2] | |[2] | 1375 |------------+-------------+-------------+----------------------+-------------| 1376 |execle |getpid |nice | |wait | 1377 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |setgid(GLIBC_2.0) [2] |(GLIBC_2.0) | 1378 |[2] |[2] |[2] | |[2] | 1379 |------------+-------------+-------------+----------------------+-------------| 1380 |execlp |getppid |open |setitimer(GLIBC_2.0) |wait3 | 1381 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[2] |(GLIBC_2.0) | 1382 |[2] |[2] |[1] | |[1] | 1383 |------------+-------------+-------------+----------------------+-------------| 1384 |execv |getpriority |opendir | |wait4 | 1385 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |setpgid(GLIBC_2.0) [2]|(GLIBC_2.0) | 1386 |[2] |[2] |[2] | |[1] | 1387 |------------+-------------+-------------+----------------------+-------------| 1388 |execve |getrlimit |pathconf | |waitpid | 1389 |(GLIBC_2.0) |(GLIBC_2.2) |(GLIBC_2.0) |setpgrp(GLIBC_2.0) [2]|(GLIBC_2.0) | 1390 |[2] |[2] |[2] | |[1] | 1391 |------------+-------------+-------------+----------------------+-------------| 1392 |execvp |getrusage |pause |setpriority(GLIBC_2.0)|write | 1393 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[2] |(GLIBC_2.0) | 1394 |[2] |[2] |[2] | |[2] | 1395 |------------+-------------+-------------+----------------------+-------------| 1396 |exit |getsid |pipe |setregid(GLIBC_2.0) |writev | 1397 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[2] |(GLIBC_2.0) | 1398 |[2] |[2] |[2] | |[2] | 1399 |------------+-------------+-------------+----------------------+-------------| 1400 |fchdir |getuid |poll |setreuid(GLIBC_2.0) | | 1401 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[2] | | 1402 |[2] |[2] |[2] | | | 1403 +-----------------------------------------------------------------------------+ 1404 1405 Referenced Specification(s) 1406 1407 [1]. Linux Standard Base 1408 1409 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1410 Specification(SUS) V3 1411 1412 [3]. Large File Support 1413 1414 [4]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 1415 5 (ISBN: 1-85912-181-0, C606) 1416 1417 ------------------------------------------------------------------------------- 1418 1419 Standard I/O 1420 1421 ------------------------------------------------------------------------------- 1422 1423 Interfaces for Standard I/O 1424 1425 An LSB conforming implementation shall provide the architecture specific 1426 functions for Standard I/O specified in Table 1-4, with the full functionality 1427 as described in the referenced underlying specification. 1428 1429 Table 1-4. libc - Standard I/O Function Interfaces 1430 1431 +-----------------------------------------------------------------------------+ 1432 |_IO_feof |fgetpos |fsetpos |putchar |sscanf | 1433 |(GLIBC_2.0) [1]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2] |(GLIBC_2.0) [2] |(GLIBC_2.0)| 1434 | | | | |[2] | 1435 |---------------+---------------+----------------+----------------+-----------| 1436 |_IO_getc |fgets |ftell(GLIBC_2.0)|putchar_unlocked|telldir | 1437 |(GLIBC_2.0) [1]|(GLIBC_2.0) [2]|[2] |(GLIBC_2.0) [2] |(GLIBC_2.0)| 1438 | | | | |[2] | 1439 |---------------+---------------+----------------+----------------+-----------| 1440 |_IO_putc |fgetwc_unlocked|ftello |puts(GLIBC_2.0) |tempnam | 1441 |(GLIBC_2.0) [1]|(GLIBC_2.2) [1]|(GLIBC_2.1) [2] |[2] |(GLIBC_2.0)| 1442 | | | | |[2] | 1443 |---------------+---------------+----------------+----------------+-----------| 1444 |_IO_puts |fileno |fwrite |putw(GLIBC_2.0) |ungetc | 1445 |(GLIBC_2.0) [1]|(GLIBC_2.0) [2]|(GLIBC_2.0) [2] |[3] |(GLIBC_2.0)| 1446 | | | | |[2] | 1447 |---------------+---------------+----------------+----------------+-----------| 1448 |asprintf |flockfile |getc(GLIBC_2.0) |remove |vasprintf | 1449 |(GLIBC_2.0) [1]|(GLIBC_2.0) [2]|[2] |(GLIBC_2.0) [2] |(GLIBC_2.0)| 1450 | | | | |[1] | 1451 |---------------+---------------+----------------+----------------+-----------| 1452 |clearerr |fopen |getc_unlocked |rewind |vdprintf | 1453 |(GLIBC_2.0) [2]|(GLIBC_2.1) [1]|(GLIBC_2.0) [2] |(GLIBC_2.0) [2] |(GLIBC_2.0)| 1454 | | | | |[1] | 1455 |---------------+---------------+----------------+----------------+-----------| 1456 |ctermid |fprintf |getchar |rewinddir |vfprintf | 1457 |(GLIBC_2.0) [2]|(GLIBC_2.0) [2]|(GLIBC_2.0) [2] |(GLIBC_2.0) [2] |(GLIBC_2.0)| 1458 | | | | |[2] | 1459 |---------------+---------------+----------------+----------------+-----------| 1460 |fclose |fputc |getchar_unlocked|scanf(GLIBC_2.0)|vprintf | 1461 |(GLIBC_2.1) [2]|(GLIBC_2.0) [2]|(GLIBC_2.0) [2] |[2] |(GLIBC_2.0)| 1462 | | | | |[2] | 1463 |---------------+---------------+----------------+----------------+-----------| 1464 |fdopen |fputs |getw(GLIBC_2.0) |seekdir |vsnprintf | 1465 |(GLIBC_2.1) [2]|(GLIBC_2.0) [2]|[3] |(GLIBC_2.0) [2] |(GLIBC_2.0)| 1466 | | | | |[2] | 1467 |---------------+---------------+----------------+----------------+-----------| 1468 |feof(GLIBC_2.0)|fread |pclose |setbuf |vsprintf | 1469 |[2] |(GLIBC_2.0) [2]|(GLIBC_2.1) [2] |(GLIBC_2.0) [2] |(GLIBC_2.0)| 1470 | | | | |[2] | 1471 |---------------+---------------+----------------+----------------+-----------| 1472 |ferror |freopen |popen(GLIBC_2.1)|setbuffer | | 1473 |(GLIBC_2.0) [2]|(GLIBC_2.0) [1]|[2] |(GLIBC_2.0) [1] | | 1474 |---------------+---------------+----------------+----------------+-----------| 1475 |fflush |fscanf |printf |setvbuf | | 1476 |(GLIBC_2.0) [2]|(GLIBC_2.0) [2]|(GLIBC_2.0) [2] |(GLIBC_2.0) [2] | | 1477 |---------------+---------------+----------------+----------------+-----------| 1478 |fflush_unlocked|fseek |putc(GLIBC_2.0) |snprintf | | 1479 |(GLIBC_2.0) [1]|(GLIBC_2.0) [2]|[2] |(GLIBC_2.0) [2] | | 1480 |---------------+---------------+----------------+----------------+-----------| 1481 |fgetc |fseeko |putc_unlocked |sprintf | | 1482 |(GLIBC_2.0) [2]|(GLIBC_2.1) [2]|(GLIBC_2.0) [2] |(GLIBC_2.0) [2] | | 1483 +-----------------------------------------------------------------------------+ 1484 1485 Referenced Specification(s) 1486 1487 [1]. Linux Standard Base 1488 1489 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1490 Specification(SUS) V3 1491 1492 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 1493 5 (ISBN: 1-85912-181-0, C606) 1494 1495 An LSB conforming implementation shall provide the architecture specific data 1496 interfaces for Standard I/O specified in Table 1-5, with the full functionality 1497 as described in the referenced underlying specification. 1498 1499 Table 1-5. libc - Standard I/O Data Interfaces 1500 1501 +--------------------------------------------------------------------+ 1502 |stderr(GLIBC_2.0) [1]|stdin(GLIBC_2.0) [1]|stdout(GLIBC_2.0) [1]| | | 1503 +--------------------------------------------------------------------+ 1504 1505 Referenced Specification(s) 1506 1507 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1508 Specification(SUS) V3 1509 1510 ------------------------------------------------------------------------------- 1511 1512 Signal Handling 1513 1514 ------------------------------------------------------------------------------- 1515 1516 Interfaces for Signal Handling 1517 1518 An LSB conforming implementation shall provide the architecture specific 1519 functions for Signal Handling specified in Table 1-6, with the full 1520 functionality as described in the referenced underlying specification. 1521 1522 Table 1-6. libc - Signal Handling Function Interfaces 1523 1524 +-----------------------------------------------------------------------------+ 1525 |__libc_current_sigrtmax|sigaddset |sighold |sigpause |sigsuspend | 1526 |(GLIBC_2.1) [1] |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.0) | 1527 | |[2] |[2] |[2] |[2] | 1528 |-----------------------+------------+-------------+------------+-------------| 1529 |__libc_current_sigrtmin|sigaltstack |sigignore |sigpending |sigtimedwait | 1530 |(GLIBC_2.1) [1] |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.1) | 1531 | |[2] |[2] |[2] |[2] | 1532 |-----------------------+------------+-------------+------------+-------------| 1533 |__sigsetjmp(GLIBC_2.0) |sigandset |siginterrupt |sigprocmask |sigwait | 1534 |[1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1535 | |[1] |[2] |[2] |[2] | 1536 |-----------------------+------------+-------------+------------+-------------| 1537 |__sysv_signal |sigblock |sigisemptyset|sigqueue |sigwaitinfo | 1538 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.1) | 1539 | |[1] |[1] |[2] |[2] | 1540 |-----------------------+------------+-------------+------------+-------------| 1541 |bsd_signal(GLIBC_2.0) |sigdelset |sigismember |sigrelse | | 1542 |[2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.1) | | 1543 | |[2] |[2] |[2] | | 1544 |-----------------------+------------+-------------+------------+-------------| 1545 | |sigemptyset |siglongjmp |sigreturn | | 1546 |psignal(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1547 | |[2] |[2] |[1] | | 1548 |-----------------------+------------+-------------+------------+-------------| 1549 | |sigfillset |signal |sigset | | 1550 |raise(GLIBC_2.0) [2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.1) | | 1551 | |[2] |[2] |[2] | | 1552 |-----------------------+------------+-------------+------------+-------------| 1553 |sigaction(GLIBC_2.0) |siggetmask |sigorset |sigstack | | 1554 |[2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1555 | |[1] |[1] |[3] | | 1556 +-----------------------------------------------------------------------------+ 1557 1558 Referenced Specification(s) 1559 1560 [1]. Linux Standard Base 1561 1562 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1563 Specification(SUS) V3 1564 1565 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 1566 5 (ISBN: 1-85912-181-0, C606) 1567 1568 An LSB conforming implementation shall provide the architecture specific data 1569 interfaces for Signal Handling specified in Table 1-7, with the full 1570 functionality as described in the referenced underlying specification. 1571 1572 Table 1-7. libc - Signal Handling Data Interfaces 1573 1574 +-------------------------------------+ 1575 |_sys_siglist(GLIBC_2.3.3) [1]| | | | | 1576 +-------------------------------------+ 1577 1578 Referenced Specification(s) 1579 1580 [1]. Linux Standard Base 1581 1582 ------------------------------------------------------------------------------- 1583 1584 Localization Functions 1585 1586 ------------------------------------------------------------------------------- 1587 1588 Interfaces for Localization Functions 1589 1590 An LSB conforming implementation shall provide the architecture specific 1591 functions for Localization Functions specified in Table 1-8, with the full 1592 functionality as described in the referenced underlying specification. 1593 1594 Table 1-8. libc - Localization Functions Function Interfaces 1595 1596 +-----------------------------------------------------------------------------+ 1597 |bind_textdomain_codeset|catopen |dngettext |iconv_open |setlocale | 1598 |(GLIBC_2.2) [1] |(GLIBC_2.0) |(GLIBC_2.2) |(GLIBC_2.1) |(GLIBC_2.0) | 1599 | |[2] |[1] |[2] |[2] | 1600 |-----------------------+------------+-------------+-------------+------------| 1601 |bindtextdomain |dcgettext |gettext |localeconv |textdomain | 1602 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.2) |(GLIBC_2.0) | 1603 | |[1] |[1] |[2] |[1] | 1604 |-----------------------+------------+-------------+-------------+------------| 1605 | |dcngettext |iconv |ngettext | | 1606 |catclose(GLIBC_2.0) [2]|(GLIBC_2.2) |(GLIBC_2.1) |(GLIBC_2.2) | | 1607 | |[1] |[2] |[1] | | 1608 |-----------------------+------------+-------------+-------------+------------| 1609 | |dgettext |iconv_close |nl_langinfo | | 1610 |catgets(GLIBC_2.0) [2] |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) | | 1611 | |[1] |[2] |[2] | | 1612 +-----------------------------------------------------------------------------+ 1613 1614 Referenced Specification(s) 1615 1616 [1]. Linux Standard Base 1617 1618 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1619 Specification(SUS) V3 1620 1621 An LSB conforming implementation shall provide the architecture specific data 1622 interfaces for Localization Functions specified in Table 1-9, with the full 1623 functionality as described in the referenced underlying specification. 1624 1625 Table 1-9. libc - Localization Functions Data Interfaces 1626 1627 +---------------------------------------+ 1628 |_nl_msg_cat_cntr(GLIBC_2.0) [1]| | | | | 1629 +---------------------------------------+ 1630 1631 Referenced Specification(s) 1632 1633 [1]. Linux Standard Base 1634 1635 ------------------------------------------------------------------------------- 1636 1637 Socket Interface 1638 1639 ------------------------------------------------------------------------------- 1640 1641 Interfaces for Socket Interface 1642 1643 An LSB conforming implementation shall provide the architecture specific 1644 functions for Socket Interface specified in Table 1-10, with the full 1645 functionality as described in the referenced underlying specification. 1646 1647 Table 1-10. libc - Socket Interface Function Interfaces 1648 1649 +-----------------------------------------------------------------------------+ 1650 |__h_errno_location|gethostid |listen |sendmsg |socketpair | 1651 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1652 | |[2] |[2] |[2] |[2] | 1653 |------------------+--------------+-------------+--------------+--------------| 1654 |accept(GLIBC_2.0) |gethostname |recv |sendto | | 1655 |[2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1656 | |[2] |[2] |[2] | | 1657 |------------------+--------------+-------------+--------------+--------------| 1658 |bind(GLIBC_2.0) |getpeername |recvfrom |setsockopt | | 1659 |[2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1660 | |[2] |[2] |[1] | | 1661 |------------------+--------------+-------------+--------------+--------------| 1662 |bindresvport |getsockname |recvmsg |shutdown | | 1663 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1664 | |[2] |[2] |[2] | | 1665 |------------------+--------------+-------------+--------------+--------------| 1666 |connect(GLIBC_2.0)|getsockopt |send |socket | | 1667 |[2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1668 | |[2] |[2] |[2] | | 1669 +-----------------------------------------------------------------------------+ 1670 1671 Referenced Specification(s) 1672 1673 [1]. Linux Standard Base 1674 1675 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1676 Specification(SUS) V3 1677 1678 An LSB conforming implementation shall provide the architecture specific 1679 deprecated functions for Socket Interface specified in Table 1-11, with the 1680 full functionality as described in the referenced underlying specification. 1681 1682 Note: These interfaces are deprecated, and applications should avoid using 1683 them. These interfaces may be withdrawn in future releases of this 1684 specification. 1685 1686 Table 1-11. libc - Socket Interface Deprecated Function Interfaces 1687 1688 +----------------------------------------+ 1689 |gethostbyname_r(GLIBC_2.1.2) [1]| | | | | 1690 +----------------------------------------+ 1691 1692 Referenced Specification(s) 1693 1694 [1]. Linux Standard Base 1695 1696 ------------------------------------------------------------------------------- 1697 1698 Wide Characters 1699 1700 ------------------------------------------------------------------------------- 1701 1702 Interfaces for Wide Characters 1703 1704 An LSB conforming implementation shall provide the architecture specific 1705 functions for Wide Characters specified in Table 1-12, with the full 1706 functionality as described in the referenced underlying specification. 1707 1708 Table 1-12. libc - Wide Characters Function Interfaces 1709 1710 +-----------------------------------------------------------------------------+ 1711 |__wcstod_internal |mbsinit |vwscanf |wcsnlen |wcstoumax | 1712 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.2) |(GLIBC_2.1) |(GLIBC_2.1) | 1713 | |[2] |[2] |[1] |[2] | 1714 |------------------+--------------+--------------+--------------+-------------| 1715 |__wcstof_internal |mbsnrtowcs |wcpcpy |wcsnrtombs |wcstouq | 1716 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1717 | |[1] |[1] |[1] |[1] | 1718 |------------------+--------------+--------------+--------------+-------------| 1719 |__wcstol_internal |mbsrtowcs |wcpncpy |wcspbrk |wcswcs | 1720 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.1) | 1721 | |[2] |[1] |[2] |[2] | 1722 |------------------+--------------+--------------+--------------+-------------| 1723 |__wcstold_internal|mbstowcs |wcrtomb |wcsrchr |wcswidth | 1724 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1725 | |[2] |[2] |[2] |[2] | 1726 |------------------+--------------+--------------+--------------+-------------| 1727 |__wcstoul_internal|mbtowc |wcscasecmp |wcsrtombs |wcsxfrm | 1728 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.0) | 1729 | |[2] |[1] |[2] |[2] | 1730 |------------------+--------------+--------------+--------------+-------------| 1731 |btowc(GLIBC_2.0) |putwc |wcscat |wcsspn |wctob | 1732 |[2] |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1733 | |[2] |[2] |[2] |[2] | 1734 |------------------+--------------+--------------+--------------+-------------| 1735 |fgetwc(GLIBC_2.2) |putwchar |wcschr |wcsstr |wctomb | 1736 |[2] |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1737 | |[2] |[2] |[2] |[2] | 1738 |------------------+--------------+--------------+--------------+-------------| 1739 |fgetws(GLIBC_2.2) |swprintf |wcscmp |wcstod |wctrans | 1740 |[2] |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1741 | |[2] |[2] |[2] |[2] | 1742 |------------------+--------------+--------------+--------------+-------------| 1743 |fputwc(GLIBC_2.2) |swscanf |wcscoll |wcstof |wctype | 1744 |[2] |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1745 | |[2] |[2] |[2] |[2] | 1746 |------------------+--------------+--------------+--------------+-------------| 1747 |fputws(GLIBC_2.2) |towctrans |wcscpy |wcstoimax |wcwidth | 1748 |[2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) | 1749 | |[2] |[2] |[2] |[2] | 1750 |------------------+--------------+--------------+--------------+-------------| 1751 |fwide(GLIBC_2.2) |towlower |wcscspn |wcstok |wmemchr | 1752 |[2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1753 | |[2] |[2] |[2] |[2] | 1754 |------------------+--------------+--------------+--------------+-------------| 1755 |fwprintf |towupper |wcsdup |wcstol |wmemcmp | 1756 |(GLIBC_2.2) [2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1757 | |[2] |[1] |[2] |[2] | 1758 |------------------+--------------+--------------+--------------+-------------| 1759 |fwscanf(GLIBC_2.2)|ungetwc |wcsftime |wcstold |wmemcpy | 1760 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.0) | 1761 | |[2] |[2] |[2] |[2] | 1762 |------------------+--------------+--------------+--------------+-------------| 1763 |getwc(GLIBC_2.2) |vfwprintf |wcslen |wcstoll |wmemmove | 1764 |[2] |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) | 1765 | |[2] |[2] |[2] |[2] | 1766 |------------------+--------------+--------------+--------------+-------------| 1767 |getwchar |vfwscanf |wcsncasecmp |wcstombs |wmemset | 1768 |(GLIBC_2.2) [2] |(GLIBC_2.2) |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.0) | 1769 | |[2] |[1] |[2] |[2] | 1770 |------------------+--------------+--------------+--------------+-------------| 1771 |mblen(GLIBC_2.0) |vswprintf |wcsncat |wcstoq |wprintf | 1772 |[2] |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.2) | 1773 | |[2] |[2] |[1] |[2] | 1774 |------------------+--------------+--------------+--------------+-------------| 1775 |mbrlen(GLIBC_2.0) |vswscanf |wcsncmp |wcstoul |wscanf | 1776 |[2] |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.2) | 1777 | |[2] |[2] |[2] |[2] | 1778 |------------------+--------------+--------------+--------------+-------------| 1779 |mbrtowc(GLIBC_2.0)|vwprintf |wcsncpy |wcstoull | | 1780 |[2] |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.1) | | 1781 | |[2] |[2] |[2] | | 1782 +-----------------------------------------------------------------------------+ 1783 1784 Referenced Specification(s) 1785 1786 [1]. Linux Standard Base 1787 1788 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1789 Specification(SUS) V3 1790 1791 ------------------------------------------------------------------------------- 1792 1793 String Functions 1794 1795 ------------------------------------------------------------------------------- 1796 1797 Interfaces for String Functions 1798 1799 An LSB conforming implementation shall provide the architecture specific 1800 functions for String Functions specified in Table 1-13, with the full 1801 functionality as described in the referenced underlying specification. 1802 1803 Table 1-13. libc - String Functions Function Interfaces 1804 1805 +----------------------------------------------------------------------------+ 1806 |__mempcpy |bzero |strcasestr |strncasecmp |strtoimax | 1807 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.1) | 1808 | |[2] |[1] |[2] |[2] | 1809 |-------------------+-------------+-------------+--------------+-------------| 1810 |__rawmemchr |ffs |strcat |strncat |strtok | 1811 |(GLIBC_2.1) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1812 | |[2] |[2] |[2] |[2] | 1813 |-------------------+-------------+-------------+--------------+-------------| 1814 |__stpcpy(GLIBC_2.0)|index |strchr |strncmp |strtok_r | 1815 |[1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1816 | |[2] |[2] |[2] |[1] | 1817 |-------------------+-------------+-------------+--------------+-------------| 1818 |__strdup(GLIBC_2.0)|memccpy |strcmp |strncpy |strtold | 1819 |[1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1820 | |[2] |[2] |[2] |[2] | 1821 |-------------------+-------------+-------------+--------------+-------------| 1822 |__strtod_internal |memchr |strcoll |strndup |strtoll | 1823 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1824 | |[2] |[2] |[1] |[2] | 1825 |-------------------+-------------+-------------+--------------+-------------| 1826 |__strtof_internal |memcmp |strcpy |strnlen |strtoq | 1827 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1828 | |[2] |[2] |[1] |[1] | 1829 |-------------------+-------------+-------------+--------------+-------------| 1830 |__strtok_r |memcpy |strcspn |strpbrk |strtoull | 1831 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1832 | |[2] |[2] |[2] |[2] | 1833 |-------------------+-------------+-------------+--------------+-------------| 1834 |__strtol_internal |memmove |strdup |strptime |strtoumax | 1835 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.1) | 1836 | |[2] |[2] |[1] |[2] | 1837 |-------------------+-------------+-------------+--------------+-------------| 1838 |__strtold_internal |memrchr |strerror |strrchr |strtouq | 1839 |(GLIBC_2.0) [1] |(GLIBC_2.2) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1840 | |[1] |[2] |[2] |[1] | 1841 |-------------------+-------------+-------------+--------------+-------------| 1842 |__strtoll_internal |memset |strerror_r |strsep |strverscmp | 1843 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.1) | 1844 | |[2] |[1] |[1] |[1] | 1845 |-------------------+-------------+-------------+--------------+-------------| 1846 |__strtoul_internal |rindex |strfmon |strsignal |strxfrm | 1847 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1848 | |[2] |[2] |[1] |[2] | 1849 |-------------------+-------------+-------------+--------------+-------------| 1850 |__strtoull_internal|stpcpy |strfry |strspn |swab | 1851 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1852 | |[1] |[1] |[2] |[2] | 1853 |-------------------+-------------+-------------+--------------+-------------| 1854 | |stpncpy |strftime |strstr | | 1855 |bcmp(GLIBC_2.0) [2]|(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1856 | |[1] |[2] |[2] | | 1857 |-------------------+-------------+-------------+--------------+-------------| 1858 |bcopy(GLIBC_2.0) |strcasecmp |strlen |strtof | | 1859 |[2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1860 | |[2] |[2] |[2] | | 1861 +----------------------------------------------------------------------------+ 1862 1863 Referenced Specification(s) 1864 1865 [1]. Linux Standard Base 1866 1867 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1868 Specification(SUS) V3 1869 1870 ------------------------------------------------------------------------------- 1871 1872 IPC Functions 1873 1874 ------------------------------------------------------------------------------- 1875 1876 Interfaces for IPC Functions 1877 1878 An LSB conforming implementation shall provide the architecture specific 1879 functions for IPC Functions specified in Table 1-14, with the full 1880 functionality as described in the referenced underlying specification. 1881 1882 Table 1-14. libc - IPC Functions Function Interfaces 1883 1884 +-----------------------------------------------------------------------------+ 1885 |ftok(GLIBC_2.0) |msgrcv(GLIBC_2.0) |semget(GLIBC_2.0) |shmctl(GLIBC_2.2) | | 1886 |[1] |[1] |[1] |[1] | | 1887 |------------------+------------------+------------------+------------------+-| 1888 |msgctl(GLIBC_2.2) |msgsnd(GLIBC_2.0) |semop(GLIBC_2.0) |shmdt(GLIBC_2.0) | | 1889 |[1] |[1] |[1] |[1] | | 1890 |------------------+------------------+------------------+------------------+-| 1891 |msgget(GLIBC_2.0) |semctl(GLIBC_2.2) |shmat(GLIBC_2.0) |shmget(GLIBC_2.0) | | 1892 |[1] |[1] |[1] |[1] | | 1893 +-----------------------------------------------------------------------------+ 1894 1895 Referenced Specification(s) 1896 1897 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1898 Specification(SUS) V3 1899 1900 ------------------------------------------------------------------------------- 1901 1902 Regular Expressions 1903 1904 ------------------------------------------------------------------------------- 1905 1906 Interfaces for Regular Expressions 1907 1908 An LSB conforming implementation shall provide the architecture specific 1909 functions for Regular Expressions specified in Table 1-15, with the full 1910 functionality as described in the referenced underlying specification. 1911 1912 Table 1-15. libc - Regular Expressions Function Interfaces 1913 1914 +-----------------------------------------------------------------------------+ 1915 |regcomp(GLIBC_2.0)|regerror |regexec(GLIBC_2.0)|regfree(GLIBC_2.0)| | 1916 |[1] |(GLIBC_2.0) [1] |[1] |[1] | | 1917 +-----------------------------------------------------------------------------+ 1918 1919 Referenced Specification(s) 1920 1921 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1922 Specification(SUS) V3 1923 1924 An LSB conforming implementation shall provide the architecture specific 1925 deprecated functions for Regular Expressions specified in Table 1-16, with the 1926 full functionality as described in the referenced underlying specification. 1927 1928 Note: These interfaces are deprecated, and applications should avoid using 1929 them. These interfaces may be withdrawn in future releases of this 1930 specification. 1931 1932 Table 1-16. libc - Regular Expressions Deprecated Function Interfaces 1933 1934 +------------------------------------------------------------------------------+ 1935 |advance(GLIBC_2.0) |re_comp(GLIBC_2.0) |re_exec(GLIBC_2.0) |step(GLIBC_2.0) | | 1936 |[1] |[1] |[1] |[1] | | 1937 +------------------------------------------------------------------------------+ 1938 1939 Referenced Specification(s) 1940 1941 [1]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 1942 5 (ISBN: 1-85912-181-0, C606) 1943 1944 An LSB conforming implementation shall provide the architecture specific 1945 deprecated data interfaces for Regular Expressions specified in Table 1-17, 1946 with the full functionality as described in the referenced underlying 1947 specification. 1948 1949 Note: These interfaces are deprecated, and applications should avoid using 1950 them. These interfaces may be withdrawn in future releases of this 1951 specification. 1952 1953 Table 1-17. libc - Regular Expressions Deprecated Data Interfaces 1954 1955 +---------------------------------------------------------------+ 1956 |loc1(GLIBC_2.0) [1]|loc2(GLIBC_2.0) [1]|locs(GLIBC_2.0) [1]| | | 1957 +---------------------------------------------------------------+ 1958 1959 Referenced Specification(s) 1960 1961 [1]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 1962 5 (ISBN: 1-85912-181-0, C606) 1963 1964 ------------------------------------------------------------------------------- 1965 1966 Character Type Functions 1967 1968 ------------------------------------------------------------------------------- 1969 1970 Interfaces for Character Type Functions 1971 1972 An LSB conforming implementation shall provide the architecture specific 1973 functions for Character Type Functions specified in Table 1-18, with the full 1974 functionality as described in the referenced underlying specification. 1975 1976 Table 1-18. libc - Character Type Functions Function Interfaces 1977 1978 +-----------------------------------------------------------------------------+ 1979 |__ctype_get_mb_cur_max|isdigit |iswalnum |iswlower |toascii | 1980 |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1981 | |[2] |[2] |[2] |[2] | 1982 |----------------------+------------+-------------+--------------+------------| 1983 |_tolower(GLIBC_2.0) |isgraph |iswalpha |iswprint |tolower | 1984 |[2] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1985 | |[2] |[2] |[2] |[2] | 1986 |----------------------+------------+-------------+--------------+------------| 1987 |_toupper(GLIBC_2.0) |islower |iswblank |iswpunct |toupper | 1988 |[2] |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.0) | 1989 | |[2] |[2] |[2] |[2] | 1990 |----------------------+------------+-------------+--------------+------------| 1991 | |isprint |iswcntrl |iswspace | | 1992 |isalnum(GLIBC_2.0) [2]|(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1993 | |[2] |[2] |[2] | | 1994 |----------------------+------------+-------------+--------------+------------| 1995 | |ispunct |iswctype |iswupper | | 1996 |isalpha(GLIBC_2.0) [2]|(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1997 | |[2] |[1] |[2] | | 1998 |----------------------+------------+-------------+--------------+------------| 1999 | |isspace |iswdigit |iswxdigit | | 2000 |isascii(GLIBC_2.0) [2]|(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 2001 | |[2] |[2] |[2] | | 2002 |----------------------+------------+-------------+--------------+------------| 2003 | |isupper |iswgraph |isxdigit | | 2004 |iscntrl(GLIBC_2.0) [2]|(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 2005 | |[2] |[2] |[2] | | 2006 +-----------------------------------------------------------------------------+ 2007 2008 Referenced Specification(s) 2009 2010 [1]. Linux Standard Base 2011 2012 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2013 Specification(SUS) V3 2014 2015 ------------------------------------------------------------------------------- 2016 2017 Time Manipulation 2018 2019 ------------------------------------------------------------------------------- 2020 2021 Interfaces for Time Manipulation 2022 2023 An LSB conforming implementation shall provide the architecture specific 2024 functions for Time Manipulation specified in Table 1-19, with the full 2025 functionality as described in the referenced underlying specification. 2026 2027 Table 1-19. libc - Time Manipulation Function Interfaces 2028 2029 +-----------------------------------------------------------------------------+ 2030 |adjtime |ctime |gmtime |localtime_r |ualarm | 2031 |(GLIBC_2.0) [1]|(GLIBC_2.0) |(GLIBC_2.0) [2]|(GLIBC_2.0) [2] |(GLIBC_2.0) | 2032 | |[2] | | |[2] | 2033 |---------------+--------------+---------------+----------------+-------------| 2034 |asctime |ctime_r |gmtime_r |mktime | | 2035 |(GLIBC_2.0) [2]|(GLIBC_2.0) |(GLIBC_2.0) [2]|(GLIBC_2.0) [2] | | 2036 | |[2] | | | | 2037 |---------------+--------------+---------------+----------------+-------------| 2038 |asctime_r |difftime |localtime |tzset(GLIBC_2.0)| | 2039 |(GLIBC_2.0) [2]|(GLIBC_2.0) |(GLIBC_2.0) [2]|[2] | | 2040 | |[2] | | | | 2041 +-----------------------------------------------------------------------------+ 2042 2043 Referenced Specification(s) 2044 2045 [1]. Linux Standard Base 2046 2047 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2048 Specification(SUS) V3 2049 2050 An LSB conforming implementation shall provide the architecture specific 2051 deprecated functions for Time Manipulation specified in Table 1-20, with the 2052 full functionality as described in the referenced underlying specification. 2053 2054 Note: These interfaces are deprecated, and applications should avoid using 2055 them. These interfaces may be withdrawn in future releases of this 2056 specification. 2057 2058 Table 1-20. libc - Time Manipulation Deprecated Function Interfaces 2059 2060 +--------------------------------+ 2061 |adjtimex(GLIBC_2.0) [1] | | | | | 2062 +--------------------------------+ 2063 2064 Referenced Specification(s) 2065 2066 [1]. Linux Standard Base 2067 2068 An LSB conforming implementation shall provide the architecture specific data 2069 interfaces for Time Manipulation specified in Table 1-21, with the full 2070 functionality as described in the referenced underlying specification. 2071 2072 Table 1-21. libc - Time Manipulation Data Interfaces 2073 2074 +-----------------------------------------------------------------------------+ 2075 |__daylight(GLIBC_2.0) [1]|__tzname(GLIBC_2.0) [1]|timezone(GLIBC_2.0) [2]| | | 2076 |-------------------------+-----------------------+-----------------------+-+-| 2077 |__timezone(GLIBC_2.0) [1]|daylight(GLIBC_2.0) [2]|tzname(GLIBC_2.0) [2] | | | 2078 +-----------------------------------------------------------------------------+ 2079 2080 Referenced Specification(s) 2081 2082 [1]. Linux Standard Base 2083 2084 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2085 Specification(SUS) V3 2086 2087 ------------------------------------------------------------------------------- 2088 2089 Terminal Interface Functions 2090 2091 ------------------------------------------------------------------------------- 2092 2093 Interfaces for Terminal Interface Functions 2094 2095 An LSB conforming implementation shall provide the architecture specific 2096 functions for Terminal Interface Functions specified in Table 1-22, with the 2097 full functionality as described in the referenced underlying specification. 2098 2099 Table 1-22. libc - Terminal Interface Functions Function Interfaces 2100 2101 +----------------------------------------------------------------------------+ 2102 |cfgetispeed |cfsetispeed |tcdrain |tcgetattr |tcsendbreak | 2103 |(GLIBC_2.0) [1]|(GLIBC_2.0) [1]|(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) [1]| 2104 | | |[1] |[1] | | 2105 |---------------+---------------+-------------+--------------+---------------| 2106 |cfgetospeed |cfsetospeed |tcflow |tcgetpgrp |tcsetattr | 2107 |(GLIBC_2.0) [1]|(GLIBC_2.0) [1]|(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) [1]| 2108 | | |[1] |[1] | | 2109 |---------------+---------------+-------------+--------------+---------------| 2110 |cfmakeraw |cfsetspeed |tcflush |tcgetsid |tcsetpgrp | 2111 |(GLIBC_2.0) [2]|(GLIBC_2.0) [2]|(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.0) [1]| 2112 | | |[1] |[1] | | 2113 +----------------------------------------------------------------------------+ 2114 2115 Referenced Specification(s) 2116 2117 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2118 Specification(SUS) V3 2119 2120 [2]. Linux Standard Base 2121 2122 ------------------------------------------------------------------------------- 2123 2124 System Database Interface 2125 2126 ------------------------------------------------------------------------------- 2127 2128 Interfaces for System Database Interface 2129 2130 An LSB conforming implementation shall provide the architecture specific 2131 functions for System Database Interface specified in Table 1-23, with the full 2132 functionality as described in the referenced underlying specification. 2133 2134 Table 1-23. libc - System Database Interface Function Interfaces 2135 2136 +------------------------------------------------------------------------------+ 2137 |endgrent |getgrgid |getprotobynumber|getservbyport |setgrent | 2138 |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) [1] |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2139 |[1] | | | |[1] | 2140 |--------------+---------------+----------------+---------------+--------------| 2141 |endnetent |getgrgid_r |getprotoent |getservent |setgroups | 2142 |(GLIBC_2.0) |(GLIBC_2.1.2) |(GLIBC_2.0) [1] |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2143 |[1] |[1] | | |[2] | 2144 |--------------+---------------+----------------+---------------+--------------| 2145 |endprotoent |getgrnam |getpwent |getutent |setnetent | 2146 |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) [1] |(GLIBC_2.0) [2]|(GLIBC_2.0) | 2147 |[1] | | | |[1] | 2148 |--------------+---------------+----------------+---------------+--------------| 2149 |endpwent |getgrnam_r |getpwnam |getutent_r |setprotoent | 2150 |(GLIBC_2.0) |(GLIBC_2.1.2) |(GLIBC_2.0) [1] |(GLIBC_2.0) [2]|(GLIBC_2.0) | 2151 |[1] |[1] | | |[1] | 2152 |--------------+---------------+----------------+---------------+--------------| 2153 |endservent |gethostbyaddr |getpwnam_r |getutxent |setpwent | 2154 |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.1.2) |(GLIBC_2.1) [1]|(GLIBC_2.0) | 2155 |[1] | |[1] | |[1] | 2156 |--------------+---------------+----------------+---------------+--------------| 2157 |endutent |gethostbyname |getpwuid |getutxid |setservent | 2158 |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) [1] |(GLIBC_2.1) [1]|(GLIBC_2.0) | 2159 |[3] | | | |[1] | 2160 |--------------+---------------+----------------+---------------+--------------| 2161 |endutxent |getnetbyaddr |getpwuid_r |getutxline |setutent | 2162 |(GLIBC_2.1) |(GLIBC_2.0) [1]|(GLIBC_2.1.2) |(GLIBC_2.1) [1]|(GLIBC_2.0) | 2163 |[1] | |[1] | |[2] | 2164 |--------------+---------------+----------------+---------------+--------------| 2165 |getgrent |getprotobyname |getservbyname |pututxline |setutxent | 2166 |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) [1] |(GLIBC_2.1) [1]|(GLIBC_2.1) | 2167 |[1] | | | |[1] | 2168 +------------------------------------------------------------------------------+ 2169 2170 Referenced Specification(s) 2171 2172 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2173 Specification(SUS) V3 2174 2175 [2]. Linux Standard Base 2176 2177 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2178 5 (ISBN: 1-85912-181-0, C606) 2179 2180 ------------------------------------------------------------------------------- 2181 2182 Language Support 2183 2184 ------------------------------------------------------------------------------- 2185 2186 Interfaces for Language Support 2187 2188 An LSB conforming implementation shall provide the architecture specific 2189 functions for Language Support specified in Table 1-24, with the full 2190 functionality as described in the referenced underlying specification. 2191 2192 Table 1-24. libc - Language Support Function Interfaces 2193 2194 +-----------------------------------------------------------------------------+ 2195 |__libc_start_main |_obstack_begin |_obstack_newchunk |obstack_free | | 2196 |(GLIBC_2.0) [1] |(GLIBC_2.0) [1] |(GLIBC_2.0) [1] |(GLIBC_2.0) [1] | | 2197 +-----------------------------------------------------------------------------+ 2198 2199 Referenced Specification(s) 2200 2201 [1]. Linux Standard Base 2202 2203 ------------------------------------------------------------------------------- 2204 2205 Large File Support 2206 2207 ------------------------------------------------------------------------------- 2208 2209 Interfaces for Large File Support 2210 2211 An LSB conforming implementation shall provide the architecture specific 2212 functions for Large File Support specified in Table 1-25, with the full 2213 functionality as described in the referenced underlying specification. 2214 2215 Table 1-25. libc - Large File Support Function Interfaces 2216 2217 +------------------------------------------------------------------------------+ 2218 |__fxstat64 |fopen64 |ftello64 |lseek64 |readdir64 | 2219 |(GLIBC_2.2) [1]|(GLIBC_2.1) [2]|(GLIBC_2.1) [2]|(GLIBC_2.1) |(GLIBC_2.2) [2]| 2220 | | | |[2] | | 2221 |---------------+---------------+---------------+--------------+---------------| 2222 |__lxstat64 |freopen64 |ftruncate64 |mkstemp64 |statvfs64 | 2223 |(GLIBC_2.2) [1]|(GLIBC_2.1) [2]|(GLIBC_2.1) [2]|(GLIBC_2.2) |(GLIBC_2.1) [2]| 2224 | | | |[2] | | 2225 |---------------+---------------+---------------+--------------+---------------| 2226 |__xstat64 |fseeko64 |ftw64 |mmap64 |tmpfile64 | 2227 |(GLIBC_2.2) [1]|(GLIBC_2.1) [2]|(GLIBC_2.1) [2]|(GLIBC_2.1) |(GLIBC_2.1) [2]| 2228 | | | |[2] | | 2229 |---------------+---------------+---------------+--------------+---------------| 2230 |creat64 |fsetpos64 |getrlimit64 |nftw64 |truncate64 | 2231 |(GLIBC_2.1) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.1) |(GLIBC_2.1) [2]| 2232 | | | |[2] | | 2233 |---------------+---------------+---------------+--------------+---------------| 2234 |fgetpos64 |fstatvfs64 |lockf64 |open64 | | 2235 |(GLIBC_2.2) [2]|(GLIBC_2.1) [2]|(GLIBC_2.1) [2]|(GLIBC_2.1) | | 2236 | | | |[2] | | 2237 +------------------------------------------------------------------------------+ 2238 2239 Referenced Specification(s) 2240 2241 [1]. Linux Standard Base 2242 2243 [2]. Large File Support 2244 2245 ------------------------------------------------------------------------------- 2246 2247 Standard Library 2248 2249 ------------------------------------------------------------------------------- 2250 2251 Interfaces for Standard Library 2252 2253 An LSB conforming implementation shall provide the architecture specific 2254 functions for Standard Library specified in Table 1-26, with the full 2255 functionality as described in the referenced underlying specification. 2256 2257 Table 1-26. libc - Standard Library Function Interfaces 2258 2259 +-----------------------------------------------------------------------------+ 2260 |_Exit |dirname |glob |lsearch |srand | 2261 |(GLIBC_2.1.1) |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2262 |[1] | |[1] | |[1] | 2263 |----------------+----------------+-------------+---------------+-------------| 2264 |__assert_fail |div(GLIBC_2.0) |glob64 |makecontext |srand48 | 2265 |(GLIBC_2.0) [2] |[1] |(GLIBC_2.2) |(GLIBC_2.1) [1]|(GLIBC_2.0) | 2266 | | |[2] | |[1] | 2267 |----------------+----------------+-------------+---------------+-------------| 2268 |__cxa_atexit |drand48 |globfree |malloc |srandom | 2269 |(GLIBC_2.1.3) |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2270 |[2] | |[1] | |[1] | 2271 |----------------+----------------+-------------+---------------+-------------| 2272 |__errno_location|ecvt(GLIBC_2.0) |globfree64 |memmem |strtod | 2273 |(GLIBC_2.0) [2] |[1] |(GLIBC_2.1) |(GLIBC_2.0) [2]|(GLIBC_2.0) | 2274 | | |[2] | |[1] | 2275 |----------------+----------------+-------------+---------------+-------------| 2276 |__fpending |erand48 |grantpt |mkstemp |strtol | 2277 |(GLIBC_2.2) [2] |(GLIBC_2.0) [1] |(GLIBC_2.1) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2278 | | |[1] | |[1] | 2279 |----------------+----------------+-------------+---------------+-------------| 2280 |__getpagesize |err(GLIBC_2.0) |hcreate |mktemp |strtoul | 2281 |(GLIBC_2.0) [2] |[2] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2282 | | |[1] | |[1] | 2283 |----------------+----------------+-------------+---------------+-------------| 2284 |__isinf |error(GLIBC_2.0)|hdestroy |mrand48 |swapcontext | 2285 |(GLIBC_2.0) [2] |[2] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.1) | 2286 | | |[1] | |[1] | 2287 |----------------+----------------+-------------+---------------+-------------| 2288 |__isinff |errx(GLIBC_2.0) |hsearch |nftw(GLIBC_2.1)|syslog | 2289 |(GLIBC_2.0) [2] |[2] |(GLIBC_2.0) |[1] |(GLIBC_2.0) | 2290 | | |[1] | |[1] | 2291 |----------------+----------------+-------------+---------------+-------------| 2292 |__isinfl |fcvt(GLIBC_2.0) |htonl |nrand48 |system | 2293 |(GLIBC_2.0) [2] |[1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2294 | | |[1] | |[2] | 2295 |----------------+----------------+-------------+---------------+-------------| 2296 |__isnan |fmtmsg |htons |ntohl |tdelete | 2297 |(GLIBC_2.0) [2] |(GLIBC_2.1) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2298 | | |[1] | |[1] | 2299 |----------------+----------------+-------------+---------------+-------------| 2300 |__isnanf |fnmatch |imaxabs |ntohs |tfind | 2301 |(GLIBC_2.0) [2] |(GLIBC_2.2.3) |(GLIBC_2.1.1)|(GLIBC_2.0) [1]|(GLIBC_2.0) | 2302 | |[1] |[1] | |[1] | 2303 |----------------+----------------+-------------+---------------+-------------| 2304 |__isnanl |fpathconf |imaxdiv |openlog |tmpfile | 2305 |(GLIBC_2.0) [2] |(GLIBC_2.0) [1] |(GLIBC_2.1.1)|(GLIBC_2.0) [1]|(GLIBC_2.1) | 2306 | | |[1] | |[1] | 2307 |----------------+----------------+-------------+---------------+-------------| 2308 |__sysconf |free(GLIBC_2.0) |inet_addr |perror |tmpnam | 2309 |(GLIBC_2.2) [2] |[1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2310 | | |[1] | |[1] | 2311 |----------------+----------------+-------------+---------------+-------------| 2312 |_exit(GLIBC_2.0)|freeaddrinfo |inet_ntoa |posix_memalign |tsearch | 2313 |[1] |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.2) [1]|(GLIBC_2.0) | 2314 | | |[1] | |[1] | 2315 |----------------+----------------+-------------+---------------+-------------| 2316 |_longjmp |ftrylockfile |inet_ntop |ptsname |ttyname | 2317 |(GLIBC_2.0) [1] |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.1) [1]|(GLIBC_2.0) | 2318 | | |[1] | |[1] | 2319 |----------------+----------------+-------------+---------------+-------------| 2320 |_setjmp |ftw(GLIBC_2.0) |inet_pton |putenv |ttyname_r | 2321 |(GLIBC_2.0) [1] |[1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2322 | | |[1] | |[1] | 2323 |----------------+----------------+-------------+---------------+-------------| 2324 |a64l(GLIBC_2.0) |funlockfile |initstate |qsort |twalk | 2325 |[1] |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2326 | | |[1] | |[1] | 2327 |----------------+----------------+-------------+---------------+-------------| 2328 |abort(GLIBC_2.0)|gai_strerror |insque |rand(GLIBC_2.0)|unlockpt | 2329 |[1] |(GLIBC_2.1) [1] |(GLIBC_2.0) |[1] |(GLIBC_2.1) | 2330 | | |[1] | |[1] | 2331 |----------------+----------------+-------------+---------------+-------------| 2332 |abs(GLIBC_2.0) |gcvt(GLIBC_2.0) |isatty |rand_r |unsetenv | 2333 |[1] |[1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2334 | | |[1] | |[1] | 2335 |----------------+----------------+-------------+---------------+-------------| 2336 |atof(GLIBC_2.0) |getaddrinfo |isblank |random |usleep | 2337 |[1] |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2338 | | |[1] | |[1] | 2339 |----------------+----------------+-------------+---------------+-------------| 2340 |atoi(GLIBC_2.0) |getcwd |jrand48 |random_r |verrx | 2341 |[1] |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) [2]|(GLIBC_2.0) | 2342 | | |[1] | |[2] | 2343 |----------------+----------------+-------------+---------------+-------------| 2344 |atol(GLIBC_2.0) |getdate |l64a |realloc |vfscanf | 2345 |[1] |(GLIBC_2.1) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2346 | | |[1] | |[1] | 2347 |----------------+----------------+-------------+---------------+-------------| 2348 |atoll(GLIBC_2.0)|getenv |labs |realpath |vscanf | 2349 |[1] |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.3) [1]|(GLIBC_2.0) | 2350 | | |[1] | |[1] | 2351 |----------------+----------------+-------------+---------------+-------------| 2352 |basename |getlogin |lcong48 |remque |vsscanf | 2353 |(GLIBC_2.0) [1] |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2354 | | |[1] | |[1] | 2355 |----------------+----------------+-------------+---------------+-------------| 2356 |bsearch |getnameinfo |ldiv |seed48 |vsyslog | 2357 |(GLIBC_2.0) [1] |(GLIBC_2.1) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2358 | | |[1] | |[2] | 2359 |----------------+----------------+-------------+---------------+-------------| 2360 |calloc |getopt |lfind |setenv |warn | 2361 |(GLIBC_2.0) [1] |(GLIBC_2.0) [2] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.0) | 2362 | | |[1] | |[2] | 2363 |----------------+----------------+-------------+---------------+-------------| 2364 |closelog |getopt_long |llabs |sethostid |warnx | 2365 |(GLIBC_2.0) [1] |(GLIBC_2.0) [2] |(GLIBC_2.0) |(GLIBC_2.0) [2]|(GLIBC_2.0) | 2366 | | |[1] | |[2] | 2367 |----------------+----------------+-------------+---------------+-------------| 2368 |confstr |getopt_long_only|lldiv |sethostname |wordexp | 2369 |(GLIBC_2.0) [1] |(GLIBC_2.0) [2] |(GLIBC_2.0) |(GLIBC_2.0) [2]|(GLIBC_2.1) | 2370 | | |[1] | |[1] | 2371 |----------------+----------------+-------------+---------------+-------------| 2372 |cuserid |getsubopt |longjmp |setlogmask |wordfree | 2373 |(GLIBC_2.0) [3] |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]|(GLIBC_2.1) | 2374 | | |[1] | |[1] | 2375 |----------------+----------------+-------------+---------------+-------------| 2376 |daemon |gettimeofday |lrand48 |setstate | | 2377 |(GLIBC_2.0) [2] |(GLIBC_2.0) [1] |(GLIBC_2.0) |(GLIBC_2.0) [1]| | 2378 | | |[1] | | | 2379 +-----------------------------------------------------------------------------+ 2380 2381 Referenced Specification(s) 2382 2383 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2384 Specification(SUS) V3 2385 2386 [2]. Linux Standard Base 2387 2388 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2389 5 (ISBN: 1-85912-181-0, C606) 2390 2391 An LSB conforming implementation shall provide the architecture specific data 2392 interfaces for Standard Library specified in Table 1-27, with the full 2393 functionality as described in the referenced underlying specification. 2394 2395 Table 1-27. libc - Standard Library Data Interfaces 2396 2397 +-----------------------------------------------------------------------------+ 2398 |__environ |_sys_errlist |getdate_err |opterr |optopt | 2399 |(GLIBC_2.0) [1]|(GLIBC_2.3) [1] |(GLIBC_2.1) [2] |(GLIBC_2.0) |(GLIBC_2.0) | 2400 | | | |[1] |[1] | 2401 |---------------+----------------+----------------+-------------+-------------| 2402 |_environ |environ |optarg |optind | | 2403 |(GLIBC_2.0) [1]|(GLIBC_2.0) [2] |(GLIBC_2.0) [2] |(GLIBC_2.0) | | 2404 | | | |[1] | | 2405 +-----------------------------------------------------------------------------+ 2406 2407 Referenced Specification(s) 2408 2409 [1]. Linux Standard Base 2410 2411 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2412 Specification(SUS) V3 2413 2414 ------------------------------------------------------------------------------- 2415 2416 Data Definitions for libc 2417 2418 This section defines global identifiers and their values that are associated 2419 with interfaces contained in libc. These definitions are organized into groups 2420 that correspond to system headers. This convention is used as a convenience for 2421 the reader, and does not imply the existence of these headers, or their 2422 content. 2423 2424 These definitions are intended to supplement those provided in the referenced 2425 underlying specifications. 2426 2427 This specification uses ISO/IEC 9899 C Language as the reference programming 2428 language, and data definitions are specified in ISO C format. The C language is 2429 used here as a convenient notation. Using a C language description of these 2430 data objects does not preclude their use by other programming languages. 2431 2432 ------------------------------------------------------------------------------- 2433 2434 errno.h 2435 2436 #define EDEADLOCK EDEADLK 2437 2438 ------------------------------------------------------------------------------- 2439 2440 inttypes.h 2441 2442 typedef long long intmax_t; 2443 typedef unsigned int uintptr_t; 2444 typedef unsigned long long uintmax_t; 2445 typedef unsigned long long uint64_t; 2446 2447 ------------------------------------------------------------------------------- 2448 2449 limits.h 2450 2451 #define LONG_MAX 0x7FFFFFFFL 2452 #define ULONG_MAX 0xFFFFFFFFUL 2453 2454 #define CHAR_MAX SCHAR_MAX 2455 #define CHAR_MIN SCHAR_MIN 2456 2457 ------------------------------------------------------------------------------- 2458 2459 setjmp.h 2460 2461 typedef int __jmp_buf[6]; 2462 2463 ------------------------------------------------------------------------------- 2464 2465 signal.h 2466 2467 struct sigaction 2468 { 2469 union 2470 { 2471 sighandler_t _sa_handler; 2472 void (*_sa_sigaction) (int, siginfo_t *, void *); 2473 } 2474 __sigaction_handler; 2475 sigset_t sa_mask; 2476 unsigned long sa_flags; 2477 void (*sa_restorer) (void); 2478 } 2479 ; 2480 #define MINSIGSTKSZ 2048 2481 #define SIGSTKSZ 8192 2482 2483 struct _fpreg 2484 { 2485 unsigned short significand[4]; 2486 unsigned short exponent; 2487 } 2488 ; 2489 struct _fpxreg 2490 { 2491 unsigned short significand[4]; 2492 unsigned short exponent; 2493 unsigned short padding[3]; 2494 } 2495 ; 2496 struct _xmmreg 2497 { 2498 unsigned long element[4]; 2499 } 2500 ; 2501 2502 struct _fpstate 2503 { 2504 unsigned long cw; 2505 unsigned long sw; 2506 unsigned long tag; 2507 unsigned long ipoff; 2508 unsigned long cssel; 2509 unsigned long dataoff; 2510 unsigned long datasel; 2511 struct _fpreg _st[8]; 2512 unsigned short status; 2513 unsigned short magic; 2514 unsigned long _fxsr_env[6]; 2515 unsigned long mxcsr; 2516 unsigned long reserved; 2517 struct _fpxreg _fxsr_st[8]; 2518 struct _xmmreg _xmm[8]; 2519 unsigned long padding[56]; 2520 } 2521 ; 2522 2523 struct sigcontext 2524 { 2525 unsigned short gs; 2526 unsigned short __gsh; 2527 unsigned short fs; 2528 unsigned short __fsh; 2529 unsigned short es; 2530 unsigned short __esh; 2531 unsigned short ds; 2532 unsigned short __dsh; 2533 unsigned long edi; 2534 unsigned long esi; 2535 unsigned long ebp; 2536 unsigned long esp; 2537 unsigned long ebx; 2538 unsigned long edx; 2539 unsigned long ecx; 2540 unsigned long eax; 2541 unsigned long trapno; 2542 unsigned long err; 2543 unsigned long eip; 2544 unsigned short cs; 2545 unsigned short __csh; 2546 unsigned long eflags; 2547 unsigned long esp_at_signal; 2548 unsigned short ss; 2549 unsigned short __ssh; 2550 struct _fpstate *fpstate; 2551 unsigned long oldmask; 2552 unsigned long cr2; 2553 } 2554 ; 2555 2556 ------------------------------------------------------------------------------- 2557 2558 stddef.h 2559 2560 typedef unsigned int size_t; 2561 typedef int ptrdiff_t; 2562 2563 ------------------------------------------------------------------------------- 2564 2565 sys/ioctl.h 2566 2567 #define FIONREAD 0x541B 2568 #define TIOCNOTTY 0x5422 2569 2570 ------------------------------------------------------------------------------- 2571 2572 sys/ipc.h 2573 2574 struct ipc_perm 2575 { 2576 key_t __key; 2577 uid_t uid; 2578 gid_t gid; 2579 uid_t cuid; 2580 gid_t cgid; 2581 unsigned short mode; 2582 unsigned short __pad1; 2583 unsigned short __seq; 2584 unsigned short __pad2; 2585 unsigned long __unused1; 2586 unsigned long __unused2; 2587 } 2588 ; 2589 2590 ------------------------------------------------------------------------------- 2591 2592 sys/mman.h 2593 2594 #define MCL_CURRENT 1 2595 #define MCL_FUTURE 2 2596 2597 ------------------------------------------------------------------------------- 2598 2599 sys/msg.h 2600 2601 typedef unsigned long msgqnum_t; 2602 typedef unsigned long msglen_t; 2603 2604 struct msqid_ds 2605 { 2606 struct ipc_perm msg_perm; 2607 time_t msg_stime; 2608 unsigned long __unused1; 2609 time_t msg_rtime; 2610 unsigned long __unused2; 2611 time_t msg_ctime; 2612 unsigned long __unused3; 2613 unsigned long __msg_cbytes; 2614 msgqnum_t msg_qnum; 2615 msglen_t msg_qbytes; 2616 pid_t msg_lspid; 2617 pid_t msg_lrpid; 2618 unsigned long __unused4; 2619 unsigned long __unused5; 2620 } 2621 ; 2622 2623 ------------------------------------------------------------------------------- 2624 2625 sys/sem.h 2626 2627 struct semid_ds 2628 { 2629 struct ipc_perm sem_perm; 2630 time_t sem_otime; 2631 unsigned long __unused1; 2632 time_t sem_ctime; 2633 unsigned long __unused2; 2634 unsigned long sem_nsems; 2635 unsigned long __unused3; 2636 unsigned long __unused4; 2637 } 2638 ; 2639 2640 ------------------------------------------------------------------------------- 2641 2642 sys/shm.h 2643 2644 #define SHMLBA (__getpagesize()) 2645 2646 typedef unsigned long shmatt_t; 2647 2648 struct shmid_ds 2649 { 2650 struct ipc_perm shm_perm; 2651 int shm_segsz; 2652 time_t shm_atime; 2653 unsigned long __unused1; 2654 time_t shm_dtime; 2655 unsigned long __unused2; 2656 time_t shm_ctime; 2657 unsigned long __unused3; 2658 pid_t shm_cpid; 2659 pid_t shm_lpid; 2660 shmatt_t shm_nattch; 2661 unsigned long __unused4; 2662 unsigned long __unused5; 2663 } 2664 ; 2665 2666 ------------------------------------------------------------------------------- 2667 2668 sys/socket.h 2669 2670 typedef uint32_t __ss_aligntype; 2671 2672 ------------------------------------------------------------------------------- 2673 2674 sys/stat.h 2675 2676 #define _STAT_VER 3 2677 2678 struct stat 2679 { 2680 dev_t st_dev; 2681 unsigned short __pad1; 2682 unsigned long st_ino; 2683 mode_t st_mode; 2684 nlink_t st_nlink; 2685 pid_t st_uid; 2686 gid_t st_gid; 2687 dev_t st_rdev; 2688 unsigned short __pad2; 2689 off_t st_size; 2690 blksize_t st_blksize; 2691 blkcnt_t st_blocks; 2692 struct timespec st_atim; 2693 struct timespec st_mtim; 2694 struct timespec st_ctim; 2695 unsigned long __unused4; 2696 unsigned long __unused5; 2697 } 2698 ; 2699 struct stat64 2700 { 2701 dev_t st_dev; 2702 unsigned int __pad1; 2703 ino_t __st_ino; 2704 mode_t st_mode; 2705 nlink_t st_nlink; 2706 uid_t st_uid; 2707 gid_t st_gid; 2708 dev_t st_rdev; 2709 unsigned int __pad2; 2710 off64_t st_size; 2711 blksize_t st_blksize; 2712 blkcnt64_t st_blocks; 2713 struct timespec st_atim; 2714 struct timespec st_mtim; 2715 struct timespec st_ctim; 2716 ino64_t st_ino; 2717 } 2718 ; 2719 2720 ------------------------------------------------------------------------------- 2721 2722 sys/statvfs.h 2723 2724 struct statvfs 2725 { 2726 unsigned long f_bsize; 2727 unsigned long f_frsize; 2728 fsblkcnt_t f_blocks; 2729 fsblkcnt_t f_bfree; 2730 fsblkcnt_t f_bavail; 2731 fsfilcnt_t f_files; 2732 fsfilcnt_t f_ffree; 2733 fsfilcnt_t f_favail; 2734 unsigned long f_fsid; 2735 int __f_unused; 2736 unsigned long f_flag; 2737 unsigned long f_namemax; 2738 int __f_spare[6]; 2739 } 2740 ; 2741 struct statvfs64 2742 { 2743 unsigned long f_bsize; 2744 unsigned long f_frsize; 2745 fsblkcnt64_t f_blocks; 2746 fsblkcnt64_t f_bfree; 2747 fsblkcnt64_t f_bavail; 2748 fsfilcnt64_t f_files; 2749 fsfilcnt64_t f_ffree; 2750 fsfilcnt64_t f_favail; 2751 unsigned long f_fsid; 2752 int __f_unused; 2753 unsigned long f_flag; 2754 unsigned long f_namemax; 2755 int __f_spare[6]; 2756 } 2757 ; 2758 2759 ------------------------------------------------------------------------------- 2760 2761 sys/types.h 2762 2763 typedef long long int64_t; 2764 2765 typedef int32_t ssize_t; 2766 2767 ------------------------------------------------------------------------------- 2768 2769 termios.h 2770 2771 #define OLCUC 0000002 2772 #define ONLCR 0000004 2773 #define XCASE 0000004 2774 #define NLDLY 0000400 2775 #define CR1 0001000 2776 #define IUCLC 0001000 2777 #define CR2 0002000 2778 #define CR3 0003000 2779 #define CRDLY 0003000 2780 #define TAB1 0004000 2781 #define TAB2 0010000 2782 #define TAB3 0014000 2783 #define TABDLY 0014000 2784 #define BS1 0020000 2785 #define BSDLY 0020000 2786 #define VT1 0040000 2787 #define VTDLY 0040000 2788 #define FF1 0100000 2789 #define FFDLY 0100000 2790 2791 #define VSUSP 10 2792 #define VEOL 11 2793 #define VREPRINT 12 2794 #define VDISCARD 13 2795 #define VWERASE 14 2796 #define VEOL2 16 2797 #define VMIN 6 2798 #define VSWTC 7 2799 #define VSTART 8 2800 #define VSTOP 9 2801 2802 #define IXON 0002000 2803 #define IXOFF 0010000 2804 2805 #define CS6 0000020 2806 #define CS7 0000040 2807 #define CS8 0000060 2808 #define CSIZE 0000060 2809 #define CSTOPB 0000100 2810 #define CREAD 0000200 2811 #define PARENB 0000400 2812 #define PARODD 0001000 2813 #define HUPCL 0002000 2814 #define CLOCAL 0004000 2815 #define VTIME 5 2816 2817 #define ISIG 0000001 2818 #define ICANON 0000002 2819 #define ECHOE 0000020 2820 #define ECHOK 0000040 2821 #define ECHONL 0000100 2822 #define NOFLSH 0000200 2823 #define TOSTOP 0000400 2824 #define ECHOCTL 0001000 2825 #define ECHOPRT 0002000 2826 #define ECHOKE 0004000 2827 #define FLUSHO 0010000 2828 #define PENDIN 0040000 2829 #define IEXTEN 0100000 2830 2831 ------------------------------------------------------------------------------- 2832 2833 ucontext.h 2834 2835 typedef int greg_t; 2836 #define NGREG 19 2837 2838 typedef greg_t gregset_t[19]; 2839 2840 struct _libc_fpreg 2841 { 2842 unsigned short significand[4]; 2843 unsigned short exponent; 2844 } 2845 ; 2846 2847 struct _libc_fpstate 2848 { 2849 unsigned long cw; 2850 unsigned long sw; 2851 unsigned long tag; 2852 unsigned long ipoff; 2853 unsigned long cssel; 2854 unsigned long dataoff; 2855 unsigned long datasel; 2856 struct _libc_fpreg _st[8]; 2857 unsigned long status; 2858 } 2859 ; 2860 typedef struct _libc_fpstate *fpregset_t; 2861 2862 typedef struct 2863 { 2864 gregset_t gregs; 2865 fpregset_t fpregs; 2866 unsigned long oldmask; 2867 unsigned long cr2; 2868 } 2869 mcontext_t; 2870 2871 typedef struct ucontext 2872 { 2873 unsigned long uc_flags; 2874 struct ucontext *uc_link; 2875 stack_t uc_stack; 2876 mcontext_t uc_mcontext; 2877 sigset_t uc_sigmask; 2878 struct _libc_fpstate __fpregs_mem; 2879 } 2880 ucontext_t; 2881 2882 ------------------------------------------------------------------------------- 2883 2884 unistd.h 2885 2886 typedef int intptr_t; 2887 2888 ------------------------------------------------------------------------------- 2889 2890 utmp.h 2891 2892 struct lastlog 2893 { 2894 time_t ll_time; 2895 char ll_line[UT_LINESIZE]; 2896 char ll_host[UT_HOSTSIZE]; 2897 } 2898 ; 2899 2900 struct utmp 2901 { 2902 short ut_type; 2903 pid_t ut_pid; 2904 char ut_line[UT_LINESIZE]; 2905 char ut_id[4]; 2906 char ut_user[UT_NAMESIZE]; 2907 char ut_host[UT_HOSTSIZE]; 2908 struct exit_status ut_exit; 2909 long ut_session; 2910 struct timeval ut_tv; 2911 int32_t ut_addr_v6[4]; 2912 char __unused[20]; 2913 } 2914 ; 2915 2916 ------------------------------------------------------------------------------- 2917 2918 utmpx.h 2919 2920 struct utmpx 2921 { 2922 short ut_type; 2923 pid_t ut_pid; 2924 char ut_line[UT_LINESIZE]; 2925 char ut_id[4]; 2926 char ut_user[UT_NAMESIZE]; 2927 char ut_host[UT_HOSTSIZE]; 2928 struct exit_status ut_exit; 2929 long ut_session; 2930 struct timeval ut_tv; 2931 int32_t ut_addr_v6[4]; 2932 char __unused[20]; 2933 } 2934 ; 2935 2936 ------------------------------------------------------------------------------- 2937 2938 Interfaces for libm 2939 2940 Table 1-28 defines the library name and shared object name for the libm library 2941 2942 Table 1-28. libm Definition 2943 2944 +-------------------+ 2945 |Library:|libm | 2946 |--------+----------| 2947 |SONAME: |libm.so.6 | 2948 +-------------------+ 2949 2950 The behavior of the interfaces in this library is specified by the following 2951 specifications: 2952 2953 ISO/IEC 9899: 1999, Programming Languages --C 2954 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 2955 (ISBN: 1-85912-181-0, C606) 2956 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2957 Specification(SUS) V3 2958 2959 ------------------------------------------------------------------------------- 2960 2961 Math 2962 2963 ------------------------------------------------------------------------------- 2964 2965 Interfaces for Math 2966 2967 An LSB conforming implementation shall provide the architecture specific 2968 functions for Math specified in Table 1-29, with the full functionality as 2969 described in the referenced underlying specification. 2970 2971 Table 1-29. libm - Math Function Interfaces 2972 2973 +-----------------------------------------------------------------------------+ 2974 |acos |cexp |expf(GLIBC_2.0) |jnf(GLIBC_2.0) |remquof | 2975 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |[2] |(GLIBC_2.1) [1]| 2976 |[1] |[1] | | | | 2977 |------------+--------------+-----------------+---------------+---------------| 2978 |acosf |cexpf |expl(GLIBC_2.0) |jnl(GLIBC_2.0) |remquol | 2979 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |[2] |(GLIBC_2.1) [1]| 2980 |[1] |[1] | | | | 2981 |------------+--------------+-----------------+---------------+---------------| 2982 |acosh |cexpl |expm1(GLIBC_2.0) |ldexp |rint(GLIBC_2.0)| 2983 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [1]|[1] | 2984 |[1] |[1] | | | | 2985 |------------+--------------+-----------------+---------------+---------------| 2986 |acoshf |cimag |fabs(GLIBC_2.0) |ldexpf |rintf | 2987 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [1]|(GLIBC_2.0) [1]| 2988 |[1] |[1] | | | | 2989 |------------+--------------+-----------------+---------------+---------------| 2990 |acoshl |cimagf |fabsf(GLIBC_2.0) |ldexpl |rintl | 2991 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [1]|(GLIBC_2.0) [1]| 2992 |[1] |[1] | | | | 2993 |------------+--------------+-----------------+---------------+---------------| 2994 |acosl |cimagl |fabsl(GLIBC_2.0) |lgamma |round | 2995 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [1]|(GLIBC_2.1) [1]| 2996 |[1] |[1] | | | | 2997 |------------+--------------+-----------------+---------------+---------------| 2998 |asin |clog |fdim(GLIBC_2.1) |lgamma_r |roundf | 2999 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [2]|(GLIBC_2.1) [1]| 3000 |[1] |[1] | | | | 3001 |------------+--------------+-----------------+---------------+---------------| 3002 |asinf |clog10 |fdimf(GLIBC_2.1) |lgammaf |roundl | 3003 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [1]|(GLIBC_2.1) [1]| 3004 |[1] |[2] | | | | 3005 |------------+--------------+-----------------+---------------+---------------| 3006 |asinh |clog10f |fdiml(GLIBC_2.1) |lgammaf_r |scalb | 3007 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [2]|(GLIBC_2.0) [1]| 3008 |[1] |[2] | | | | 3009 |------------+--------------+-----------------+---------------+---------------| 3010 |asinhf |clog10l |feclearexcept |lgammal |scalbf | 3011 |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.2) [1] |(GLIBC_2.0) [1]|(GLIBC_2.0) [2]| 3012 |[1] |[2] | | | | 3013 |------------+--------------+-----------------+---------------+---------------| 3014 |asinhl |clogf |fegetenv |lgammal_r |scalbl | 3015 |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.2) [1] |(GLIBC_2.0) [2]|(GLIBC_2.0) [2]| 3016 |[1] |[1] | | | | 3017 |------------+--------------+-----------------+---------------+---------------| 3018 |asinl |clogl |fegetexceptflag |llrint |scalbln | 3019 |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.2) [1] |(GLIBC_2.1) [1]|(GLIBC_2.1) [1]| 3020 |[1] |[1] | | | | 3021 |------------+--------------+-----------------+---------------+---------------| 3022 |atan |conj |fegetround |llrintf |scalblnf | 3023 |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.1) [1] |(GLIBC_2.1) [1]|(GLIBC_2.1) [1]| 3024 |[1] |[1] | | | | 3025 |------------+--------------+-----------------+---------------+---------------| 3026 |atan2 |conjf |feholdexcept |llrintl |scalblnl | 3027 |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.1) [1] |(GLIBC_2.1) [1]|(GLIBC_2.1) [1]| 3028 |[1] |[1] | | | | 3029 |------------+--------------+-----------------+---------------+---------------| 3030 |atan2f |conjl |feraiseexcept |llround |scalbn | 3031 |(GLIBC_2.0) |(GLIBC_2.1) |(GLIBC_2.2) [1] |(GLIBC_2.1) [1]|(GLIBC_2.0) [1]| 3032 |[1] |[1] | | | | 3033 |------------+--------------+-----------------+---------------+---------------| 3034 |atan2l |copysign |fesetenv |llroundf |scalbnf | 3035 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.2) [1] |(GLIBC_2.1) [1]|(GLIBC_2.0) [1]| 3036 |[1] |[1] | | | | 3037 |------------+--------------+-----------------+---------------+---------------| 3038 |atanf |copysignf |fesetexceptflag |llroundl |scalbnl | 3039 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.2) [1] |(GLIBC_2.1) [1]|(GLIBC_2.0) [1]| 3040 |[1] |[1] | | | | 3041 |------------+--------------+-----------------+---------------+---------------| 3042 |atanh |copysignl |fesetround |log(GLIBC_2.0) |significand | 3043 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.1) [1] |[1] |(GLIBC_2.0) [2]| 3044 |[1] |[1] | | | | 3045 |------------+--------------+-----------------+---------------+---------------| 3046 |atanhf |cos(GLIBC_2.0)|fetestexcept |log10 |significandf | 3047 |(GLIBC_2.0) |[1] |(GLIBC_2.1) [1] |(GLIBC_2.0) [1]|(GLIBC_2.0) [2]| 3048 |[1] | | | | | 3049 |------------+--------------+-----------------+---------------+---------------| 3050 |atanhl |cosf |feupdateenv |log10f |significandl | 3051 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.2) [1] |(GLIBC_2.0) [1]|(GLIBC_2.0) [2]| 3052 |[1] |[1] | | | | 3053 |------------+--------------+-----------------+---------------+---------------| 3054 |atanl |cosh |finite(GLIBC_2.0)|log10l |sin(GLIBC_2.0) | 3055 |(GLIBC_2.0) |(GLIBC_2.0) |[3] |(GLIBC_2.0) [1]|[1] | 3056 |[1] |[1] | | | | 3057 |------------+--------------+-----------------+---------------+---------------| 3058 |cabs |coshf |finitef |log1p |sincos | 3059 |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.0) [2] |(GLIBC_2.0) [1]|(GLIBC_2.1) [2]| 3060 |[1] |[1] | | | | 3061 |------------+--------------+-----------------+---------------+---------------| 3062 |cabsf |coshl |finitel |logb(GLIBC_2.0)|sincosf | 3063 |(GLIBC_2.1) |(GLIBC_2.0) |(GLIBC_2.0) [2] |[1] |(GLIBC_2.1) [2]| 3064 |[1] |[1] | | | | 3065 |------------+--------------+-----------------+---------------+---------------| 3066 |cabsl |cosl |floor(GLIBC_2.0) |logf(GLIBC_2.0)|sincosl | 3067 |(GLIBC_2.1) |(GLIBC_2.0) |[1] |[1] |(GLIBC_2.1) [2]| 3068 |[1] |[1] | | | | 3069 |------------+--------------+-----------------+---------------+---------------| 3070 |cacos |cpow |floorf(GLIBC_2.0)|logl(GLIBC_2.0)|sinf(GLIBC_2.0)| 3071 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |[1] |[1] | 3072 |[1] |[1] | | | | 3073 |------------+--------------+-----------------+---------------+---------------| 3074 |cacosf |cpowf |floorl(GLIBC_2.0)|lrint |sinh(GLIBC_2.0)| 3075 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|[1] | 3076 |[1] |[1] | | | | 3077 |------------+--------------+-----------------+---------------+---------------| 3078 |cacosh |cpowl |fma(GLIBC_2.1) |lrintf |sinhf | 3079 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|(GLIBC_2.0) [1]| 3080 |[1] |[1] | | | | 3081 |------------+--------------+-----------------+---------------+---------------| 3082 |cacoshf |cproj |fmaf(GLIBC_2.1) |lrintl |sinhl | 3083 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|(GLIBC_2.0) [1]| 3084 |[1] |[1] | | | | 3085 |------------+--------------+-----------------+---------------+---------------| 3086 |cacoshl |cprojf |fmal(GLIBC_2.1) |lround |sinl(GLIBC_2.0)| 3087 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|[1] | 3088 |[1] |[1] | | | | 3089 |------------+--------------+-----------------+---------------+---------------| 3090 |cacosl |cprojl |fmax(GLIBC_2.1) |lroundf |sqrt(GLIBC_2.0)| 3091 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|[1] | 3092 |[1] |[1] | | | | 3093 |------------+--------------+-----------------+---------------+---------------| 3094 |carg |creal |fmaxf(GLIBC_2.1) |lroundl |sqrtf | 3095 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|(GLIBC_2.0) [1]| 3096 |[1] |[1] | | | | 3097 |------------+--------------+-----------------+---------------+---------------| 3098 |cargf |crealf |fmaxl(GLIBC_2.1) |matherr |sqrtl | 3099 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [2]|(GLIBC_2.0) [1]| 3100 |[1] |[1] | | | | 3101 |------------+--------------+-----------------+---------------+---------------| 3102 |cargl |creall |fmin(GLIBC_2.1) |modf(GLIBC_2.0)|tan(GLIBC_2.0) | 3103 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |[1] |[1] | 3104 |[1] |[1] | | | | 3105 |------------+--------------+-----------------+---------------+---------------| 3106 |casin |csin |fminf(GLIBC_2.1) |modff |tanf(GLIBC_2.0)| 3107 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [1]|[1] | 3108 |[1] |[1] | | | | 3109 |------------+--------------+-----------------+---------------+---------------| 3110 |casinf |csinf |fminl(GLIBC_2.1) |modfl |tanh(GLIBC_2.0)| 3111 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.0) [1]|[1] | 3112 |[1] |[1] | | | | 3113 |------------+--------------+-----------------+---------------+---------------| 3114 |casinh |csinh |fmod(GLIBC_2.0) |nan(GLIBC_2.1) |tanhf | 3115 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |[1] |(GLIBC_2.0) [1]| 3116 |[1] |[1] | | | | 3117 |------------+--------------+-----------------+---------------+---------------| 3118 |casinhf |csinhf |fmodf(GLIBC_2.0) |nanf(GLIBC_2.1)|tanhl | 3119 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |[1] |(GLIBC_2.0) [1]| 3120 |[1] |[1] | | | | 3121 |------------+--------------+-----------------+---------------+---------------| 3122 |casinhl |csinhl |fmodl(GLIBC_2.0) |nanl(GLIBC_2.1)|tanl(GLIBC_2.0)| 3123 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |[1] |[1] | 3124 |[1] |[1] | | | | 3125 |------------+--------------+-----------------+---------------+---------------| 3126 |casinl |csinl |frexp(GLIBC_2.0) |nearbyint |tgamma | 3127 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|(GLIBC_2.1) [1]| 3128 |[1] |[1] | | | | 3129 |------------+--------------+-----------------+---------------+---------------| 3130 |catan |csqrt |frexpf(GLIBC_2.0)|nearbyintf |tgammaf | 3131 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|(GLIBC_2.1) [1]| 3132 |[1] |[1] | | | | 3133 |------------+--------------+-----------------+---------------+---------------| 3134 |catanf |csqrtf |frexpl(GLIBC_2.0)|nearbyintl |tgammal | 3135 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|(GLIBC_2.1) [1]| 3136 |[1] |[1] | | | | 3137 |------------+--------------+-----------------+---------------+---------------| 3138 |catanh |csqrtl |gamma(GLIBC_2.0) |nextafter |trunc | 3139 |(GLIBC_2.1) |(GLIBC_2.1) |[3] |(GLIBC_2.0) [1]|(GLIBC_2.1) [1]| 3140 |[1] |[1] | | | | 3141 |------------+--------------+-----------------+---------------+---------------| 3142 |catanhf |ctan |gammaf(GLIBC_2.0)|nextafterf |truncf | 3143 |(GLIBC_2.1) |(GLIBC_2.1) |[2] |(GLIBC_2.0) [1]|(GLIBC_2.1) [1]| 3144 |[1] |[1] | | | | 3145 |------------+--------------+-----------------+---------------+---------------| 3146 |catanhl |ctanf |gammal(GLIBC_2.0)|nextafterl |truncl | 3147 |(GLIBC_2.1) |(GLIBC_2.1) |[2] |(GLIBC_2.0) [1]|(GLIBC_2.1) [1]| 3148 |[1] |[1] | | | | 3149 |------------+--------------+-----------------+---------------+---------------| 3150 |catanl |ctanh |hypot(GLIBC_2.0) |nexttoward |y0(GLIBC_2.0) | 3151 |(GLIBC_2.1) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|[1] | 3152 |[1] |[1] | | | | 3153 |------------+--------------+-----------------+---------------+---------------| 3154 |cbrt |ctanhf |hypotf(GLIBC_2.0)|nexttowardf |y0f(GLIBC_2.0) | 3155 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|[2] | 3156 |[1] |[1] | | | | 3157 |------------+--------------+-----------------+---------------+---------------| 3158 |cbrtf |ctanhl |hypotl(GLIBC_2.0)|nexttowardl |y0l(GLIBC_2.0) | 3159 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |(GLIBC_2.1) [1]|[2] | 3160 |[1] |[1] | | | | 3161 |------------+--------------+-----------------+---------------+---------------| 3162 |cbrtl |ctanl |ilogb(GLIBC_2.0) |pow(GLIBC_2.0) |y1(GLIBC_2.0) | 3163 |(GLIBC_2.0) |(GLIBC_2.1) |[1] |[1] |[1] | 3164 |[1] |[1] | | | | 3165 |------------+--------------+-----------------+---------------+---------------| 3166 |ccos |dremf |ilogbf(GLIBC_2.0)|pow10 |y1f(GLIBC_2.0) | 3167 |(GLIBC_2.1) |(GLIBC_2.0) |[1] |(GLIBC_2.1) [2]|[2] | 3168 |[1] |[2] | | | | 3169 |------------+--------------+-----------------+---------------+---------------| 3170 |ccosf |dreml |ilogbl(GLIBC_2.0)|pow10f |y1l(GLIBC_2.0) | 3171 |(GLIBC_2.1) |(GLIBC_2.0) |[1] |(GLIBC_2.1) [2]|[2] | 3172 |[1] |[2] | | | | 3173 |------------+--------------+-----------------+---------------+---------------| 3174 |ccosh |erf(GLIBC_2.0)| |pow10l |yn(GLIBC_2.0) | 3175 |(GLIBC_2.1) |[1] |j0(GLIBC_2.0) [1]|(GLIBC_2.1) [2]|[1] | 3176 |[1] | | | | | 3177 |------------+--------------+-----------------+---------------+---------------| 3178 |ccoshf |erfc |j0f(GLIBC_2.0) |powf(GLIBC_2.0)|ynf(GLIBC_2.0) | 3179 |(GLIBC_2.1) |(GLIBC_2.0) |[2] |[1] |[2] | 3180 |[1] |[1] | | | | 3181 |------------+--------------+-----------------+---------------+---------------| 3182 |ccoshl |erfcf |j0l(GLIBC_2.0) |powl(GLIBC_2.0)|ynl(GLIBC_2.0) | 3183 |(GLIBC_2.1) |(GLIBC_2.0) |[2] |[1] |[2] | 3184 |[1] |[1] | | | | 3185 |------------+--------------+-----------------+---------------+---------------| 3186 |ccosl |erfcl | |remainder | | 3187 |(GLIBC_2.1) |(GLIBC_2.0) |j1(GLIBC_2.0) [1]|(GLIBC_2.0) [1]| | 3188 |[1] |[1] | | | | 3189 |------------+--------------+-----------------+---------------+---------------| 3190 |ceil |erff |j1f(GLIBC_2.0) |remainderf | | 3191 |(GLIBC_2.0) |(GLIBC_2.0) |[2] |(GLIBC_2.0) [1]| | 3192 |[1] |[1] | | | | 3193 |------------+--------------+-----------------+---------------+---------------| 3194 |ceilf |erfl |j1l(GLIBC_2.0) |remainderl | | 3195 |(GLIBC_2.0) |(GLIBC_2.0) |[2] |(GLIBC_2.0) [1]| | 3196 |[1] |[1] | | | | 3197 |------------+--------------+-----------------+---------------+---------------| 3198 |ceill |exp(GLIBC_2.0)| |remquo | | 3199 |(GLIBC_2.0) |[1] |jn(GLIBC_2.0) [1]|(GLIBC_2.1) [1]| | 3200 |[1] | | | | | 3201 +-----------------------------------------------------------------------------+ 3202 3203 Referenced Specification(s) 3204 3205 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3206 Specification(SUS) V3 3207 3208 [2]. ISO/IEC 9899: 1999, Programming Languages --C 3209 3210 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 3211 5 (ISBN: 1-85912-181-0, C606) 3212 3213 An LSB conforming implementation shall provide the architecture specific data 3214 interfaces for Math specified in Table 1-30, with the full functionality as 3215 described in the referenced underlying specification. 3216 3217 Table 1-30. libm - Math Data Interfaces 3218 3219 +-------------------------------+ 3220 |signgam(GLIBC_2.0) [1] | | | | | 3221 +-------------------------------+ 3222 3223 Referenced Specification(s) 3224 3225 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3226 Specification(SUS) V3 3227 3228 ------------------------------------------------------------------------------- 3229 3230 Interfaces for libpthread 3231 3232 Table 1-31 defines the library name and shared object name for the libpthread 3233 library 3234 3235 Table 1-31. libpthread Definition 3236 3237 +-------------------------+ 3238 |Library:|libpthread | 3239 |--------+----------------| 3240 |SONAME: |libpthread.so.0 | 3241 +-------------------------+ 3242 3243 The behavior of the interfaces in this library is specified by the following 3244 specifications: 3245 3246 Large File Support 3247 Linux Standard Base 3248 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3249 Specification(SUS) V3 3250 3251 ------------------------------------------------------------------------------- 3252 3253 Realtime Threads 3254 3255 ------------------------------------------------------------------------------- 3256 3257 Interfaces for Realtime Threads 3258 3259 No external functions are defined for libpthread - Realtime Threads 3260 3261 ------------------------------------------------------------------------------- 3262 3263 Advanced Realtime Threads 3264 3265 ------------------------------------------------------------------------------- 3266 3267 Interfaces for Advanced Realtime Threads 3268 3269 No external functions are defined for libpthread - Advanced Realtime Threads 3270 3271 ------------------------------------------------------------------------------- 3272 3273 Posix Threads 3274 3275 ------------------------------------------------------------------------------- 3276 3277 Interfaces for Posix Threads 3278 3279 An LSB conforming implementation shall provide the architecture specific 3280 functions for Posix Threads specified in Table 1-32, with the full 3281 functionality as described in the referenced underlying specification. 3282 3283 Table 1-32. libpthread - Posix Threads Function Interfaces 3284 3285 +-----------------------------------------------------------------------------------------------------------------------------------------+ 3286 |_pthread_cleanup_pop |pthread_cancel(GLIBC_2.0) |pthread_join(GLIBC_2.0) [2] |pthread_rwlock_destroy |pthread_setconcurrency| 3287 |(GLIBC_2.0) [1] |[2] | |(GLIBC_2.1) [2] |(GLIBC_2.1) [2] | 3288 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3289 |_pthread_cleanup_push |pthread_cond_broadcast |pthread_key_create |pthread_rwlock_init |pthread_setspecific | 3290 |(GLIBC_2.0) [1] |(GLIBC_2.3.2) [2] |(GLIBC_2.0) [2] |(GLIBC_2.1) [2] |(GLIBC_2.0) [2] | 3291 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3292 |pread(GLIBC_2.2) [2] |pthread_cond_destroy |pthread_key_delete |pthread_rwlock_rdlock |pthread_sigmask | 3293 | |(GLIBC_2.3.2) [2] |(GLIBC_2.0) [2] |(GLIBC_2.1) [2] |(GLIBC_2.0) [2] | 3294 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3295 |pread64(GLIBC_2.2) [3] |pthread_cond_init |pthread_kill(GLIBC_2.0) [2] |pthread_rwlock_timedrdlock |pthread_testcancel | 3296 | |(GLIBC_2.3.2) [2] | |(GLIBC_2.2) [2] |(GLIBC_2.0) [2] | 3297 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3298 |pthread_attr_destroy |pthread_cond_signal |pthread_mutex_destroy |pthread_rwlock_timedwrlock |pwrite(GLIBC_2.2) [2] | 3299 |(GLIBC_2.0) [2] |(GLIBC_2.3.2) [2] |(GLIBC_2.0) [2] |(GLIBC_2.2) [2] | | 3300 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3301 |pthread_attr_getdetachstate|pthread_cond_timedwait |pthread_mutex_init |pthread_rwlock_tryrdlock |pwrite64(GLIBC_2.2) | 3302 |(GLIBC_2.0) [2] |(GLIBC_2.3.2) [2] |(GLIBC_2.0) [2] |(GLIBC_2.1) [2] |[3] | 3303 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3304 |pthread_attr_getguardsize |pthread_cond_wait |pthread_mutex_lock |pthread_rwlock_trywrlock |sem_close(GLIBC_2.1.1)| 3305 |(GLIBC_2.1) [2] |(GLIBC_2.3.2) [2] |(GLIBC_2.0) [2] |(GLIBC_2.1) [2] |[2] | 3306 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3307 |pthread_attr_getschedparam |pthread_condattr_destroy |pthread_mutex_trylock |pthread_rwlock_unlock |sem_destroy(GLIBC_2.1)| 3308 |(GLIBC_2.0) [2] |(GLIBC_2.0) [2] |(GLIBC_2.0) [2] |(GLIBC_2.1) [2] |[2] | 3309 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3310 |pthread_attr_getstackaddr |pthread_condattr_getpshared|pthread_mutex_unlock |pthread_rwlock_wrlock |sem_getvalue | 3311 |(GLIBC_2.1) [2] |(GLIBC_2.2) [2] |(GLIBC_2.0) [2] |(GLIBC_2.1) [2] |(GLIBC_2.1) [2] | 3312 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3313 |pthread_attr_getstacksize |pthread_condattr_init |pthread_mutexattr_destroy |pthread_rwlockattr_destroy |sem_init(GLIBC_2.1) | 3314 |(GLIBC_2.1) [2] |(GLIBC_2.0) [2] |(GLIBC_2.0) [2] |(GLIBC_2.1) [2] |[2] | 3315 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3316 |pthread_attr_init |pthread_condattr_setpshared|pthread_mutexattr_getpshared|pthread_rwlockattr_getpshared|sem_open(GLIBC_2.1.1) | 3317 |(GLIBC_2.1) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.1) [2] |[2] | 3318 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3319 |pthread_attr_setdetachstate|pthread_create(GLIBC_2.1) |pthread_mutexattr_gettype |pthread_rwlockattr_init |sem_post(GLIBC_2.1) | 3320 |(GLIBC_2.0) [2] |[2] |(GLIBC_2.1) [2] |(GLIBC_2.1) [2] |[2] | 3321 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3322 |pthread_attr_setguardsize |pthread_detach(GLIBC_2.0) |pthread_mutexattr_init |pthread_rwlockattr_setpshared|sem_timedwait | 3323 |(GLIBC_2.1) [2] |[2] |(GLIBC_2.0) [2] |(GLIBC_2.1) [2] |(GLIBC_2.2) [2] | 3324 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3325 |pthread_attr_setschedparam |pthread_equal(GLIBC_2.0) |pthread_mutexattr_setpshared|pthread_self(GLIBC_2.0) [2] |sem_trywait(GLIBC_2.1)| 3326 |(GLIBC_2.0) [2] |[2] |(GLIBC_2.2) [2] | |[2] | 3327 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3328 |pthread_attr_setstackaddr |pthread_exit(GLIBC_2.0) [2]|pthread_mutexattr_settype |pthread_setcancelstate |sem_unlink | 3329 |(GLIBC_2.1) [2] | |(GLIBC_2.1) [2] |(GLIBC_2.0) [2] |(GLIBC_2.1.1) [2] | 3330 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3331 |pthread_attr_setstacksize |pthread_getspecific |pthread_once(GLIBC_2.0) [2] |pthread_setcanceltype |sem_wait(GLIBC_2.1) | 3332 |(GLIBC_2.1) [2] |(GLIBC_2.0) [2] | |(GLIBC_2.0) [2] |[2] | 3333 +-----------------------------------------------------------------------------------------------------------------------------------------+ 3334 3335 Referenced Specification(s) 3336 3337 [1]. Linux Standard Base 3338 3339 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3340 Specification(SUS) V3 3341 3342 [3]. Large File Support 3343 3344 ------------------------------------------------------------------------------- 3345 3346 Interfaces for libgcc_s 3347 3348 Table 1-33 defines the library name and shared object name for the libgcc_s 3349 library 3350 3351 Table 1-33. libgcc_s Definition 3352 3353 +-----------------------+ 3354 |Library:|libgcc_s | 3355 |--------+--------------| 3356 |SONAME: |libgcc_s.so.1 | 3357 +-----------------------+ 3358 3359 The behavior of the interfaces in this library is specified by the following 3360 specifications: 3361 3362 Linux Standard Base 3363 3364 ------------------------------------------------------------------------------- 3365 3366 Unwind Library 3367 3368 ------------------------------------------------------------------------------- 3369 3370 Interfaces for Unwind Library 3371 3372 An LSB conforming implementation shall provide the architecture specific 3373 functions for Unwind Library specified in Table 1-34, with the full 3374 functionality as described in the referenced underlying specification. 3375 3376 Table 1-34. libgcc_s - Unwind Library Function Interfaces 3377 3378 +-------------------------------------------------------------------------------------------------------------------+ 3379 |_Unwind_DeleteException|_Unwind_GetDataRelBase|_Unwind_GetLanguageSpecificData|_Unwind_RaiseException|_Unwind_SetIP| 3380 |(GCC_3.0) [1] |(GCC_3.0) [1] |(GCC_3.0) [1] |(GCC_3.0) [1] |(GCC_3.0) [1]| 3381 |-----------------------+----------------------+-------------------------------+----------------------+-------------| 3382 |_Unwind_Find_FDE |_Unwind_GetGR(GCC_3.0)|_Unwind_GetRegionStart(GCC_3.0)|_Unwind_Resume | | 3383 |(GCC_3.0) [1] |[1] |[1] |(GCC_3.0) [1] | | 3384 |-----------------------+----------------------+-------------------------------+----------------------+-------------| 3385 |_Unwind_ForcedUnwind |_Unwind_GetIP(GCC_3.0)|_Unwind_GetTextRelBase(GCC_3.0)|_Unwind_SetGR(GCC_3.0)| | 3386 |(GCC_3.0) [1] |[1] |[1] |[1] | | 3387 +-------------------------------------------------------------------------------------------------------------------+ 3388 3389 Referenced Specification(s) 3390 3391 [1]. Linux Standard Base 3392 3393 ------------------------------------------------------------------------------- 3394 3395 Interface Definitions for libgcc_s 3396 3397 Table of Contents 3398 _Unwind_DeleteException -- private C++ error handling method 3399 _Unwind_Find_FDE -- private C++ error handling method 3400 _Unwind_ForcedUnwind -- private C++ error handling method 3401 _Unwind_GetDataRelBase -- private IA64 C++ error handling method 3402 _Unwind_GetGR -- private C++ error handling method 3403 _Unwind_GetIP -- private C++ error handling method 3404 _Unwind_GetLanguageSpecificData -- private C++ error handling method 3405 _Unwind_GetRegionStart -- private C++ error handling method 3406 _Unwind_GetTextRelBase -- private IA64 C++ error handling method 3407 _Unwind_RaiseException -- private C++ error handling method 3408 _Unwind_Resume -- private C++ error handling method 3409 _Unwind_SetGR -- private C++ error handling method 3410 _Unwind_SetIP -- private C++ error handling method 3411 3412 The following interfaces are included in libgcc_s and are defined by this 3413 specification. Unless otherwise noted, these interfaces shall be included in 3414 the source standard. 3415 3416 Other interfaces listed above for libgcc_s shall behave as described in the 3417 referenced base document. 3418 3419 _Unwind_DeleteException 3420 3421 Name 3422 3423 _Unwind_DeleteException -- private C++ error handling method 3424 3425 Synopsis 3426 3427 void _Unwind_DeleteException((struct _Unwind_Exception *object)); 3428 3429 Description 3430 3431 _Unwind_DeleteException deletes the given exception object. If a given runtime 3432 resumes normal execution after catching a foreign exception, it will not know 3433 how to delete that exception. Such an exception shall be deleted by calling 3434 _Unwind_DeleteException. This is a convenience function that calls the function 3435 pointed to by the exception_cleanup field of the exception header. 3436 3437 _Unwind_Find_FDE 3438 3439 Name 3440 3441 _Unwind_Find_FDE -- private C++ error handling method 3442 3443 Synopsis 3444 3445 fde * _Unwind_Find_FDE(void *pc, (struct dwarf_eh_bases *bases)); 3446 3447 Description 3448 3449 _Unwind_Find_FDE looks for the object containing pc, then inserts into bases. 3450 3451 _Unwind_ForcedUnwind 3452 3453 Name 3454 3455 _Unwind_ForcedUnwind -- private C++ error handling method 3456 3457 Synopsis 3458 3459 _Unwind_Reason_Code _Unwind_ForcedUnwind((struct _Unwind_Exception *object), 3460 _Unwind_Stop_Fn stop, void *stop_parameter); 3461 3462 Description 3463 3464 _Unwind_ForcedUnwind raises an exception for forced unwinding, passing along 3465 the given exception object, which should have its exception_class and 3466 exception_cleanup fields set. The exception object has been allocated by the 3467 language-specific runtime, and has a language-specific format, except that it 3468 shall contain an _Unwind_Exception struct. 3469 3470 Forced unwinding is a single-phase process. stop and stop_parameter control the 3471 termination of the unwind process instead of the usual personality routine 3472 query. stop is called for each unwind frame, with the parameteres described for 3473 the usual personality routine below, plus an additional stop_parameter. 3474 3475 Return Value 3476 3477 When stop identifies the destination frame, it transfers control to the user 3478 code as appropriate without returning, normally after calling 3479 _Unwind_DeleteException. If not, then it should return an _Unwind_Reason_Code 3480 value. 3481 3482 If stop returns any reason code other than _URC_NO_REASON, then the stack state 3483 is indeterminate from the point of view of the caller of _Unwind_ForcedUnwind. 3484 Rather than attempt to return, therefore, the unwind library should use the 3485 exception_cleanup entry in the exception, and then call abort. 3486 3487 _URC_NO_REASON 3488 3489 This is not the destination from. The unwind runtime will call frame's 3490 personality routine with the _UA_FORCE_UNWIND and _UA_CLEANUP_PHASE flag 3491 set in actions, and then unwind to the next frame and call the stop 3492 function again. 3493 3494 _URC_END_OF_STACK 3495 3496 In order to allow _Unwind_ForcedUnwind to perform special processing when 3497 it reaches the end of the stack, the unwind runtime will call it after the 3498 last frame is rejected, with a NULL stack pointer in the context, and the 3499 stop function shall catch this condition. It may return this code if it 3500 cannot handle end-of-stack. 3501 3502 _URC_FATAL_PHASE2_ERROR 3503 3504 The stop function may return this code for other fatal conditions like 3505 stack corruption. 3506 3507 _Unwind_GetDataRelBase 3508 3509 Name 3510 3511 _Unwind_GetDataRelBase -- private IA64 C++ error handling method 3512 3513 Synopsis 3514 3515 _Unwind_Ptr _Unwind_GetDataRelBase((struct _Unwind_Context *context)); 3516 3517 Description 3518 3519 _Unwind_GetDataRelBase returns the global pointer in register one for context. 3520 3521 _Unwind_GetGR 3522 3523 Name 3524 3525 _Unwind_GetGR -- private C++ error handling method 3526 3527 Synopsis 3528 3529 _Unwind_Word _Unwind_GetGR((struct _Unwind_Context *context), int index); 3530 3531 Description 3532 3533 _Unwind_GetGR returns data at index found in context. The register is 3534 identified by its index: 0 to 31 are for the fixed registers, and 32 to 127 are 3535 for the stacked registers. 3536 3537 During the two phases of unwinding, only GR1 has a guaranteed value, which is 3538 the global pointer of the frame referenced by the unwind context. If the 3539 register has its NAT bit set, the behavior is unspecified. 3540 3541 _Unwind_GetIP 3542 3543 Name 3544 3545 _Unwind_GetIP -- private C++ error handling method 3546 3547 Synopsis 3548 3549 _Unwind_Ptr _Unwind_GetIP((struct _Unwind_Context *context)); 3550 3551 Description 3552 3553 _Unwind_GetIP returns the instruction pointer value for the routine identified 3554 by the unwind context. 3555 3556 _Unwind_GetLanguageSpecificData 3557 3558 Name 3559 3560 _Unwind_GetLanguageSpecificData -- private C++ error handling method 3561 3562 Synopsis 3563 3564 _Unwind_Ptr _Unwind_GetLanguageSpecificData((struct _Unwind_Context *context), 3565 uint value); 3566 3567 Description 3568 3569 _Unwind_GetLanguageSpecificData returns the address of the language specific 3570 data area for the current stack frame. 3571 3572 _Unwind_GetRegionStart 3573 3574 Name 3575 3576 _Unwind_GetRegionStart -- private C++ error handling method 3577 3578 Synopsis 3579 3580 _Unwind_Ptr _Unwind_GetRegionStart((struct _Unwind_Context *context)); 3581 3582 Description 3583 3584 _Unwind_GetRegionStart routine returns the address (i.e., 0) of the beginning 3585 of the procedure or code fragment described by the current unwind descriptor 3586 block. 3587 3588 _Unwind_GetTextRelBase 3589 3590 Name 3591 3592 _Unwind_GetTextRelBase -- private IA64 C++ error handling method 3593 3594 Synopsis 3595 3596 _Unwind_Ptr _Unwind_GetTextRelBase((struct _Unwind_Context *context)); 3597 3598 Description 3599 3600 _Unwind_GetTextRelBase calls the abort method, then returns. 3601 3602 _Unwind_RaiseException 3603 3604 Name 3605 3606 _Unwind_RaiseException -- private C++ error handling method 3607 3608 Synopsis 3609 3610 _Unwind_Reason_Code _Unwind_RaiseException((struct _Unwind_Exception *object)); 3611 3612 Description 3613 3614 _Unwind_RaiseException raises an exception, passing along the given exception 3615 object, which should have its exception_class and exception_cleanup fields set. 3616 The exception object has been allocated by the language-specific runtime, and 3617 has a language-specific format, exception that it shall contain an 3618 _Unwind_Exception. 3619 3620 Return Value 3621 3622 _Unwind_RaiseException does not return unless an error condition is found. If 3623 an error condition occurs, an _Unwind_Reason_Code is returnd: 3624 3625 _URC_END_OF_STACK 3626 3627 The unwinder encountered the end of the stack during phase one without 3628 finding a handler. The unwind runtime will not have modified the stack. The 3629 C++ runtime will normally call uncaught_exception in this case. 3630 3631 _URC_FATAL_PHASE1_ERROR 3632 3633 The unwinder encountered an unexpected error during phase one, because of 3634 something like stack corruption. The unwind runtime will not have modified 3635 the stack. The C++ runtime will normally call terminate in this case. 3636 3637 _URC_FATAL_PHASE2_ERROR 3638 3639 The unwinder encountered an unexpected error during phase two. This is 3640 usually a throw, which will call terminate. 3641 3642 _Unwind_Resume 3643 3644 Name 3645 3646 _Unwind_Resume -- private C++ error handling method 3647 3648 Synopsis 3649 3650 void _Unwind_Resume((struct _Unwind_Exception *object)); 3651 3652 Description 3653 3654 _Unwind_Resume resumes propagation of an existing exception object. A call to 3655 this routine is inserted as the end of a landing pad that performs cleanup, but 3656 does not resume normal execution. It causes unwinding to proceed further. 3657 3658 _Unwind_SetGR 3659 3660 Name 3661 3662 _Unwind_SetGR -- private C++ error handling method 3663 3664 Synopsis 3665 3666 void _Unwind_SetGR((struct _Unwind_Context *context), int index, uint value); 3667 3668 Description 3669 3670 _Unwind_SetGR sets the value of the register indexed for the routine identified 3671 by the unwind context. 3672 3673 _Unwind_SetIP 3674 3675 Name 3676 3677 _Unwind_SetIP -- private C++ error handling method 3678 3679 Synopsis 3680 3681 void _Unwind_SetIP((struct _Unwind_Context *context), uint value); 3682 3683 Description 3684 3685 _Unwind_SetIP sets the value of the instruction pointer for the routine 3686 identified by the unwind context 3687 3688 ------------------------------------------------------------------------------- 3689 3690 Interfaces for libdl 3691 3692 Table 1-35 defines the library name and shared object name for the libdl 3693 library 3694 3695 Table 1-35. libdl Definition 3696 3697 +--------------------+ 3698 |Library:|libdl | 3699 |--------+-----------| 3700 |SONAME: |libdl.so.2 | 3701 +--------------------+ 3702 3703 The behavior of the interfaces in this library is specified by the following 3704 specifications: 3705 3706 Linux Standard Base 3707 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3708 Specification(SUS) V3 3709 3710 ------------------------------------------------------------------------------- 3711 3712 Dynamic Loader 3713 3714 ------------------------------------------------------------------------------- 3715 3716 Interfaces for Dynamic Loader 3717 3718 An LSB conforming implementation shall provide the architecture specific 3719 functions for Dynamic Loader specified in Table 1-36, with the full 3720 functionality as described in the referenced underlying specification. 3721 3722 Table 1-36. libdl - Dynamic Loader Function Interfaces 3723 3724 +------------------------------------------------------------------------------+ 3725 |dladdr |dlclose |dlerror |dlopen |dlsym | 3726 |(GLIBC_2.0) [1]|(GLIBC_2.0) [2]|(GLIBC_2.0) [2]|(GLIBC_2.1) [1]|(GLIBC_2.0) | 3727 | | | | |[1] | 3728 +------------------------------------------------------------------------------+ 3729 3730 Referenced Specification(s) 3731 3732 [1]. Linux Standard Base 3733 3734 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3735 Specification(SUS) V3 3736 3737 ------------------------------------------------------------------------------- 3738 3739 Interfaces for libcrypt 3740 3741 Table 1-37 defines the library name and shared object name for the libcrypt 3742 library 3743 3744 Table 1-37. libcrypt Definition 3745 3746 +-----------------------+ 3747 |Library:|libcrypt | 3748 |--------+--------------| 3749 |SONAME: |libcrypt.so.1 | 3750 +-----------------------+ 3751 3752 The behavior of the interfaces in this library is specified by the following 3753 specifications: 3754 3755 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3756 Specification(SUS) V3 3757 3758 ------------------------------------------------------------------------------- 3759 3760 Encryption 3761 3762 ------------------------------------------------------------------------------- 3763 3764 Interfaces for Encryption 3765 3766 An LSB conforming implementation shall provide the architecture specific 3767 functions for Encryption specified in Table 1-38, with the full functionality 3768 as described in the referenced underlying specification. 3769 3770 Table 1-38. libcrypt - Encryption Function Interfaces 3771 3772 +---------------------------------------------------------------------+ 3773 |crypt(GLIBC_2.0) [1]|encrypt(GLIBC_2.0) [1]|setkey(GLIBC_2.0) [1]| | | 3774 +---------------------------------------------------------------------+ 3775 3776 Referenced Specification(s) 3777 3778 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3779 Specification(SUS) V3 3780 3781 II. Utility Libraries 3782 3783 Table of Contents 3784 2. Libraries 3785 3786 ------------------------------------------------------------------------------- 3787 3788 Chapter 2. Libraries 3789 3790 The Utility libraries are those that are commonly used, but not part of the 3791 Single Unix Specification. 3792 3793 ------------------------------------------------------------------------------- 3794 3795 Interfaces for libz 3796 3797 Table 2-1 defines the library name and shared object name for the libz library 3798 3799 Table 2-1. libz Definition 3800 3801 +-------------------+ 3802 |Library:|libz | 3803 |--------+----------| 3804 |SONAME: |libz.so.1 | 3805 +-------------------+ 3806 3807 ------------------------------------------------------------------------------- 3808 3809 Compression Library 3810 3811 ------------------------------------------------------------------------------- 3812 3813 Interfaces for Compression Library 3814 3815 No external functions are defined for libz - Compression Library 3816 3817 ------------------------------------------------------------------------------- 3818 3819 Interfaces for libncurses 3820 3821 Table 2-2 defines the library name and shared object name for the libncurses 3822 library 3823 3824 Table 2-2. libncurses Definition 3825 3826 +-------------------------+ 3827 |Library:|libncurses | 3828 |--------+----------------| 3829 |SONAME: |libncurses.so.5 | 3830 +-------------------------+ 3831 3832 ------------------------------------------------------------------------------- 3833 3834 Curses 3835 3836 ------------------------------------------------------------------------------- 3837 3838 Interfaces for Curses 3839 3840 No external functions are defined for libncurses - Curses 3841 3842 ------------------------------------------------------------------------------- 3843 3844 Interfaces for libutil 3845 3846 Table 2-3 defines the library name and shared object name for the libutil 3847 library 3848 3849 Table 2-3. libutil Definition 3850 3851 +----------------------+ 3852 |Library:|libutil | 3853 |--------+-------------| 3854 |SONAME: |libutil.so.1 | 3855 +----------------------+ 3856 3857 The behavior of the interfaces in this library is specified by the following 3858 specifications: 3859 3860 Linux Standard Base 3861 3862 ------------------------------------------------------------------------------- 3863 3864 Utility Functions 3865 3866 ------------------------------------------------------------------------------- 3867 3868 Interfaces for Utility Functions 3869 3870 An LSB conforming implementation shall provide the architecture specific 3871 functions for Utility Functions specified in Table 2-4, with the full 3872 functionality as described in the referenced underlying specification. 3873 3874 Table 2-4. libutil - Utility Functions Function Interfaces 3875 3876 +--------------------------------------------------------------------------+ 3877 |forkpty(GLIBC_2.0) [1]|login_tty(GLIBC_2.0) [1]|logwtmp(GLIBC_2.0) [1]| | | 3878 |----------------------+------------------------+----------------------+-+-| 3879 |login(GLIBC_2.0) [1] |logout(GLIBC_2.0) [1] |openpty(GLIBC_2.0) [1]| | | 3880 +--------------------------------------------------------------------------+ 3881 3882 Referenced Specification(s) 3883 3884 [1]. Linux Standard Base 3885 3886 ------------------------------------------------------------------------------- 3887 3888 Appendix A. Alphabetical Listing of Interfaces 3889 3890 ------------------------------------------------------------------------------- 3891 3892 libgcc_s 3893 3894 The behaviour of the interfaces in this library is specified by the following 3895 Standards. 3896 3897 Linux Standard Base 3898 3899 Table A-1. libgcc_s Function Interfaces 3900 3901 +-----------------------------------------------------------------------------+ 3902 |_Unwind_DeleteException |_Unwind_GetIP[1] |_Unwind_Resume[1]| 3903 |[1] | | | 3904 |-------------------------+---------------------------------+-----------------| 3905 |_Unwind_Find_FDE[1] |_Unwind_GetLanguageSpecificData |_Unwind_SetGR[1] | 3906 | |[1] | | 3907 |-------------------------+---------------------------------+-----------------| 3908 |_Unwind_ForcedUnwind[1] |_Unwind_GetRegionStart[1] |_Unwind_SetIP[1] | 3909 |-------------------------+---------------------------------+-----------------| 3910 |_Unwind_GetDataRelBase[1]|_Unwind_GetTextRelBase[1] | | 3911 |-------------------------+---------------------------------+-----------------| 3912 |_Unwind_GetGR[1] |_Unwind_RaiseException[1] | | 3913 +-----------------------------------------------------------------------------+ 3914 3915 Linux Packaging Specification 3916 3917 ------------------------------------------------------------------------------- 3918 3919 Table of Contents 3920 I. Package Format and Installation 3921 3922 1. Software Installation 3923 3924 Package Dependencies 3925 Package Architecture Considerations 3926 3927 I. Package Format and Installation 3928 3929 Table of Contents 3930 1. Software Installation 3931 3932 ------------------------------------------------------------------------------- 3933 3934 Chapter 1. Software Installation 3935 3936 ------------------------------------------------------------------------------- 3937 3938 Package Dependencies 3939 3940 The LSB runtime environment shall provide the following dependencies. 3941 3942 lsb-core-ia32 3943 3944 This dependency is used to indicate that the application is dependent on 3945 features contained in the LSB-Core specification. 3946 3947 Other LSB modules may add additional dependencies; such dependencies shall have 3948 the format lsb-module-ia32. 3949 3950 ------------------------------------------------------------------------------- 3951 3952 Package Architecture Considerations 3953 3954 All packages must specify an architecture of i486. A LSB runtime environment 3955 must accept an architecture of i486 even if the native architecture is 3956 different. 3957 3958 The archnum value in the Lead Section shall be 0x0001. 3959