1 Linux Standard Base Specification for the IA32 Architecture 1.2 2 3 Copyright © 2001, 2002 by 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 were taken from other copyrighted documents in accordance 12 with the respective licenses of those documents. 13 14 Linux is a trademark of Linus Torvalds. 15 16 UNIX a registered trademark of the Open Group in the United States and other 17 countries. 18 19 Intel386 and Itanium are trademarks of Intel Corporation. 20 21 OpenGL is a registered trademark of Silicon Graphics, Inc. 22 23 ------------------------------------------------------------------------------- 24 25 Table of Contents 26 I. Introduction 27 28 1. Introduction 29 30 Introduction 31 Purpose 32 Related Standards 33 Relevant Libraries 34 How to Use this Standard 35 Definitions 36 Terminology 37 38 II. Low Level System Information 39 40 2. Machine Interface 41 42 Processor Architecture 43 Data Representation 44 45 3. Function Calling Sequence 46 47 CPU Registers 48 Floating Point Registers 49 Stack Frame 50 Arguments 51 Return Values 52 53 4. Operating System Interface 54 55 Virtual Address Space 56 Processor Execution Mode 57 Exception Interface 58 Signal Delivery 59 60 5. Process Initialization 61 62 Special Registers 63 Process Stack (on entry) 64 Auxilliary Vectors 65 Environment 66 67 6. Coding Examples 68 69 Code Model Overview/Architecture Constraints 70 Position-Independent Fucntion Prologue 71 Data Objects 72 Function Calls 73 Branching 74 75 7. C Stack Frame 76 77 Variable Argument List 78 Dynamic Allocation of Stack Space 79 80 8. Debug Information 81 82 III. Object Format 83 84 9. ELF Header 85 86 Machine Information 87 88 10. Special Sections 89 90 Special Sections 91 92 11. Symbol Table 93 12. Relocation 94 95 Relocation Types 96 97 IV. Program Loading and Dynamic Linking 98 99 13. Program Header 100 101 Types 102 Flags 103 104 14. Program Loading 105 15. Dynamic Linking 106 107 Program Interpreter/Dynamic Linker 108 Dynamic Section 109 Global Offset Table 110 Shared Object Dependencies 111 Function Addresses 112 Procedure Linkage Table 113 Initialization and Termination Functions 114 115 V. Base Libraries 116 117 16. Libraries 118 119 Interfaces for libc 120 Data Definitions for libc 121 Interfaces Definitions for libc 122 Interfaces for libm 123 Data Definitions for libm 124 Interfaces for libpthread 125 Data Definitions for libpthread 126 Interfaces for libdl 127 Data Definitions for libdl 128 Interfaces for libcrypt 129 Data Definitions for libcrypt 130 131 VI. Package Format and Installation 132 133 17. Software Installation 134 135 Package Architecture Considerations 136 137 A. Alphabetical Listing of Interfaces 138 139 libc 140 141 B. GNU Free Documentation License 142 143 PREAMBLE 144 APPLICABILITY AND DEFINITIONS 145 VERBATIM COPYING 146 COPYING IN QUANTITY 147 MODIFICATIONS 148 COMBINING DOCUMENTS 149 COLLECTIONS OF DOCUMENTS 150 AGGREGATION WITH INDEPENDENT WORKS 151 TRANSLATION 152 TERMINATION 153 FUTURE REVISIONS OF THIS LICENSE 154 How to use this License for your documents 155 156 List of Tables 157 1-1. Related Standards 158 1-2. Standard Library Names 159 2-1. Scalar Types 160 10-1. ELF Special Sections 161 10-2. Additional Special Sections 162 16-1. libc Definition 163 16-2. libc - RPC Function Interfaces 164 16-3. libc - System Calls Function Interfaces 165 16-4. libc - Standard I/O Function Interfaces 166 16-5. libc - Standard I/O Data Interfaces 167 16-6. libc - Signal Handling Function Interfaces 168 16-7. libc - Signal Handling Data Interfaces 169 16-8. libc - Standard Library Function Interfaces 170 16-9. libc - Standard Library Data Interfaces 171 16-10. libc - Localization Functions Function Interfaces 172 16-11. libc - Localization Functions Data Interfaces 173 16-12. libc - Socket Interface Function Interfaces 174 16-13. libc - Wide Characters Function Interfaces 175 16-14. libc - String Functions Function Interfaces 176 16-15. libc - IPC Functions Function Interfaces 177 16-16. libc - Regular Expressions Function Interfaces 178 16-17. libc - Regular Expressions Data Interfaces 179 16-18. libc - Character Type Functions Function Interfaces 180 16-19. libc - Character Type Functions Data Interfaces 181 16-20. libc - Time Manipulation Function Interfaces 182 16-21. libc - Time Manipulation Data Interfaces 183 16-22. libc - Terminal Interface Functions Function Interfaces 184 16-23. libc - System Database Interface Function Interfaces 185 16-24. libc - Language Support Function Interfaces 186 16-25. libc - Large File Support Function Interfaces 187 16-26. libm Definition 188 16-27. libm - Math Function Interfaces 189 16-28. libm - Math Data Interfaces 190 16-29. libpthread Definition 191 16-30. libpthread - Posix Threads Function Interfaces 192 16-31. libdl Definition 193 16-32. libcrypt Definition 194 A-1. libc Function Interfaces 195 196 I. Introduction 197 198 Table of Contents 199 1. Introduction 200 201 ------------------------------------------------------------------------------- 202 203 Chapter 1. Introduction 204 205 Introduction 206 207 This is version 1.2 of the Linux Standard Base Specification for the IA32 208 Architecture. An implementation of this version of the specification may not 209 claim to be an implementation of the Linux Standard Base unless it has 210 successfully completed the compliance process as defined by the Free Standards 211 Group. 212 213 ------------------------------------------------------------------------------- 214 215 Purpose 216 217 The Linux Standard Base (LSB) defines a system interface for compiled 218 applications and a minimal environment for support of installation scripts. Its 219 purpose is to enable a uniform industry standard environment for high-volume 220 applications conforming to the LSB. 221 222 The LSB defines a binary interface for application programs that are compiled 223 and packaged for LSB-conforming implementations on many different hardware 224 architectures. Since a binary specification must include information specific 225 to the computer processor architecture for which it is intended, it is not 226 possible for a single document to specify the interface for all possible 227 LSB-conforming implementations. Therefore, the LSB is a family of 228 specifications, rather than a single one. 229 230 The LSB is composed of two basic parts: A common part of the specification 231 describes those parts of the interface that remain constant across all hardware 232 implementations of the LSB, and an architecture-specific part of the 233 specification describes the parts of the specification that are specific to a 234 particular processor architecture. Together, the generic LSB and the 235 architecture-specific supplement for a single hardware architecture provide a 236 complete interface specification for compiled application programs on systems 237 that share a common hardware architecture. 238 239 This document is the architecture-specific supplement. It must be used in 240 conjunction with the generic LSB. This document provides architecture-specific 241 information that supplements the generic LSB as well as additional information 242 that is not found in the generic LSB. 243 244 This document should be used in conjunction with the documents it references. 245 This document enumerates the system components it includes, but descriptions of 246 those components may be included entirely or partly in this document, partly in 247 other documents, or entirely in other reference documents. For example, the 248 section that describes system service routines includes a list of the system 249 routines supported in this interface, formal declarations of the data 250 structures they use that are visible to applications, and a pointer to the 251 underlying referenced specification for information about the syntax and 252 semantics of each call. Only those routines not described in standards 253 referenced by this document, or extensions to those standards, are described in 254 the detail. Information referenced in this way is as much a part of this 255 document as is the information explicitly included here. 256 257 ------------------------------------------------------------------------------- 258 259 Related Standards 260 261 The specifications listed below are referenced in whole or in part by the Linux 262 Standard Base. Such references may be normative or non-normative; a reference 263 to specification shall only be considered normative if it is explicitly cited 264 as such. The LSB may make normative references to a portion of these 265 specifications (that is, to define a specific function or group of functions); 266 in such cases, only the explicitly referenced portion of the specification is 267 to be considered normative. 268 269 Table 1-1. Related Standards 270 271 +-----------------------------------------------------------------------------+ 272 |System V Application Binary Interface - DRAFT - |http://www.caldera.com/ | 273 |22 June 2000 |developers/gabi/2000-07-17/ | 274 | |contents.html | 275 |------------------------------------------------+----------------------------| 276 |Filesystem Hierarchy Standard (FHS) 2.2 |http://www.pathname.com/fhs/| 277 |------------------------------------------------+----------------------------| 278 |IEEE Standard for Binary Floating-Point |http://www.ieee.org/ | 279 |Arithmetic | | 280 |------------------------------------------------+----------------------------| 281 |System V Application Binary Interface, Edition |http://www.caldera.com/ | 282 |4.1 |developers/devspecs/ | 283 | |gabi41.pdf | 284 |------------------------------------------------+----------------------------| 285 |The IA-32 Intel® Architecture Software |http://developer.intel.com/ | 286 |Developer's Manual Volume 1: Basic Architecture |design/pentium4/manuals/ | 287 | |245470.htm | 288 |------------------------------------------------+----------------------------| 289 |The IA-32 Intel® Architecture Software |http://developer.intel.com/ | 290 |Developer's Manual Volume 2: Instruction Set |design/pentium4/manuals/ | 291 |Reference |245471.htm | 292 |------------------------------------------------+----------------------------| 293 |The IA-32 Intel® Architecture Software |http://developer.intel.com/ | 294 |Developer's Manual Volume 3: System Programming |design/pentium4/manuals/ | 295 |Guide |245472.htm | 296 |------------------------------------------------+----------------------------| 297 |System V Application Binary Interface - |http://www.caldera.com/ | 298 |Intel386TM Architecture Processor Supplement, |developers/devspecs/ | 299 |Fourth Edition |abi386-4.pdf | 300 |------------------------------------------------+----------------------------| 301 |ISO/IEC 9899: 1990, Programming Languages --C | | 302 |------------------------------------------------+----------------------------| 303 |ISO/IEC 9899: 1999, Programming Languages --C | | 304 |------------------------------------------------+----------------------------| 305 |Linux Assigned Names And Numbers Authority |http://www.lanana.org/ | 306 |------------------------------------------------+----------------------------| 307 |Large File Support |http://www.UNIX-systems.org/| 308 | |version2/whatsnew/ | 309 | |lfs20mar.html | 310 |------------------------------------------------+----------------------------| 311 |LI18NUX 2000 Globalization Specification, |http://www.li18nux.org/docs/| 312 |Version 1.0 with Amendment 4 |html/LI18NUX-2000-amd4.htm | 313 |------------------------------------------------+----------------------------| 314 |Linux Standard Base |http://www.linuxbase.org/ | 315 | |spec/ | 316 |------------------------------------------------+----------------------------| 317 |OpenGL® Application Binary Interface for Linux |http://oss.sgi.com/projects/| 318 | |ogl-sample/ABI/ | 319 |------------------------------------------------+----------------------------| 320 |IEEE Std POSIX 1003.2-1992 (ISO/IEC 9945-2:1993)|http://www.ieee.org/ | 321 |------------------------------------------------+----------------------------| 322 |System V Application Binary Interface PowerPC |http://www.esofta.com/pdfs/ | 323 |Processor Supplement |SVR4abippc.pdf | 324 |------------------------------------------------+----------------------------| 325 |POSIX 1003.1c |http://www.ieee.org/ | 326 |------------------------------------------------+----------------------------| 327 |CAE Specification, May 1996, X/Open Curses, |http://www.opengroup.org/ | 328 |Issue 4, Version 2 (ISBN: 1-85912-171-3, C610), | | 329 |plus Corrigendum U018 | | 330 |------------------------------------------------+----------------------------| 331 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 332 |Interface Definitions (XBD), Issue 5 (ISBN: | | 333 |1-85912-186-1, C605) | | 334 |------------------------------------------------+----------------------------| 335 |CAE Specification, January 1997, Commands and |http://www.opengroup.org/ | 336 |Utilities (XCU), Issue 5 (ISBN: 1-85912-191-8, | | 337 |C604) | | 338 |------------------------------------------------+----------------------------| 339 |CAE Specification, February 1997, Networking |http://www.opengroup.org/ | 340 |Services (XNS), Issue 5 (ISBN: 1-85912-165-9, | | 341 |C523) | | 342 |------------------------------------------------+----------------------------| 343 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 344 |Interfaces and Headers (XSH), Issue 5 (ISBN: | | 345 |1-85912-181-0, C606) | | 346 |------------------------------------------------+----------------------------| 347 |The Single UNIX® Specification(SUS) Version 1 |http://www.opengroup.org/ | 348 |(UNIX 95) System Interfaces & Headers | | 349 |------------------------------------------------+----------------------------| 350 |System V Interface Definition, Issue 3 (ISBN | | 351 |0201566524) | | 352 |------------------------------------------------+----------------------------| 353 |System V Interface Definition,Fourth Edition | | 354 |------------------------------------------------+----------------------------| 355 |Double Buffer Extension Library |http://www.x.org/ | 356 |------------------------------------------------+----------------------------| 357 |X Display Power Management Signaling (DPMS) |http://www.x.org/ | 358 |Extension, Library Specification | | 359 |------------------------------------------------+----------------------------| 360 |X Record Extension Library |http://www.x.org/ | 361 |------------------------------------------------+----------------------------| 362 |Security Extension Specification, Version 7.1 |http://www.x.org/ | 363 |------------------------------------------------+----------------------------| 364 |X Nonrectangular Window Shape Extension Library |http://www.x.org/ | 365 |Version 1.0 | | 366 |------------------------------------------------+----------------------------| 367 |MIT-SHM--The MIT Shared Memory Extension |http://www.x.org/ | 368 |------------------------------------------------+----------------------------| 369 |X Synchronization Extension Library |http://www.x.org/ | 370 |------------------------------------------------+----------------------------| 371 |XTEST Extension Library |http://www.x.org/ | 372 |------------------------------------------------+----------------------------| 373 |X11R6.4 X Inter-Client Exchange (ICE) Protocol |http://www.x.org/ | 374 |------------------------------------------------+----------------------------| 375 |X11R6.4 X11 Input Extension Library |http://www.x.org/ | 376 |------------------------------------------------+----------------------------| 377 |X11R6.4 Xlib - C library |http://www.x.org/ | 378 |------------------------------------------------+----------------------------| 379 |X/Open Portability Guide, Issue 4 |http://www.opengroup.org/ | 380 |------------------------------------------------+----------------------------| 381 |X11R6.4 X Session Management Library |http://www.x.org/ | 382 |------------------------------------------------+----------------------------| 383 |X11R6.4 X Toolkit Intrinsics |http://www.x.org/ | 384 |------------------------------------------------+----------------------------| 385 |zlib 1.1.3 Manual |http://www.gzip.org/zlib/ | 386 +-----------------------------------------------------------------------------+ 387 ------------------------------------------------------------------------------- 388 389 Relevant Libraries 390 391 The libraries listed here shall be available on a Linux Standard Base system. 392 This list is an addition to the list in the general specification. 393 394 Table 1-2. Standard Library Names 395 396 +----------------------------+ 397 |Library |Runtime Name | 398 |----------+-----------------| 399 |libm |libm.so.6 | 400 |----------+-----------------| 401 |libdl |libdl.so.2 | 402 |----------+-----------------| 403 |libcrypt |libcrypt.so.1 | 404 |----------+-----------------| 405 |libc |libc.so.6 | 406 |----------+-----------------| 407 |libpthread|libpthread.so.0 | 408 |----------+-----------------| 409 |proginterp|/lib/ld-lsb.so.1 | 410 +----------------------------+ 411 412 These libraries will be in an implementation-dependent directory which the 413 dynamic linker will search by default. 414 415 ------------------------------------------------------------------------------- 416 417 How to Use this Standard 418 419 The complete LSB specification is composed of a generic LSB specification and 420 this supplemental processor-specific specification. These two documents 421 constitute a specification that should be used in conjunction with the 422 publicly-available standards documents it references. The LSB enumerates the 423 system components it includes, but descriptions of those components may be 424 included entirely in the LSB, partly in the LSB and partly in other documents, 425 or entirely in other reference documents. 426 427 ------------------------------------------------------------------------------- 428 429 Definitions 430 431 gLSB 432 433 The common part of the LSB Specification that describes those parts of the 434 interface that remain constant across all hardware implementations of the 435 LSB. 436 437 archLSB 438 439 The architectural part of the LSB Specification which describes the 440 specific parts of the interface that are platform specific. The archLSB is 441 complementary to the gLSB. 442 443 LSB Implementation Conformance 444 445 An implementation satisfying the following requirements: 446 447 1. The implementation shall implement fully the architecture described in 448 the hardware manual for the target processor architecture. 449 450 2. The implementation shall be capable of executing compiled applications 451 having the format and using the system interfaces described in this 452 document. 453 454 3. The implementation shall provide libraries containing the interfaces 455 specified by this document, and shall provide a dynamic linking 456 mechanism that allows these interfaces to be attached to applications 457 at runtime. All the interfaces shall behave as specified in this 458 document. 459 460 4. The map of virtual memory provided by the implementation shall conform 461 to the requirements of this document. 462 463 5. The implementation's low-level behavior with respect to function call 464 linkage, system traps, signals, and other such activities shall conform 465 to the formats described in this document. 466 467 6. The implementation shall provide all of the mandatory interfaces in 468 their entirety. 469 470 7. The implementation may provide one or more of the optional interfaces. 471 Each optional interface that is provided shall be provided in its 472 entirety. The product documentation shall state which optional 473 interfaces are provided. 474 475 8. The implementation shall provide all files and utilities specified as 476 part of this document in the format defined here and in other 477 referenced documents. All commands and utilities shall behave as 478 required by this document. The implementation shall also provide all 479 mandatory components of an application's runtime environment that are 480 included or referenced in this document. 481 482 9. The implementation, when provided with standard data formats and values 483 at a named interface, shall provide the behavior defined for those 484 values and data formats at that interface. However, a conforming 485 implementation may consist of components which are separately packaged 486 and/or sold. For example, a vendor of a conforming implementation might 487 sell the hardware, operating system, and windowing system as separately 488 packaged items. 489 490 10. The implementation may provide additional interfaces with different 491 names. It may also provide additional behavior corresponding to data 492 values outside the standard ranges, for standard named interfaces. 493 494 LSB Application Conformance 495 496 An application with the following characteristics: 497 498 1. Its executable files are either shell scripts or object files in the 499 format defined for the Object File Format system interface. 500 501 2. Its object files participate in dynamic linking as defined in the 502 Program Loading and Linking System interface. 503 504 3. It employs only the instructions, traps, and other low-level facilities 505 defined in the Low-Level System interface as being for use by 506 applications. 507 508 4. If it requires any optional interface defined in this document in order 509 to be installed or to execute successfully, the requirement for that 510 optional interface is stated in the application's documentation. 511 512 5. It does not use any interface or data format that is not required to be 513 provided by a conforming implementation, unless: 514 515 o If such an interface or data format is supplied by another 516 application through direct invocation of that application during 517 execution, that application is in turn an LSB conforming 518 application. 519 520 o The use of that interface or data format, as well as its source, is 521 identified in the documentation of the application. 522 523 6. It must not use any values for a named interface that are reserved for 524 vendor extensions. 525 526 A strictly conforming application does not require or use any interface, 527 facility, or implementation-defined extension that is not defined in this 528 document in order to be installed or to execute successfully. 529 530 Rationale 531 532 An LSB conforming application is expected to have no dependencies on any 533 vendor extensions to this document. The most common such extensions are 534 additional function entry points and additional libraries other than the 535 ones defined in this document. If an application requires such extensions, 536 it is not portable, since other LSB conforming implementations may not 537 provide those extensions. 538 539 An LSB conforming application is required to use system services on the 540 implementation on which it is running, rather than importing system 541 routines from some other implementation. Thus, it must link dynamically to 542 any routines in the implementation that perform system traps to kernel 543 services. 544 545 It is to be expected that some applications may be companion applications 546 to other applications. For example, a query application may be a companion 547 to a database application; a preprocessor may be an adjunct to one or more 548 compilers; a data reformatter may convert data from one document manager to 549 another. In such cases, the application may or may not be LSB conforming, 550 regardless of whether the other application on which it is dependent is LSB 551 conforming. If such an application merely uses data produced by another 552 application, the application's compliance is independent of the other 553 application's compliance. If such an application actually invokes another 554 application during execution (as, for example, a third-party math library), 555 the invoking application is LSB conforming only if it also constitutes a 556 LSB conforming application in combination with the invoked application. 557 558 Shell Script 559 560 A file that is read by an interpreter (e.g., awk). The first line of the 561 shell script includes a reference to its interpreter binary. 562 563 ------------------------------------------------------------------------------- 564 565 Terminology 566 567 can 568 569 Describes a permissible optional feature or behavior available to the user 570 or application. The feature or behavior is mandatory for an implementation 571 that conforms to this document. An application can rely on the existence of 572 the feature or behavior. 573 574 implementation-defined 575 576 Describes a value or behavior that is not defined by this document but is 577 selected by an implementor. The value or behavior may vary among 578 implementations that conform to this document. An application should not 579 rely on the existence of the value or behavior. An application that relies 580 on such a value or behavior cannot be assured to be portable across 581 conforming implementations. The implementor shall document such a value or 582 behavior so that it can be used correctly by an application. 583 584 Same as implementation-dependent. 585 586 may 587 588 Describes a feature or behavior that is optional for an implementation that 589 conforms to this document. An application should not rely on the existence 590 of the feature or behavior. An application that relies on such a feature or 591 behavior cannot be assured to be portable across conforming 592 implementations. 593 594 To avoid ambiguity, the opposite of may is expressed as need not, instead 595 of may not. 596 597 must 598 599 Describes a feature or behavior that is mandatory for an application or 600 user. An implementation that conforms to this document shall support this 601 feature or behavior. 602 603 shall 604 605 Describes a feature or behavior that is mandatory for an implementation 606 that conforms to this document. An application can rely on the existence of 607 the feature or behavior. 608 609 should 610 611 For an implementation that conforms to this document, describes a feature 612 or behavior that is recommended but not mandatory. An application should 613 not rely on the existence of the feature or behavior. An application that 614 relies on such a feature or behavior cannot be assured to be portable 615 across conforming implementations. 616 617 For an application, describes a feature or behavior that is recommended 618 programming practice for optimum portability. 619 620 undefined 621 622 Describes the nature of a value or behavior not defined by this document 623 which results from use of an invalid program construct or invalid data 624 input. The value or behavior may vary among implementations that conform to 625 this document. An application should not rely on the existence or validity 626 of the value or behavior. An application that relies on any particular 627 value or behavior cannot be assured to be portable across conforming 628 implementations. 629 630 unspecified 631 632 Describes the nature of a value or behavior not specified by this document 633 which results from use of a valid program construct or valid data input. 634 The value or behavior may vary among implementations that conform to this 635 document. An application should not rely on the existence or validity of 636 the value or behavior. An application that relies on any particular value 637 or behavior cannot be assured to be portable across conforming 638 implementations. 639 640 will 641 642 Same meaning as shall; shall is the preferred term. 643 644 II. Low Level System Information 645 646 Table of Contents 647 2. Machine Interface 648 3. Function Calling Sequence 649 4. Operating System Interface 650 5. Process Initialization 651 6. Coding Examples 652 7. C Stack Frame 653 8. Debug Information 654 655 ------------------------------------------------------------------------------- 656 657 Chapter 2. Machine Interface 658 659 Processor Architecture 660 661 The IA32 Architecture is specified by the following documents 662 663 * Intel Architecture Software Developer's Manual, Volume 1: Basic 664 Architecture 665 666 * Intel Architecture Software Developer's Manual, Volume 2: Instruction Set 667 Reference Manual 668 669 * Intel Architecture Software Developer's Manual, Volume 3: System 670 Programming Guide 671 672 Only the features of the Intel486 processor instruction set may be assumed to 673 be present. An application is responsible for determining if any additional 674 instruction set features are available before using those additional features. 675 If a feature is not present, then the application may not use it. 676 677 Applications conforming to this specification must provide feedback to the user 678 if a feature that is required for correct execution of the application is not 679 present. Applications conforming to this specification should attempt to 680 execute in a diminished capacity if a required instruction set feature is not 681 present. 682 683 This specfication does not provide any performance guarantees of a conforming 684 system. A system conforming to this specification may be implemented in either 685 hardware or software. 686 687 ------------------------------------------------------------------------------- 688 689 Data Representation 690 691 LSB-conforming applications shall use the data representation as defined in 692 Chapter 3 of the System V Application Binary Interface - Intel386 Architecture 693 Processor Supplement. 694 695 ------------------------------------------------------------------------------- 696 697 Byte Ordering 698 699 ------------------------------------------------------------------------------- 700 701 Fundamental Types 702 703 In addition to the fundamental types specified in Chapter 3 of the System V 704 Application Binary Interface - Intel386 Architecture, a 64 bit data type is 705 defined here. 706 707 Table 2-1. Scalar Types 708 709 +---------------------------------------------------------------------------+ 710 |Type |C |sizeof|Alignment (bytes)|IntelI386 Architecture| 711 |--------+------------------+------+-----------------+----------------------| 712 | |long long | | | | 713 | |------------------|8 |4 |signed double word | 714 |Integral|signed long long | | | | 715 | |------------------+------+-----------------+----------------------| 716 | |unsigned long long|8 |4 |unsigned double word | 717 +---------------------------------------------------------------------------+ 718 719 ------------------------------------------------------------------------------- 720 721 Aggregates and Unions 722 723 ------------------------------------------------------------------------------- 724 725 Bit Fields 726 727 ------------------------------------------------------------------------------- 728 729 Chapter 3. Function Calling Sequence 730 731 LSB-conforming applications shall use the function calling sequence as defined 732 in Chapter 3 of the System V Application Binary Interface - Intel386 733 Architecture Processor Supplement. 734 735 ------------------------------------------------------------------------------- 736 737 CPU Registers 738 739 ------------------------------------------------------------------------------- 740 741 Floating Point Registers 742 743 ------------------------------------------------------------------------------- 744 745 Stack Frame 746 747 ------------------------------------------------------------------------------- 748 749 Arguments 750 751 ------------------------------------------------------------------------------- 752 753 Integral/Pointer 754 755 ------------------------------------------------------------------------------- 756 757 Floating Point 758 759 ------------------------------------------------------------------------------- 760 761 Struct and Union Point 762 763 ------------------------------------------------------------------------------- 764 765 Variable Arguments 766 767 ------------------------------------------------------------------------------- 768 769 Return Values 770 771 ------------------------------------------------------------------------------- 772 773 Void 774 775 ------------------------------------------------------------------------------- 776 777 Integral/Pointer 778 779 ------------------------------------------------------------------------------- 780 781 Floating Point 782 783 ------------------------------------------------------------------------------- 784 785 Struct and Union Point 786 787 ------------------------------------------------------------------------------- 788 789 Chapter 4. Operating System Interface 790 791 LSB-conforming applications shall use the Operating System Interfaces as 792 defined in Chapter 3 of the System V Application Binary Interface - Intel386 793 Architecture Processor Supplement. 794 795 ------------------------------------------------------------------------------- 796 797 Virtual Address Space 798 799 ------------------------------------------------------------------------------- 800 801 Page Size 802 803 ------------------------------------------------------------------------------- 804 805 Virtual Address Assignments 806 807 ------------------------------------------------------------------------------- 808 809 Managing the PRocess Stack 810 811 ------------------------------------------------------------------------------- 812 813 Coding Guidlines 814 815 ------------------------------------------------------------------------------- 816 817 Processor Execution Mode 818 819 ------------------------------------------------------------------------------- 820 821 Exception Interface 822 823 ------------------------------------------------------------------------------- 824 825 Hardware Exception Types 826 827 ------------------------------------------------------------------------------- 828 829 Software Trap Types 830 831 ------------------------------------------------------------------------------- 832 833 Signal Delivery 834 835 ------------------------------------------------------------------------------- 836 837 Signal Handler Interface 838 839 ------------------------------------------------------------------------------- 840 841 Chapter 5. Process Initialization 842 843 LSB-conforming applications shall use the Process Initialization as defined in 844 Chapter 3 of the System V Application Binary Interface - Intel386 Architecture 845 Processor Supplement. 846 847 ------------------------------------------------------------------------------- 848 849 Special Registers 850 851 ------------------------------------------------------------------------------- 852 853 Process Stack (on entry) 854 855 ------------------------------------------------------------------------------- 856 857 Auxilliary Vectors 858 859 ------------------------------------------------------------------------------- 860 861 Environment 862 863 ------------------------------------------------------------------------------- 864 865 Chapter 6. Coding Examples 866 867 LSB-conforming applications may implement fundamental operations using the 868 Coding Examples as defined in Chapter 3 of the System V Application Binary 869 Interface - Intel386 Architecture Processor Supplement. 870 871 ------------------------------------------------------------------------------- 872 873 Code Model Overview/Architecture Constraints 874 875 ------------------------------------------------------------------------------- 876 877 Position-Independent Fucntion Prologue 878 879 ------------------------------------------------------------------------------- 880 881 Data Objects 882 883 ------------------------------------------------------------------------------- 884 885 Absolute Load & Store 886 887 ------------------------------------------------------------------------------- 888 889 Position Relative Load & Store 890 891 ------------------------------------------------------------------------------- 892 893 Function Calls 894 895 ------------------------------------------------------------------------------- 896 897 Absolute Direct Function Call 898 899 ------------------------------------------------------------------------------- 900 901 Absolute Indirect Function Call 902 903 ------------------------------------------------------------------------------- 904 905 Position-Independent Direct Function Call 906 907 ------------------------------------------------------------------------------- 908 909 Position-Independent Indirect Function Call 910 911 ------------------------------------------------------------------------------- 912 913 Branching 914 915 ------------------------------------------------------------------------------- 916 917 Branch Instruction 918 919 ------------------------------------------------------------------------------- 920 921 Absolute switch() code 922 923 ------------------------------------------------------------------------------- 924 925 Position-Independent switch() code 926 927 ------------------------------------------------------------------------------- 928 929 Chapter 7. C Stack Frame 930 931 Variable Argument List 932 933 ------------------------------------------------------------------------------- 934 935 Dynamic Allocation of Stack Space 936 937 ------------------------------------------------------------------------------- 938 939 Chapter 8. Debug Information 940 941 The LSB does not currently specify the format of Debug information. 942 943 III. Object Format 944 945 LSB-conforming implementations shall support an object file , called Executable 946 and Linking Format (ELF) as defined by the System V Application Binary 947 Interface, Edition 4.1 , System V Application Binary Interface - DRAFT - 22 948 June 2000 , System V Application Binary Interface - Intel386TM Architecture 949 Processor Supplement, Fourth Edition and as supplemented by the Linux Standard 950 Base and this document. 951 952 Table of Contents 953 9. ELF Header 954 10. Special Sections 955 11. Symbol Table 956 12. Relocation 957 958 ------------------------------------------------------------------------------- 959 960 Chapter 9. ELF Header 961 962 Machine Information 963 964 LSB-conforming applications shall use the Machine Information as defined in 965 Chapter 4 of the System V Application Binary Interface - Intel386TM 966 Architecture Processor Supplement, Fourth Edition. 967 968 ------------------------------------------------------------------------------- 969 970 File Class 971 972 ------------------------------------------------------------------------------- 973 974 Data Encoding 975 976 ------------------------------------------------------------------------------- 977 978 OS Identification 979 980 ------------------------------------------------------------------------------- 981 982 Processor Identification 983 984 ------------------------------------------------------------------------------- 985 986 Processor Specific Flags 987 988 ------------------------------------------------------------------------------- 989 990 Chapter 10. Special Sections 991 992 ------------------------------------------------------------------------------- 993 994 Special Sections 995 996 Various sections hold program and control information. Sections in the lists 997 bel ow are used by the system and have the indicated types and attributes. 998 999 ------------------------------------------------------------------------------- 1000 1001 ELF Special Sections 1002 1003 The following sections are defined in the System V Application Binary Interface 1004 - Intel386TM Architecture Processor Supplement, Fourth Edition. 1005 1006 Table 10-1. ELF Special Sections 1007 1008 +------------------------------------------+ 1009 |Name | Type | Attributes | 1010 |-----+------------+-----------------------| 1011 |.got |SHT_PROGBITS|SHF_ALLOC+SHF_WRITE | 1012 |-----+------------+-----------------------| 1013 |.plt |SHT_PROGBITS|SHF_ALLOC+SHF_EXECINSTR| 1014 |-----+------------+-----------------------| 1015 |.sbss|SHT_NOBITS |SHF_ALLOC+SHF_WRITE | 1016 +------------------------------------------+ 1017 1018 .got 1019 1020 This section holds the global offset table. See `Coding Examples' in 1021 Chapter 3, `Special Sections' in Chapter 4, and `Global Offset Table' in 1022 Chapter 5 of the processor supplement for more information. 1023 1024 .plt 1025 1026 This section holds the procedure linkage table. 1027 1028 .sbss 1029 1030 This section holds uninitialized small data that contribute to the program 1031 memory image. The system sets the data to zero when the program begins to 1032 run. 1033 1034 1035 1036 ------------------------------------------------------------------------------- 1037 1038 Addition Special Sections 1039 1040 The following additional sections are defined here. 1041 1042 Table 10-2. Additional Special Sections 1043 1044 +----------------------------+ 1045 | Name | Type |Attributes | 1046 |--------+-------+-----------| 1047 |.rel.dyn|SHT_REL|SHF_ALLOC | 1048 +----------------------------+ 1049 1050 .rel.dyn 1051 1052 This section holds relocation information, as described in `Relocation'. 1053 These relocations are applied to the .dyn section. 1054 1055 1056 1057 ------------------------------------------------------------------------------- 1058 1059 Chapter 11. Symbol Table 1060 1061 LSB-conforming applications shall use the Symbol Table as defined in Chapter 4 1062 of the System V Application Binary Interface - Intel386TM Architecture 1063 Processor Supplement, Fourth Edition. 1064 1065 ------------------------------------------------------------------------------- 1066 1067 Chapter 12. Relocation 1068 1069 LSB-conforming applications shall use Relocations as defined in Chapter 4 of 1070 the System V Application Binary Interface - Intel386TM Architecture Processor 1071 Supplement, Fourth Edition. 1072 1073 ------------------------------------------------------------------------------- 1074 1075 Relocation Types 1076 1077 IV. Program Loading and Dynamic Linking 1078 1079 LSB-conforming implementations shall support the object file information and 1080 system actions that create running programs as specified in the System V 1081 Application Binary Interface, Edition 4.1 , System V Application Binary 1082 Interface - DRAFT - 22 June 2000 , System V Application Binary Interface - 1083 Intel386TM Architecture Processor Supplement, Fourth Edition and as 1084 supplemented by the Linux Standard Base and this document. 1085 1086 Table of Contents 1087 13. Program Header 1088 14. Program Loading 1089 15. Dynamic Linking 1090 1091 ------------------------------------------------------------------------------- 1092 1093 Chapter 13. Program Header 1094 1095 ------------------------------------------------------------------------------- 1096 1097 Types 1098 1099 ------------------------------------------------------------------------------- 1100 1101 Flags 1102 1103 ------------------------------------------------------------------------------- 1104 1105 Chapter 14. Program Loading 1106 1107 ------------------------------------------------------------------------------- 1108 1109 Chapter 15. Dynamic Linking 1110 1111 ------------------------------------------------------------------------------- 1112 1113 Program Interpreter/Dynamic Linker 1114 1115 The LSB specifies the Program Interpreter to be 1116 1117 * /lib/ld-lsb.so.1 1118 1119 ------------------------------------------------------------------------------- 1120 1121 Dynamic Section 1122 1123 The following dynamic entries are defined in the System V Application Binary 1124 Interface - Intel386TM Architecture Processor Supplement, Fourth Edition. 1125 1126 DT_PLTGOT 1127 1128 On the Intel386 architecture, this entrys d_ptr member gives the address of 1129 the first entry in the global offset table. 1130 1131 1132 1133 ------------------------------------------------------------------------------- 1134 1135 Global Offset Table 1136 1137 ------------------------------------------------------------------------------- 1138 1139 Shared Object Dependencies 1140 1141 ------------------------------------------------------------------------------- 1142 1143 Function Addresses 1144 1145 ------------------------------------------------------------------------------- 1146 1147 Procedure Linkage Table 1148 1149 ------------------------------------------------------------------------------- 1150 1151 Initialization and Termination Functions 1152 1153 V. Base Libraries 1154 1155 Table of Contents 1156 16. Libraries 1157 1158 ------------------------------------------------------------------------------- 1159 1160 Chapter 16. Libraries 1161 1162 An LSB-conforming implementation shall support some base libraries which 1163 provide interfaces for accessing the operating system, processor and other 1164 hardware in the system. 1165 1166 Interfaces that are unique to the IA32 platform are defined here. This section 1167 should be used in conjunction with the corresponding section in the Linux 1168 Standard Base Specification. 1169 1170 ------------------------------------------------------------------------------- 1171 1172 Interfaces for libc 1173 1174 Table 16-1. libc Definition 1175 1176 +-------------------+ 1177 |Library:|libc | 1178 |--------+----------| 1179 |SONAME: |libc.so.6 | 1180 +-------------------+ 1181 1182 The behavior of the interfaces in this library is specified by the following 1183 standards. 1184 1185 ISO/IEC 9899: 1999, Programming Languages --C[1] 1186 Large File Support[2] 1187 LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4[3] 1188 Linux Standard Base[4] 1189 IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996][5] 1190 CAE Specification, February 1997, Networking Services (XNS), Issue 5 (ISBN: 1191 1-85912-165-9, C523)[6] 1192 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 1193 (ISBN: 1-85912-181-0, C606)[7] 1194 System V Interface Definition, Issue 3 (ISBN 0201566524)[8] 1195 System V Interface Definition,Fourth Edition[9] 1196 1197 ------------------------------------------------------------------------------- 1198 1199 RPC 1200 1201 Table 16-2. libc - RPC Function Interfaces 1202 1203 +-----------------------------------------------------------------------------------+ 1204 |authnone_create |setdomainname |xdr_array |xdr_int(GLIBC_2.0)|xdr_u_char | 1205 |(GLIBC_2.0)[9] |(GLIBC_2.0)[4] |(GLIBC_2.0)|[8] |(GLIBC_2.0)[8]| 1206 | | |[8] | | | 1207 |------------------+------------------+-----------+------------------+--------------| 1208 |clnt_create |svc_getreqset |xdr_bool |xdr_long |xdr_u_long | 1209 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1210 | | |[8] | | | 1211 |------------------+------------------+-----------+------------------+--------------| 1212 |clnt_pcreateerror |svcerr_auth |xdr_bytes |xdr_opaque |xdr_u_short | 1213 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1214 | | |[8] | | | 1215 |------------------+------------------+-----------+------------------+--------------| 1216 |clnt_perrno |svcerr_decode |xdr_callhdr|xdr_opaque_auth |xdr_union | 1217 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1218 | | |[8] | | | 1219 |------------------+------------------+-----------+------------------+--------------| 1220 |clnt_perror |svcerr_noproc |xdr_callmsg|xdr_pointer |xdr_vector | 1221 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1222 | | |[8] | | | 1223 |------------------+------------------+-----------+------------------+--------------| 1224 |clnt_spcreateerror|svcerr_noprog |xdr_char |xdr_reference |xdr_void | 1225 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1226 | | |[8] | | | 1227 |------------------+------------------+-----------+------------------+--------------| 1228 |clnt_sperrno |svcerr_progvers |xdr_double |xdr_rejected_reply|xdr_wrapstring| 1229 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1230 | | |[8] | | | 1231 |------------------+------------------+-----------+------------------+--------------| 1232 |clnt_sperror |svcerr_systemerr |xdr_enum |xdr_replymsg |xdrmem_create | 1233 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1234 | | |[8] | | | 1235 |------------------+------------------+-----------+------------------+--------------| 1236 |getdomainname |svcerr_weakauth |xdr_float |xdr_short |xdrrec_create | 1237 |(GLIBC_2.0)[4] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1238 | | |[8] | | | 1239 |------------------+------------------+-----------+------------------+--------------| 1240 |key_decryptsession|xdr_accepted_reply|xdr_free |xdr_string |xdrrec_eof | 1241 |(GLIBC_2.1)[8] |(GLIBC_2.1)[8] |(GLIBC_2.1)|(GLIBC_2.1)[8] |(GLIBC_2.1)[8]| 1242 | | |[8] | | | 1243 +-----------------------------------------------------------------------------------+ 1244 ------------------------------------------------------------------------------- 1245 1246 System Calls 1247 1248 Table 16-3. libc - System Calls Function Interfaces 1249 1250 +-----------------------------------------------------------------------------+ 1251 |__fxstat |fchown |ioctl |readdir(GLIBC_2.0)[7] |setsid | 1252 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1253 |[4] | |[7] | |[7] | 1254 |------------+--------------+-------------+----------------------+------------| 1255 |__getpgid |fcntl |kill |readdir_r(GLIBC_2.0) |setuid | 1256 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |[7] |(GLIBC_2.0) | 1257 |[4] | |[4] | |[7] | 1258 |------------+--------------+-------------+----------------------+------------| 1259 |__lxstat |fdatasync |killpg |readlink(GLIBC_2.0)[7]|sleep | 1260 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1261 |[4] | |[7] | |[7] | 1262 |------------+--------------+-------------+----------------------+------------| 1263 |__xmknod |flock |lchown |readv(GLIBC_2.0)[7] |statfs | 1264 |(GLIBC_2.0) |(GLIBC_2.0)[4]|(GLIBC_2.0) | |(GLIBC_2.0) | 1265 |[4] | |[7] | |[4] | 1266 |------------+--------------+-------------+----------------------+------------| 1267 |__xstat |fork |link |rename(GLIBC_2.0)[7] |statvfs | 1268 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1269 |[4] | |[7] | |[7] | 1270 |------------+--------------+-------------+----------------------+------------| 1271 |access |fstatfs |lockf |rmdir(GLIBC_2.0)[7] |stime | 1272 |(GLIBC_2.0) |(GLIBC_2.0)[4]|(GLIBC_2.0) | |(GLIBC_2.0) | 1273 |[7] | |[7] | |[4] | 1274 |------------+--------------+-------------+----------------------+------------| 1275 |acct |fsync |lseek |sbrk(GLIBC_2.0)[7] |symlink | 1276 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1277 |[4] | |[7] | |[7] | 1278 |------------+--------------+-------------+----------------------+------------| 1279 |alarm |ftime |mkdir |sched_get_priority_max|sync | 1280 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1281 |[7] | |[7] | |[7] | 1282 |------------+--------------+-------------+----------------------+------------| 1283 |brk |ftruncate |mkfifo |sched_get_priority_min|sysconf | 1284 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1285 |[7] | |[7] | |[7] | 1286 |------------+--------------+-------------+----------------------+------------| 1287 |chdir |getcontext |mlock |sched_getparam |time | 1288 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1289 |[7] | |[7] | |[7] | 1290 |------------+--------------+-------------+----------------------+------------| 1291 |chmod |getegid |mlockall |sched_getscheduler |times | 1292 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1293 |[7] | |[7] | |[7] | 1294 |------------+--------------+-------------+----------------------+------------| 1295 |chown |geteuid |mmap |sched_rr_get_interval |truncate | 1296 |(GLIBC_2.1) |(GLIBC_2.1)[7]|(GLIBC_2.1) |(GLIBC_2.1)[7] |(GLIBC_2.1) | 1297 |[7] | |[7] | |[7] | 1298 |------------+--------------+-------------+----------------------+------------| 1299 |chroot |getgid |mprotect |sched_setparam |ulimit | 1300 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1301 |[7] | |[7] | |[7] | 1302 |------------+--------------+-------------+----------------------+------------| 1303 |clock |getgroups |msync |sched_setscheduler |umask | 1304 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1305 |[7] | |[7] | |[7] | 1306 |------------+--------------+-------------+----------------------+------------| 1307 |close |getitimer |munlock |sched_yield(GLIBC_2.0)|uname | 1308 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |[7] |(GLIBC_2.0) | 1309 |[7] | |[7] | |[7] | 1310 |------------+--------------+-------------+----------------------+------------| 1311 |closedir |getloadavg |munlockall |select(GLIBC_2.0)[6] |unlink | 1312 |(GLIBC_2.0) |(GLIBC_2.0)[4]|(GLIBC_2.0) | |(GLIBC_2.0) | 1313 |[7] | |[7] | |[4] | 1314 |------------+--------------+-------------+----------------------+------------| 1315 |creat |getpagesize |munmap |setcontext(GLIBC_2.0) |utime | 1316 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |[7] |(GLIBC_2.0) | 1317 |[7] | |[7] | |[7] | 1318 |------------+--------------+-------------+----------------------+------------| 1319 |dup |getpgid |nanosleep |setegid(GLIBC_2.0)[4] |utimes | 1320 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1321 |[7] | |[7] | |[7] | 1322 |------------+--------------+-------------+----------------------+------------| 1323 |dup2 |getpgrp |nice |seteuid(GLIBC_2.0)[4] |vfork | 1324 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1325 |[7] | |[7] | |[7] | 1326 |------------+--------------+-------------+----------------------+------------| 1327 |execl |getpid |open |setgid(GLIBC_2.0)[7] |wait | 1328 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1329 |[7] | |[7] | |[7] | 1330 |------------+--------------+-------------+----------------------+------------| 1331 |execle |getppid |opendir |setitimer(GLIBC_2.0) |wait3 | 1332 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |[7] |(GLIBC_2.0) | 1333 |[7] | |[7] | |[7] | 1334 |------------+--------------+-------------+----------------------+------------| 1335 |execlp |getpriority |pathconf |setpgid(GLIBC_2.0)[7] |wait4 | 1336 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1337 |[7] | |[7] | |[4] | 1338 |------------+--------------+-------------+----------------------+------------| 1339 |execv |getrlimit |pause |setpgrp(GLIBC_2.0)[7] |waitid | 1340 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1341 |[7] | |[7] | |[7] | 1342 |------------+--------------+-------------+----------------------+------------| 1343 |execve |getrusage |pipe |setpriority(GLIBC_2.0)|waitpid | 1344 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |[7] |(GLIBC_2.0) | 1345 |[7] | |[7] | |[7] | 1346 |------------+--------------+-------------+----------------------+------------| 1347 |execvp |getsid |poll |setregid(GLIBC_2.0)[7]|write | 1348 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1349 |[7] | |[7] | |[7] | 1350 |------------+--------------+-------------+----------------------+------------| 1351 |exit |getuid |pread |setreuid(GLIBC_2.0)[7]|writev | 1352 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | |(GLIBC_2.0) | 1353 |[7] | |[7] | |[7] | 1354 |------------+--------------+-------------+----------------------+------------| 1355 |fchdir |getwd |pwrite |setrlimit(GLIBC_2.0) | | 1356 |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) |[7] | | 1357 |[7] | |[7] | | | 1358 |------------+--------------+-------------+----------------------+------------| 1359 |fchmod |initgroups |read |setrlimit64(GLIBC_2.0)| | 1360 |(GLIBC_2.0) |(GLIBC_2.0)[4]|(GLIBC_2.0) |[2] | | 1361 |[7] | |[7] | | | 1362 +-----------------------------------------------------------------------------+ 1363 ------------------------------------------------------------------------------- 1364 1365 Standard I/O 1366 1367 Table 16-4. libc - Standard I/O Function Interfaces 1368 1369 +-----------------------------------------------------------------------------+ 1370 |_IO_feof |fgetpos |fsetpos |putc(GLIBC_2.0) |snprintf | 1371 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |[7] |(GLIBC_2.0)| 1372 | | | | |[7] | 1373 |---------------+---------------+----------------+----------------+-----------| 1374 |_IO_getc |fgets |fstatvfs |putc_unlocked |sprintf | 1375 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)| 1376 | | | | |[7] | 1377 |---------------+---------------+----------------+----------------+-----------| 1378 |_IO_putc |fgetwc_unlocked|ftell(GLIBC_2.0)|putchar |sscanf | 1379 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)| 1380 | | | | |[7] | 1381 |---------------+---------------+----------------+----------------+-----------| 1382 |_IO_puts |fileno |ftello |putchar_unlocked|telldir | 1383 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)| 1384 | | | | |[7] | 1385 |---------------+---------------+----------------+----------------+-----------| 1386 |alphasort |flockfile |fwrite |puts(GLIBC_2.0) |tempnam | 1387 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |[7] |(GLIBC_2.0)| 1388 | | | | |[7] | 1389 |---------------+---------------+----------------+----------------+-----------| 1390 |clearerr |fopen |getc(GLIBC_2.0) |putw(GLIBC_2.0) |ungetc | 1391 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |[7] |[7] |(GLIBC_2.0)| 1392 | | | | |[7] | 1393 |---------------+---------------+----------------+----------------+-----------| 1394 |ctermid |fprintf |getc_unlocked |remove |vasprintf | 1395 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)| 1396 | | | | |[4] | 1397 |---------------+---------------+----------------+----------------+-----------| 1398 |fclose |fputc |getchar |rewind |vdprintf | 1399 |(GLIBC_2.1)[7] |(GLIBC_2.1)[7] |(GLIBC_2.1)[7] |(GLIBC_2.1)[7] |(GLIBC_2.1)| 1400 | | | | |[4] | 1401 |---------------+---------------+----------------+----------------+-----------| 1402 |fdopen |fputs |getchar_unlocked|rewinddir |vfprintf | 1403 |(GLIBC_2.1)[7] |(GLIBC_2.1)[7] |(GLIBC_2.1)[7] |(GLIBC_2.1)[7] |(GLIBC_2.1)| 1404 | | | | |[7] | 1405 |---------------+---------------+----------------+----------------+-----------| 1406 |feof(GLIBC_2.0)|fread |gets(GLIBC_2.0) |scanf(GLIBC_2.0)|vprintf | 1407 |[7] |(GLIBC_2.0)[7] |[7] |[7] |(GLIBC_2.0)| 1408 | | | | |[7] | 1409 |---------------+---------------+----------------+----------------+-----------| 1410 |ferror |freopen |getw(GLIBC_2.0) |seekdir |vsnprintf | 1411 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)| 1412 | | | | |[7] | 1413 |---------------+---------------+----------------+----------------+-----------| 1414 |fflush |fscanf |pclose |setbuf |vsprintf | 1415 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)| 1416 | | | | |[7] | 1417 |---------------+---------------+----------------+----------------+-----------| 1418 |fflush_unlocked|fseek |popen(GLIBC_2.0)|setbuffer |wprintf | 1419 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |[7] |(GLIBC_2.0)[4] |(GLIBC_2.0)| 1420 | | | | |[1] | 1421 |---------------+---------------+----------------+----------------+-----------| 1422 |fgetc |fseeko |printf |setvbuf |wscanf | 1423 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)| 1424 | | | | |[1] | 1425 +-----------------------------------------------------------------------------+ 1426 1427 Table 16-5. libc - Standard I/O Data Interfaces 1428 1429 +--------------------------------+ 1430 |stderr[7]|stdin[7]|stdout[7]| | | 1431 +--------------------------------+ 1432 ------------------------------------------------------------------------------- 1433 1434 Signal Handling 1435 1436 Table 16-6. libc - Signal Handling Function Interfaces 1437 1438 +-----------------------------------------------------------------------------+ 1439 |__libc_current_sigrtmax|sigaddset |sighold |sigpause |sigsuspend | 1440 |(GLIBC_2.1)[4] |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1) | 1441 | |[7] |[7] |[7] |[7] | 1442 |-----------------------+------------+-------------+------------+-------------| 1443 |__libc_current_sigrtmin|sigaltstack |sigignore |sigpending |sigtimedwait | 1444 |(GLIBC_2.1)[4] |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1) | 1445 | |[7] |[7] |[7] |[7] | 1446 |-----------------------+------------+-------------+------------+-------------| 1447 |__sigsetjmp(GLIBC_2.0) |sigandset |siginterrupt |sigprocmask |sigwait | 1448 |[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1449 | |[4] |[7] |[7] |[7] | 1450 |-----------------------+------------+-------------+------------+-------------| 1451 |__sysv_signal |sigblock |sigisemptyset|sigqueue |sigwaitinfo | 1452 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1453 | |[4] |[4] |[7] |[7] | 1454 |-----------------------+------------+-------------+------------+-------------| 1455 |bsd_signal(GLIBC_2.0) |sigdelset |sigismember |sigrelse | | 1456 |[7] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1457 | |[7] |[7] |[7] | | 1458 |-----------------------+------------+-------------+------------+-------------| 1459 |psignal(GLIBC_2.0)[4] |sigemptyset |siglongjmp |sigreturn | | 1460 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1461 | |[7] |[7] |[4] | | 1462 |-----------------------+------------+-------------+------------+-------------| 1463 |raise(GLIBC_2.0)[7] |sigfillset |signal |sigset | | 1464 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1465 | |[7] |[7] |[7] | | 1466 |-----------------------+------------+-------------+------------+-------------| 1467 |sigaction(GLIBC_2.0)[7]|siggetmask |sigorset |sigstack | | 1468 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1469 | |[4] |[4] |[7] | | 1470 +-----------------------------------------------------------------------------+ 1471 1472 Table 16-7. libc - Signal Handling Data Interfaces 1473 1474 +------------------------+ 1475 |_sys_siglist[4] | | | | | 1476 +------------------------+ 1477 ------------------------------------------------------------------------------- 1478 1479 Standard Library 1480 1481 Table 16-8. libc - Standard Library Function Interfaces 1482 1483 +-----------------------------------------------------------------------------+ 1484 |_Exit |erand48 |hsearch |lsearch |setstate | 1485 |(GLIBC_2.1.1)[1]|(GLIBC_2.1.1)[7]|(GLIBC_2.1.1)|(GLIBC_2.1.1) |(GLIBC_2.1.1)| 1486 | | |[7] |[7] |[7] | 1487 |----------------+----------------+-------------+---------------+-------------| 1488 |__assert_fail |err(GLIBC_2.0) |htonl |makecontext |srand | 1489 |(GLIBC_2.0)[4] |[4] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1490 | | |[6] | |[7] | 1491 |----------------+----------------+-------------+---------------+-------------| 1492 |__cxa_atexit |error |htons |malloc |srand48 | 1493 |(GLIBC_2.1.3)[4]|(GLIBC_2.1.3)[4]|(GLIBC_2.1.3)|(GLIBC_2.1.3) |(GLIBC_2.1.3)| 1494 | | |[6] |[7] |[7] | 1495 |----------------+----------------+-------------+---------------+-------------| 1496 |__errno_location|errx(GLIBC_2.0) |imaxabs |memmem |srandom | 1497 |(GLIBC_2.0)[4] |[4] |(GLIBC_2.0) |(GLIBC_2.0)[4] |(GLIBC_2.0) | 1498 | | |[1] | |[7] | 1499 |----------------+----------------+-------------+---------------+-------------| 1500 |__fpending |fcvt(GLIBC_2.2) |imaxdiv |mkstemp |strtod | 1501 |(GLIBC_2.2)[4] |[7] |(GLIBC_2.2) |(GLIBC_2.2)[7] |(GLIBC_2.2) | 1502 | | |[1] | |[7] | 1503 |----------------+----------------+-------------+---------------+-------------| 1504 |__getpagesize |fmtmsg |inet_addr |mktemp |strtol | 1505 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1506 | | |[6] | |[7] | 1507 |----------------+----------------+-------------+---------------+-------------| 1508 |__sysconf |fnmatch |inet_aton |mrand48 |strtoul | 1509 |(GLIBC_2.2)[4] |(GLIBC_2.2)[7] |(GLIBC_2.2) |(GLIBC_2.2)[7] |(GLIBC_2.2) | 1510 | | |[6] | |[7] | 1511 |----------------+----------------+-------------+---------------+-------------| 1512 |_exit(GLIBC_2.0)|fpathconf |inet_ntoa |nftw(GLIBC_2.0)|swapcontext | 1513 |[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |[7] |(GLIBC_2.0) | 1514 | | |[6] | |[7] | 1515 |----------------+----------------+-------------+---------------+-------------| 1516 |_longjmp |free(GLIBC_2.0) |initstate |nrand48 |syslog | 1517 |(GLIBC_2.0)[7] |[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1518 | | |[7] | |[7] | 1519 |----------------+----------------+-------------+---------------+-------------| 1520 |_setjmp |ftrylockfile |insque |ntohl |system | 1521 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1522 | | |[7] | |[4] | 1523 |----------------+----------------+-------------+---------------+-------------| 1524 |a64l(GLIBC_2.0) |ftw(GLIBC_2.0) |ioperm |ntohs |textdomain | 1525 |[7] |[7] |(GLIBC_2.0) |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1526 | | |[4] | |[3] | 1527 |----------------+----------------+-------------+---------------+-------------| 1528 |abort(GLIBC_2.0)|funlockfile |iopl |openlog |tfind | 1529 |[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1530 | | |[4] | |[7] | 1531 |----------------+----------------+-------------+---------------+-------------| 1532 |abs(GLIBC_2.0) |gcvt(GLIBC_2.0) |isatty |perror |tmpfile | 1533 |[7] |[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1534 | | |[7] | |[7] | 1535 |----------------+----------------+-------------+---------------+-------------| 1536 |atexit |getcwd |isblank |posix_memalign |tmpnam | 1537 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[5] |(GLIBC_2.0) | 1538 | | |[4] | |[7] | 1539 |----------------+----------------+-------------+---------------+-------------| 1540 |atof(GLIBC_2.0) |getdate |isinf |ptsname |tsearch | 1541 |[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1542 | | |[1] | |[7] | 1543 |----------------+----------------+-------------+---------------+-------------| 1544 |atoi(GLIBC_2.0) |getenv |isinfl |putenv |ttyname | 1545 |[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1546 | | |[1] | |[7] | 1547 |----------------+----------------+-------------+---------------+-------------| 1548 |atol(GLIBC_2.0) |getlogin |isnan |qsort |ttyname_r | 1549 |[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1550 | | |[1] | |[7] | 1551 |----------------+----------------+-------------+---------------+-------------| 1552 |basename |getopt |isnanf |rand(GLIBC_2.0)|twalk | 1553 |(GLIBC_2.0)[7] |(GLIBC_2.0)[4] |(GLIBC_2.0) |[7] |(GLIBC_2.0) | 1554 | | |[1] | |[7] | 1555 |----------------+----------------+-------------+---------------+-------------| 1556 |bindtextdomain |getopt_long |isnanl |rand_r |unlockpt | 1557 |(GLIBC_2.0)[3] |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1558 | | |[1] | |[7] | 1559 |----------------+----------------+-------------+---------------+-------------| 1560 |bsearch |getopt_long_only|jrand48 |random |unsetenv | 1561 |(GLIBC_2.0)[7] |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1562 | | |[7] | |[4] | 1563 |----------------+----------------+-------------+---------------+-------------| 1564 |calloc |getsubopt |l64a |random_r |usleep | 1565 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[4] |(GLIBC_2.0) | 1566 | | |[7] | |[7] | 1567 |----------------+----------------+-------------+---------------+-------------| 1568 |closelog |gettimeofday |labs |realloc |verrx | 1569 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1570 | | |[7] | |[4] | 1571 |----------------+----------------+-------------+---------------+-------------| 1572 |confstr |glob(GLIBC_2.0) |lcong48 |realpath |vsyslog | 1573 |(GLIBC_2.0)[7] |[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1574 | | |[7] | |[4] | 1575 |----------------+----------------+-------------+---------------+-------------| 1576 |cuserid |glob64 |ldiv |remque |warn | 1577 |(GLIBC_2.0)[7] |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1578 | | |[7] | |[4] | 1579 |----------------+----------------+-------------+---------------+-------------| 1580 |daemon |globfree |lfind |seed48 |warnx | 1581 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1582 | | |[7] | |[4] | 1583 |----------------+----------------+-------------+---------------+-------------| 1584 |dirname |globfree64 |llabs |setenv |wordexp | 1585 |(GLIBC_2.0)[7] |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0)[4] |(GLIBC_2.0) | 1586 | | |[1] | |[7] | 1587 |----------------+----------------+-------------+---------------+-------------| 1588 |div(GLIBC_2.0) |grantpt |lldiv |sethostid |wordfree | 1589 |[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[4] |(GLIBC_2.0) | 1590 | | |[1] | |[7] | 1591 |----------------+----------------+-------------+---------------+-------------| 1592 |drand48 |hcreate |longjmp |sethostname | | 1593 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[4] | | 1594 | | |[7] | | | 1595 |----------------+----------------+-------------+---------------+-------------| 1596 |ecvt(GLIBC_2.0) |hdestroy |lrand48 |setlogmask | | 1597 |[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7] | | 1598 | | |[7] | | | 1599 +-----------------------------------------------------------------------------+ 1600 1601 Table 16-9. libc - Standard Library Data Interfaces 1602 1603 +---------------------------------------------------------------+ 1604 |__environ[4]|_sys_errlist[4]|getdate_err[7]|opterr[4]|optopt[4]| 1605 |------------+---------------+--------------+---------+---------| 1606 |_environ[4] |environ[7] |optarg[7] |optind[4]| | 1607 +---------------------------------------------------------------+ 1608 ------------------------------------------------------------------------------- 1609 1610 Localization Functions 1611 1612 Table 16-10. libc - Localization Functions Function Interfaces 1613 1614 +------------------------------------------------------------------------------+ 1615 |__dcgettext(GLIBC_2.0) |catgets |dcngettext |gettext |nl_langinfo | 1616 |[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1617 | |[7] |[3] |[4] |[7] | 1618 |-----------------------+------------+-------------+-------------+-------------| 1619 |bind_textdomain_codeset|catopen |dgettext |iconv |setlocale | 1620 |(GLIBC_2.2)[3] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 1621 | |[7] |[3] |[7] |[7] | 1622 |-----------------------+------------+-------------+-------------+-------------| 1623 |catclose(GLIBC_2.0)[7] |dcgettext |dngettext |localeconv | | 1624 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1625 | |[3] |[3] |[7] | | 1626 +------------------------------------------------------------------------------+ 1627 1628 Table 16-11. libc - Localization Functions Data Interfaces 1629 1630 +----------------------------+ 1631 |_nl_msg_cat_cntr[4] | | | | | 1632 +----------------------------+ 1633 ------------------------------------------------------------------------------- 1634 1635 Socket Interface 1636 1637 Table 16-12. libc - Socket Interface Function Interfaces 1638 1639 +-----------------------------------------------------------------------------+ 1640 |__h_errno_location|gethostbyname_r |getsockopt |send |socket | 1641 |(GLIBC_2.0)[4] |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1642 | | |[6] |[6] |[6] | 1643 |------------------+----------------+-------------+-------------+-------------| 1644 |accept(GLIBC_2.0) |gethostid |listen |sendmsg |socketpair | 1645 |[6] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1646 | | |[6] |[6] |[6] | 1647 |------------------+----------------+-------------+-------------+-------------| 1648 |bind(GLIBC_2.0)[6]|gethostname |recv |sendto | | 1649 | |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0) | | 1650 | | |[6] |[6] | | 1651 |------------------+----------------+-------------+-------------+-------------| 1652 |bindresvport |getpeername |recvfrom |setsockopt | | 1653 |(GLIBC_2.0)[4] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0) | | 1654 | | |[6] |[6] | | 1655 |------------------+----------------+-------------+-------------+-------------| 1656 |connect(GLIBC_2.0)|getsockname |recvmsg |shutdown | | 1657 |[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0) | | 1658 | | |[6] |[6] | | 1659 +-----------------------------------------------------------------------------+ 1660 ------------------------------------------------------------------------------- 1661 1662 Wide Characters 1663 1664 Table 16-13. libc - Wide Characters Function Interfaces 1665 1666 +-----------------------------------------------------------------------------+ 1667 |__wcstod_internal |mbrlen |vswscanf |wcsncmp |wcstoul | 1668 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7]|(GLIBC_2.0)[1]|(GLIBC_2.0)[7]|(GLIBC_2.0) | 1669 | | | | |[7] | 1670 |------------------+--------------+--------------+--------------+-------------| 1671 |__wcstof_internal |mbrtowc |vwprintf |wcsncpy |wcstoull | 1672 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7]|(GLIBC_2.0)[1]|(GLIBC_2.0)[7]|(GLIBC_2.0) | 1673 | | | | |[1] | 1674 |------------------+--------------+--------------+--------------+-------------| 1675 |__wcstol_internal |mbsinit |vwscanf |wcsnlen |wcstoumax | 1676 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7]|(GLIBC_2.0)[1]|(GLIBC_2.0)[4]|(GLIBC_2.0) | 1677 | | | | |[1] | 1678 |------------------+--------------+--------------+--------------+-------------| 1679 |__wcstold_internal|mbsnrtowcs |wcpcpy |wcsnrtombs |wcstouq | 1680 |(GLIBC_2.0)[4] |(GLIBC_2.0)[4]|(GLIBC_2.0)[4]|(GLIBC_2.0)[4]|(GLIBC_2.0) | 1681 | | | | |[4] | 1682 |------------------+--------------+--------------+--------------+-------------| 1683 |__wcstoul_internal|mbsrtowcs |wcpncpy |wcspbrk |wcswcs | 1684 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7]|(GLIBC_2.0)[4]|(GLIBC_2.0)[1]|(GLIBC_2.0) | 1685 | | | | |[7] | 1686 |------------------+--------------+--------------+--------------+-------------| 1687 |btowc(GLIBC_2.0) |mbstowcs |wcrtomb |wcsrchr |wcswidth | 1688 |[7] |(GLIBC_2.0)[7]|(GLIBC_2.0)[7]|(GLIBC_2.0)[7]|(GLIBC_2.0) | 1689 | | | | |[7] | 1690 |------------------+--------------+--------------+--------------+-------------| 1691 |fgetwc(GLIBC_2.2) |mbtowc |wcscasecmp |wcsrtombs |wcsxfrm | 1692 |[7] |(GLIBC_2.2)[7]|(GLIBC_2.2)[4]|(GLIBC_2.2)[7]|(GLIBC_2.2) | 1693 | | | | |[7] | 1694 |------------------+--------------+--------------+--------------+-------------| 1695 |fgetws(GLIBC_2.2) |putwc |wcscat |wcsspn |wctob | 1696 |[1] |(GLIBC_2.2)[1]|(GLIBC_2.2)[7]|(GLIBC_2.2)[7]|(GLIBC_2.2) | 1697 | | | | |[7] | 1698 |------------------+--------------+--------------+--------------+-------------| 1699 |fputwc(GLIBC_2.2) |putwchar |wcschr |wcsstr |wctomb | 1700 |[1] |(GLIBC_2.2)[1]|(GLIBC_2.2)[7]|(GLIBC_2.2)[7]|(GLIBC_2.2) | 1701 | | | | |[7] | 1702 |------------------+--------------+--------------+--------------+-------------| 1703 |fputws(GLIBC_2.2) |swprintf |wcscmp |wcstod |wctrans | 1704 |[1] |(GLIBC_2.2)[7]|(GLIBC_2.2)[7]|(GLIBC_2.2)[7]|(GLIBC_2.2) | 1705 | | | | |[7] | 1706 |------------------+--------------+--------------+--------------+-------------| 1707 |fwide(GLIBC_2.2) |swscanf |wcscoll |wcstof |wctype | 1708 |[1] |(GLIBC_2.2)[1]|(GLIBC_2.2)[7]|(GLIBC_2.2)[1]|(GLIBC_2.2) | 1709 | | | | |[7] | 1710 |------------------+--------------+--------------+--------------+-------------| 1711 |fwprintf |towctrans |wcscpy |wcstoimax |wcwidth | 1712 |(GLIBC_2.2)[4] |(GLIBC_2.2)[7]|(GLIBC_2.2)[7]|(GLIBC_2.2)[1]|(GLIBC_2.2) | 1713 | | | | |[7] | 1714 |------------------+--------------+--------------+--------------+-------------| 1715 |fwscanf(GLIBC_2.2)|towlower |wcscspn |wcstok |wmemchr | 1716 |[1] |(GLIBC_2.2)[1]|(GLIBC_2.2)[7]|(GLIBC_2.2)[7]|(GLIBC_2.2) | 1717 | | | | |[7] | 1718 |------------------+--------------+--------------+--------------+-------------| 1719 |getwc(GLIBC_2.2) |towupper |wcsdup |wcstol |wmemcmp | 1720 |[1] |(GLIBC_2.2)[7]|(GLIBC_2.2)[4]|(GLIBC_2.2)[7]|(GLIBC_2.2) | 1721 | | | | |[7] | 1722 |------------------+--------------+--------------+--------------+-------------| 1723 |getwchar |ungetwc |wcsftime |wcstold |wmemcpy | 1724 |(GLIBC_2.2)[7] |(GLIBC_2.2)[1]|(GLIBC_2.2)[1]|(GLIBC_2.2)[1]|(GLIBC_2.2) | 1725 | | | | |[7] | 1726 |------------------+--------------+--------------+--------------+-------------| 1727 |iconv_close |vfwprintf |wcslen |wcstoll |wmemmove | 1728 |(GLIBC_2.1)[7] |(GLIBC_2.1)[1]|(GLIBC_2.1)[7]|(GLIBC_2.1)[1]|(GLIBC_2.1) | 1729 | | | | |[7] | 1730 |------------------+--------------+--------------+--------------+-------------| 1731 |iconv_open |vfwscanf |wcsncasecmp |wcstombs |wmemset | 1732 |(GLIBC_2.1)[7] |(GLIBC_2.1)[1]|(GLIBC_2.1)[4]|(GLIBC_2.1)[7]|(GLIBC_2.1) | 1733 | | | | |[7] | 1734 |------------------+--------------+--------------+--------------+-------------| 1735 |mblen(GLIBC_2.0) |vswprintf |wcsncat |wcstoq | | 1736 |[7] |(GLIBC_2.0)[1]|(GLIBC_2.0)[7]|(GLIBC_2.0)[4]| | 1737 +-----------------------------------------------------------------------------+ 1738 ------------------------------------------------------------------------------- 1739 1740 String Functions 1741 1742 Table 16-14. libc - String Functions Function Interfaces 1743 1744 +----------------------------------------------------------------------------+ 1745 |__mempcpy |bzero |strcasestr |strncasecmp |strtoimax | 1746 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | 1747 | |[7] |[4] | |[1] | 1748 |-------------------+-------------+-------------+--------------+-------------| 1749 |__rawmemchr |ffs |strcat |strncat |strtok | 1750 |(GLIBC_2.1)[4] |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1)[7]|(GLIBC_2.1) | 1751 | |[7] |[7] | |[7] | 1752 |-------------------+-------------+-------------+--------------+-------------| 1753 |__stpcpy(GLIBC_2.0)|index |strchr |strncmp |strtok_r | 1754 |[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | 1755 | |[7] |[7] | |[4] | 1756 |-------------------+-------------+-------------+--------------+-------------| 1757 |__strdup(GLIBC_2.0)|memccpy |strcmp |strncpy |strtold | 1758 |[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | 1759 | |[7] |[7] | |[1] | 1760 |-------------------+-------------+-------------+--------------+-------------| 1761 |__strtod_internal |memchr |strcoll |strndup |strtoll | 1762 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[4]|(GLIBC_2.0) | 1763 | |[7] |[7] | |[1] | 1764 |-------------------+-------------+-------------+--------------+-------------| 1765 |__strtof_internal |memcmp |strcpy |strnlen |strtoq | 1766 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[4]|(GLIBC_2.0) | 1767 | |[7] |[7] | |[4] | 1768 |-------------------+-------------+-------------+--------------+-------------| 1769 |__strtok_r |memcpy |strcspn |strpbrk |strtoull | 1770 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | 1771 | |[7] |[7] | |[1] | 1772 |-------------------+-------------+-------------+--------------+-------------| 1773 |__strtol_internal |memmove |strdup |strptime |strtoumax | 1774 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[4]|(GLIBC_2.0) | 1775 | |[7] |[7] | |[1] | 1776 |-------------------+-------------+-------------+--------------+-------------| 1777 |__strtold_internal |memrchr |strerror |strrchr |strtouq | 1778 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | 1779 | |[4] |[7] | |[4] | 1780 |-------------------+-------------+-------------+--------------+-------------| 1781 |__strtoll_internal |memset |strerror_r |strsep |strverscmp | 1782 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[4]|(GLIBC_2.0) | 1783 | |[7] |[4] | |[4] | 1784 |-------------------+-------------+-------------+--------------+-------------| 1785 |__strtoul_internal |rindex |strfmon |strsignal |strxfrm | 1786 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[4]|(GLIBC_2.0) | 1787 | |[7] |[7] | |[7] | 1788 |-------------------+-------------+-------------+--------------+-------------| 1789 |__strtoull_internal|stpcpy |strfry |strspn |swab | 1790 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | 1791 | |[4] |[4] | |[7] | 1792 |-------------------+-------------+-------------+--------------+-------------| 1793 |bcmp(GLIBC_2.0)[7] |stpncpy |strftime |strstr | | 1794 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]| | 1795 | |[4] |[7] | | | 1796 |-------------------+-------------+-------------+--------------+-------------| 1797 |bcopy(GLIBC_2.0)[7]|strcasecmp |strlen |strtof | | 1798 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[1]| | 1799 | |[7] |[7] | | | 1800 +----------------------------------------------------------------------------+ 1801 ------------------------------------------------------------------------------- 1802 1803 IPC Functions 1804 1805 Table 16-15. libc - IPC Functions Function Interfaces 1806 1807 +-----------------------------------------------------------------------------+ 1808 |ftok(GLIBC_2.0)[7]|msgrcv(GLIBC_2.0) |semget(GLIBC_2.0) |shmctl(GLIBC_2.0) | | 1809 | |[7] |[7] |[7] | | 1810 |------------------+------------------+------------------+------------------+-| 1811 |msgctl(GLIBC_2.0) |msgsnd(GLIBC_2.0) |semop(GLIBC_2.0) |shmdt(GLIBC_2.0) | | 1812 |[7] |[7] |[7] |[7] | | 1813 |------------------+------------------+------------------+------------------+-| 1814 |msgget(GLIBC_2.0) |semctl(GLIBC_2.0) |shmat(GLIBC_2.0) |shmget(GLIBC_2.0) | | 1815 |[7] |[7] |[7] |[7] | | 1816 +-----------------------------------------------------------------------------+ 1817 ------------------------------------------------------------------------------- 1818 1819 Regular Expressions 1820 1821 Table 16-16. libc - Regular Expressions Function Interfaces 1822 1823 +-----------------------------------------------------------------------------+ 1824 |advance(GLIBC_2.0)|re_exec(GLIBC_2.0)|regerror |regfree(GLIBC_2.0)| | 1825 |[7] |[7] |(GLIBC_2.0)[7] |[7] | | 1826 |------------------+------------------+------------------+------------------+-| 1827 |re_comp(GLIBC_2.0)|regcomp(GLIBC_2.0)|regexec(GLIBC_2.0)|step(GLIBC_2.0)[7]| | 1828 |[7] |[7] |[7] | | | 1829 +-----------------------------------------------------------------------------+ 1830 1831 Table 16-17. libc - Regular Expressions Data Interfaces 1832 1833 +---------------------------+ 1834 |loc1[7]|loc2[7]|locs[7]| | | 1835 +---------------------------+ 1836 ------------------------------------------------------------------------------- 1837 1838 Character Type Functions 1839 1840 Table 16-18. libc - Character Type Functions Function Interfaces 1841 1842 +-----------------------------------------------------------------------------+ 1843 |__ctype_get_mb_cur_max|isdigit |iswalnum |iswlower |toascii | 1844 |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | 1845 | |[7] |[7] | |[7] | 1846 |----------------------+------------+-------------+--------------+------------| 1847 |_tolower(GLIBC_2.0)[7]|isgraph |iswalpha |iswprint |tolower | 1848 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | 1849 | |[7] |[7] | |[7] | 1850 |----------------------+------------+-------------+--------------+------------| 1851 |_toupper(GLIBC_2.0)[7]|islower |iswblank |iswpunct |toupper | 1852 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0) | 1853 | |[7] |[4] | |[7] | 1854 |----------------------+------------+-------------+--------------+------------| 1855 |isalnum(GLIBC_2.0)[7] |isprint |iswcntrl |iswspace | | 1856 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]| | 1857 | |[7] |[7] | | | 1858 |----------------------+------------+-------------+--------------+------------| 1859 |isalpha(GLIBC_2.0)[7] |ispunct |iswctype |iswupper | | 1860 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]| | 1861 | |[7] |[4] | | | 1862 |----------------------+------------+-------------+--------------+------------| 1863 |isascii(GLIBC_2.0)[7] |isspace |iswdigit |iswxdigit | | 1864 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]| | 1865 | |[7] |[7] | | | 1866 |----------------------+------------+-------------+--------------+------------| 1867 |iscntrl(GLIBC_2.0)[7] |isupper |iswgraph |isxdigit | | 1868 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[7]| | 1869 | |[7] |[7] | | | 1870 +-----------------------------------------------------------------------------+ 1871 1872 Table 16-19. libc - Character Type Functions Data Interfaces 1873 1874 +------------------------------------------------------+ 1875 |__ctype_b[4]|__ctype_tolower[4]|__ctype_toupper[4]| | | 1876 +------------------------------------------------------+ 1877 ------------------------------------------------------------------------------- 1878 1879 Time Manipulation 1880 1881 Table 16-20. libc - Time Manipulation Function Interfaces 1882 1883 +------------------------------------------------------------------------------+ 1884 |adjtime |asctime_r |difftime |localtime |tzset | 1885 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1886 | | | | |[7] | 1887 |---------------+---------------+---------------+----------------+-------------| 1888 |adjtimex |ctime |gmtime |localtime_r |ualarm | 1889 |(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) | 1890 | | | | |[7] | 1891 |---------------+---------------+---------------+----------------+-------------| 1892 |asctime |ctime_r |gmtime_r |mktime | | 1893 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] | | 1894 +------------------------------------------------------------------------------+ 1895 1896 Table 16-21. libc - Time Manipulation Data Interfaces 1897 1898 +-----------------------------------------+ 1899 |__daylight[4]|__tzname[4]|timezone[7]| | | 1900 |-------------+-----------+-----------+-+-| 1901 |__timezone[4]|daylight[7]|tzname[7] | | | 1902 +-----------------------------------------+ 1903 ------------------------------------------------------------------------------- 1904 1905 Terminal Interface Functions 1906 1907 Table 16-22. libc - Terminal Interface Functions Function Interfaces 1908 1909 +----------------------------------------------------------------------------+ 1910 |cfgetispeed |cfsetispeed |tcdrain |tcgetattr |tcsendbreak | 1911 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0)[7] | 1912 | | |[7] | | | 1913 |---------------+---------------+-------------+--------------+---------------| 1914 |cfgetospeed |cfsetospeed |tcflow |tcgetpgrp |tcsetattr | 1915 |(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0)[7] | 1916 | | |[7] | | | 1917 |---------------+---------------+-------------+--------------+---------------| 1918 |cfmakeraw |cfsetspeed |tcflush |tcgetsid |tcsetpgrp | 1919 |(GLIBC_2.0)[4] |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0)[7]|(GLIBC_2.0)[7] | 1920 | | |[7] | | | 1921 +----------------------------------------------------------------------------+ 1922 ------------------------------------------------------------------------------- 1923 1924 System Database Interface 1925 1926 Table 16-23. libc - System Database Interface Function Interfaces 1927 1928 +-----------------------------------------------------------------------------+ 1929 |endgrent |getgrgid |getpwnam |getutxent |setprotoent | 1930 |(GLIBC_2.0)[7]|(GLIBC_2.0)[7] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[6]| 1931 | | | |[7] | | 1932 |--------------+-----------------+---------------+-------------+--------------| 1933 |endhostent |getgrnam |getpwnam_r |getutxid |setpwent | 1934 |(GLIBC_2.0)[6]|(GLIBC_2.0)[7] |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0)[7]| 1935 | | | |[7] | | 1936 |--------------+-----------------+---------------+-------------+--------------| 1937 |endnetent |gethostbyaddr |getpwuid |getutxline |setservent | 1938 |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[6]| 1939 | | | |[7] | | 1940 |--------------+-----------------+---------------+-------------+--------------| 1941 |endprotoent |gethostbyname |getpwuid_r |pututxline |setutent | 1942 |(GLIBC_2.0)[6]|(GLIBC_2.0)[4] |(GLIBC_2.0)[7] |(GLIBC_2.0) |(GLIBC_2.0)[4]| 1943 | | | |[7] | | 1944 |--------------+-----------------+---------------+-------------+--------------| 1945 |endpwent |getnetbyaddr |getservbyname |setgrent |setutxent | 1946 |(GLIBC_2.0)[7]|(GLIBC_2.0)[6] |(GLIBC_2.0)[4] |(GLIBC_2.0) |(GLIBC_2.0)[7]| 1947 | | | |[7] | | 1948 |--------------+-----------------+---------------+-------------+--------------| 1949 |endservent |getprotobyname |getservbyport |setgroups | | 1950 |(GLIBC_2.0)[6]|(GLIBC_2.0)[4] |(GLIBC_2.0)[6] |(GLIBC_2.0) | | 1951 | | | |[4] | | 1952 |--------------+-----------------+---------------+-------------+--------------| 1953 |endutent |getprotobynumber |getservent |sethostent | | 1954 |(GLIBC_2.0)[7]|(GLIBC_2.0)[6] |(GLIBC_2.0)[4] |(GLIBC_2.0) | | 1955 | | | |[6] | | 1956 |--------------+-----------------+---------------+-------------+--------------| 1957 |endutxent |getprotoent |getutent |setmntent | | 1958 |(GLIBC_2.1)[7]|(GLIBC_2.1)[4] |(GLIBC_2.1)[4] |(GLIBC_2.1) | | 1959 | | | |[4] | | 1960 |--------------+-----------------+---------------+-------------+--------------| 1961 |getgrent |getpwent |getutent_r |setnetent | | 1962 |(GLIBC_2.0)[7]|(GLIBC_2.0)[7] |(GLIBC_2.0)[4] |(GLIBC_2.0) | | 1963 | | | |[6] | | 1964 +-----------------------------------------------------------------------------+ 1965 ------------------------------------------------------------------------------- 1966 1967 Language Support 1968 1969 Table 16-24. libc - Language Support Function Interfaces 1970 1971 +-----------------------------------------------------------------------------+ 1972 |__divdi3(GLIBC_2.0) |__moddi3 |__umoddi3 |_obstack_newchunk | | 1973 |[4] |(GLIBC_2.0)[4]|(GLIBC_2.0)[4] |(GLIBC_2.0)[4] | | 1974 |--------------------+--------------+------------------+--------------------+-| 1975 |__libc_start_main |__udivdi3 |_obstack_begin |obstack_free | | 1976 |(GLIBC_2.0)[4] |(GLIBC_2.0)[4]|(GLIBC_2.0)[4] |(GLIBC_2.0)[4] | | 1977 +-----------------------------------------------------------------------------+ 1978 ------------------------------------------------------------------------------- 1979 1980 Large File Support 1981 1982 Table 16-25. libc - Large File Support Function Interfaces 1983 1984 +----------------------------------------------------------------------------+ 1985 |__fxstat64 |fopen64 |ftello64 |mkstemp64 |readdir64 | 1986 |(GLIBC_2.2)[4] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2]| 1987 |---------------+--------------+---------------+--------------+--------------| 1988 |__lxstat64 |freopen64 |ftruncate64 |mmap64 |tmpfile64 | 1989 |(GLIBC_2.2)[4] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2]| 1990 |---------------+--------------+---------------+--------------+--------------| 1991 |__xstat64 |fseeko64 |ftw64 |nftw64 |truncate64 | 1992 |(GLIBC_2.2)[4] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2]| 1993 |---------------+--------------+---------------+--------------+--------------| 1994 |alphasort64 |fsetpos64 |getrlimit64 |open64 | | 1995 |(GLIBC_2.1)[4] |(GLIBC_2.1)[2]|(GLIBC_2.1)[2] |(GLIBC_2.1)[2]| | 1996 |---------------+--------------+---------------+--------------+--------------| 1997 |creat64 |fstatfs64 |lockf64 |pread64 | | 1998 |(GLIBC_2.1)[2] |(GLIBC_2.1)[2]|(GLIBC_2.1)[2] |(GLIBC_2.1)[2]| | 1999 |---------------+--------------+---------------+--------------+--------------| 2000 |fgetpos64 |fstatvfs64 |lseek64 |pwrite64 | | 2001 |(GLIBC_2.1)[2] |(GLIBC_2.1)[2]|(GLIBC_2.1)[2] |(GLIBC_2.1)[2]| | 2002 +----------------------------------------------------------------------------+ 2003 ------------------------------------------------------------------------------- 2004 2005 Data Definitions for libc 2006 2007 ------------------------------------------------------------------------------- 2008 2009 errno.h 2010 2011 2012 2013 2014 #define EDEADLK 35 2015 #define ENAMETOOLONG 36 2016 #define ENOLCK 37 2017 #define ENOSYS 38 2018 #define ENOTEMPTY 39 2019 #define ELOOP 40 2020 #define ENOMSG 42 2021 #define EIDRM 43 2022 #define ECHRNG 44 2023 #define EL2NSYNC 45 2024 #define EL3HLT 46 2025 #define EL3RST 47 2026 #define ELNRNG 48 2027 #define EUNATCH 49 2028 #define ENOANO 55 2029 #define EBADRQC 56 2030 #define EBADSLT 57 2031 #define EBFONT 59 2032 #define ENOSTR 60 2033 #define ENODATA 61 2034 #define ETIME 62 2035 #define ENOSR 63 2036 #define ENONET 64 2037 #define ENOPKG 65 2038 #define EREMOTE 66 2039 #define ENOLINK 67 2040 #define EADV 68 2041 #define ESRMNT 69 2042 #define ECOMM 70 2043 #define EPROTO 71 2044 #define EMULTIHOP 72 2045 #define EDOTDOT 73 2046 #define EBADMSG 74 2047 #define EOVERFLOW 75 2048 #define ENOTUNIQ 76 2049 #define EBADFD 77 2050 #define EREMCHG 78 2051 #define ELIBACC 79 2052 #define ELIBBAD 80 2053 #define ELIBSCN 81 2054 #define ELIBMAX 82 2055 #define ELIBEXEC 83 2056 #define EILSEQ 84 2057 #define ERESTART 85 2058 #define ESTRPIPE 86 2059 #define EUSERS 87 2060 #define ENOTSOCK 88 2061 #define EDESTADDRREQ 89 2062 #define EMSGSIZE 90 2063 #define EPROTOTYPE 91 2064 #define ENOPROTOOPT 92 2065 #define EPROTONOSUPPORT 93 2066 #define ESOCKTNOSUPPORT 94 2067 #define EOPNOTSUPP 95 2068 #define EPFNOSUPPORT 96 2069 #define EAFNOSUPPORT 97 2070 #define EADDRINUSE 98 2071 #define EADDRNOTAVAIL 99 2072 ------------------------------------------------------------------------------- 2073 2074 signal.h 2075 2076 2077 2078 2079 #define SIGUSR1 10 2080 #define SIGUSR2 12 2081 #define SIGSTKFLT 16 2082 #define SIGCHLD 17 2083 #define SIGCONT 18 2084 #define SIGSTOP 19 2085 #define SIGTSTP 20 2086 #define SIGTTIN 21 2087 #define SIGTTOU 22 2088 #define SIGURG 23 2089 #define SIGXCPU 24 2090 #define SIGXFSZ 25 2091 #define SIGVTALRM 26 2092 #define SIGPROF 27 2093 #define SIGWINCH 28 2094 #define SIGIO 29 2095 #define SIGPWR 30 2096 #define SIGSYS 31 2097 #define SIGUNUSED 31 2098 #define SIGBUS 7 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 struct _fpreg 2126 { 2127 unsigned short significand[4]; 2128 unsigned short exponent; 2129 } 2130 ; 2131 struct _fpxreg 2132 { 2133 unsigned short significand[4]; 2134 unsigned short exponent; 2135 unsigned short padding[3]; 2136 } 2137 ; 2138 struct _xmmreg 2139 { 2140 unsigned long element[4]; 2141 } 2142 ; 2143 2144 2145 struct _fpstate 2146 { 2147 unsigned long cw; 2148 unsigned long sw; 2149 unsigned long tag; 2150 unsigned long ipoff; 2151 unsigned long cssel; 2152 unsigned long dataoff; 2153 unsigned long datasel; 2154 struct _fpreg _st[8]; 2155 unsigned short status; 2156 unsigned short magic; 2157 unsigned long _fxsr_env[6]; 2158 unsigned long mxcsr; 2159 unsigned long reserved; 2160 struct _fpxreg _fxsr_st[8]; 2161 struct _xmmreg _xmm[8]; 2162 unsigned long padding[56]; 2163 } 2164 ; 2165 2166 2167 struct sigcontext 2168 { 2169 unsigned short gs; 2170 unsigned short __gsh; 2171 unsigned short fs; 2172 unsigned short __fsh; 2173 unsigned short es; 2174 unsigned short __esh; 2175 unsigned short ds; 2176 unsigned short __dsh; 2177 unsigned long edi; 2178 unsigned long esi; 2179 unsigned long ebp; 2180 unsigned long esp; 2181 unsigned long ebx; 2182 unsigned long edx; 2183 unsigned long ecx; 2184 unsigned long eax; 2185 unsigned long trapno; 2186 unsigned long err; 2187 unsigned long eip; 2188 unsigned short cs; 2189 unsigned short __csh; 2190 unsigned long eflags; 2191 unsigned long esp_at_signal; 2192 unsigned short ss; 2193 unsigned short __ssh; 2194 struct _fpstate fpstate; 2195 unsigned long oldmask; 2196 unsigned long cr2; 2197 } 2198 ; 2199 ------------------------------------------------------------------------------- 2200 2201 sys/ioctl.h 2202 2203 #define TIOCNOTTY 0x5422 2204 ------------------------------------------------------------------------------- 2205 2206 sys/msg.h 2207 2208 2209 2210 2211 2212 2213 typedef unsigned long msgqnum_t; 2214 typedef unsigned long msglen_t; 2215 ------------------------------------------------------------------------------- 2216 2217 sys/shm.h 2218 2219 2220 2221 2222 2223 2224 typedef unsigned long shmatt_t; 2225 ------------------------------------------------------------------------------- 2226 2227 ucontext.h 2228 2229 2230 2231 2232 2233 2234 typedef int greg_t; 2235 #define NGREG 19 2236 2237 2238 2239 2240 2241 typedef greg_t gregset_t[19]; 2242 2243 2244 2245 2246 2247 struct _libc_fpreg 2248 { 2249 unsigned short significand[4]; 2250 unsigned short exponent; 2251 } 2252 ; 2253 2254 2255 2256 2257 2258 struct _libc_fpstate 2259 { 2260 unsigned long cw; 2261 unsigned long sw; 2262 unsigned long tag; 2263 unsigned long ipoff; 2264 unsigned long cssel; 2265 unsigned long dataoff; 2266 unsigned long datasel; 2267 struct _libc_fpreg _st[8]; 2268 unsigned long status; 2269 } 2270 ; 2271 typedef struct _libc_fpstate *fpregset_t; 2272 ------------------------------------------------------------------------------- 2273 2274 Interfaces Definitions for libc 2275 2276 Table of Contents 2277 __divdi3 -- mathematic operation 2278 ioperm -- set port input/output permissions 2279 iopl -- change I/O privilege level 2280 2281 __divdi3 2282 2283 Name 2284 2285 __divdi3 -- mathematic operation 2286 2287 Synopsis 2288 2289 DItype 2290 __divdi3(DItype u, DItype v); 2291 2292 Description 2293 2294 __divdi3() divides two DItypes(unsigned ints). 2295 2296 __divdi3 is not in the source standard; it is only in the binary standard. 2297 2298 ioperm 2299 2300 Name 2301 2302 ioperm -- set port input/output permissions 2303 2304 Synopsis 2305 2306 #include /* for libc5 */ 2307 #include /* for glibc */ 2308 2309 int ioperm(unsigned long from, unsigned long num, int turn_on); 2310 2311 Description 2312 2313 ioperm sets the port access permission bits for the process for num bytes 2314 starting from port address from to the value turn_on. The use of ioperm 2315 requires root privileges. 2316 2317 Only the first 0x3ff I/O ports can be specified in this manner. For more ports, 2318 the iopl function must be used. Permissions are not inherited on fork, but on 2319 exec they are. This is useful for giving port access permissions to 2320 non-privileged tasks. 2321 2322 Return Value 2323 2324 On success, zero is returned. On error, -1 is returned, and errno is set 2325 appropriately. 2326 2327 Notes 2328 2329 Libc5 treats it as a system call and has a prototype in . Glibc1 does 2330 not have a prototype. Glibc2 has a prototype both in and in . Avoid the latter, it is available on i386 only. 2332 2333 iopl 2334 2335 Name 2336 2337 iopl -- change I/O privilege level 2338 2339 Synopsis 2340 2341 #include /* for libc5 */ 2342 #include /* for glibc */ 2343 2344 int iopl(int level); 2345 2346 Description 2347 2348 iopl changes the I/O privilege level of the current process, as specified in 2349 level. 2350 2351 This call is necessary to allow 8514-compatible X servers to run under Linux. 2352 Since these X servers require access to all 65536 I/O ports, the ioperm call is 2353 not sufficient. 2354 2355 In addition to granting unrestricted I/O port access, running at a higher I/O 2356 privilege level also allows the process to disable interrupts. This will 2357 probably crash the system, and is not recommended. 2358 2359 Permissions are inherited by fork and exec. 2360 2361 The I/O privilege level for a normal process is 0. 2362 2363 Return Value 2364 2365 On success, zero is returned. On error, -1 is returned, and errno is set 2366 appropriately. 2367 2368 Errors 2369 2370 EINVAL 2371 2372 level is greater than 3. 2373 2374 EPERM 2375 2376 The current user is not the super-user. 2377 2378 Notes from the Kernel Source 2379 2380 iopl has to be used when you want to access the I/O ports beyond the 0x3ff 2381 range: to get the full 65536 ports bitmapped you'd need 8kB of bitmaps/process, 2382 which is a bit excessive. 2383 2384 Notes 2385 2386 Libc5 treats it as a system call and has a prototype in . Glibc1 does 2387 not have a prototype. Glibc2 has a prototype both in and in . Avoid the latter, it is available on i386 only. 2389 2390 ------------------------------------------------------------------------------- 2391 2392 Interfaces for libm 2393 2394 Table 16-26. libm Definition 2395 2396 +-------------------+ 2397 |Library:|libm | 2398 |--------+----------| 2399 |SONAME: |libm.so.6 | 2400 +-------------------+ 2401 2402 The behavior of the interfaces in this library is specified by the following 2403 standards. 2404 2405 ISO/IEC 9899: 1999, Programming Languages --C[10] 2406 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 2407 (ISBN: 1-85912-181-0, C606)[11] 2408 2409 ------------------------------------------------------------------------------- 2410 2411 Math 2412 2413 Table 16-27. libm - Math Function Interfaces 2414 2415 +-----------------------------------------------------------------------------+ 2416 |acos |ceilf |erfcl(GLIBC_2.0) |j1(GLIBC_2.0) |remainderl | 2417 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |[11] |(GLIBC_2.0)[10]| 2418 |[11] |[10] | | | | 2419 |------------+--------------+-----------------+---------------+---------------| 2420 |acosf |ceill |erff(GLIBC_2.0) |j1f(GLIBC_2.0) |remquo | 2421 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |[10] |(GLIBC_2.0)[10]| 2422 |[10] |[10] | | | | 2423 |------------+--------------+-----------------+---------------+---------------| 2424 |acosh |cexp |erfl(GLIBC_2.0) |j1l(GLIBC_2.0) |remquof | 2425 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |[10] |(GLIBC_2.0)[10]| 2426 |[11] |[10] | | | | 2427 |------------+--------------+-----------------+---------------+---------------| 2428 |acoshf |cexpf |exp(GLIBC_2.0) |jn(GLIBC_2.0) |remquol | 2429 |(GLIBC_2.0) |(GLIBC_2.0) |[11] |[11] |(GLIBC_2.0)[10]| 2430 |[10] |[10] | | | | 2431 |------------+--------------+-----------------+---------------+---------------| 2432 |acoshl |cexpl |expm1(GLIBC_2.0) |jnf(GLIBC_2.0) |rint(GLIBC_2.0)| 2433 |(GLIBC_2.0) |(GLIBC_2.0) |[11] |[10] |[11] | 2434 |[10] |[10] | | | | 2435 |------------+--------------+-----------------+---------------+---------------| 2436 |acosl |cimag |fabs(GLIBC_2.0) |jnl(GLIBC_2.0) |rintf | 2437 |(GLIBC_2.0) |(GLIBC_2.0) |[11] |[10] |(GLIBC_2.0)[10]| 2438 |[10] |[10] | | | | 2439 |------------+--------------+-----------------+---------------+---------------| 2440 |asin |cimagf |fabsf(GLIBC_2.0) |ldexp |rintl | 2441 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[11]|(GLIBC_2.0)[10]| 2442 |[11] |[10] | | | | 2443 |------------+--------------+-----------------+---------------+---------------| 2444 |asinf |cimagl |fabsl(GLIBC_2.0) |ldexpf |round | 2445 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2446 |[10] |[10] | | | | 2447 |------------+--------------+-----------------+---------------+---------------| 2448 |asinh |clog |fdim(GLIBC_2.0) |ldexpl |roundf | 2449 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2450 |[11] |[10] | | | | 2451 |------------+--------------+-----------------+---------------+---------------| 2452 |asinhf |clog10 |fdimf(GLIBC_2.0) |lgamma |roundl | 2453 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[11]|(GLIBC_2.0)[10]| 2454 |[10] |[10] | | | | 2455 |------------+--------------+-----------------+---------------+---------------| 2456 |asinhl |clog10f |fdiml(GLIBC_2.0) |lgamma_r |scalb | 2457 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[11]| 2458 |[10] |[10] | | | | 2459 |------------+--------------+-----------------+---------------+---------------| 2460 |asinl |clog10l |feclearexcept |lgammaf |scalbf | 2461 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2462 |[10] |[10] | | | | 2463 |------------+--------------+-----------------+---------------+---------------| 2464 |atan |clogf |fegetenv |lgammaf_r |scalbl | 2465 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2466 |[11] |[10] | | | | 2467 |------------+--------------+-----------------+---------------+---------------| 2468 |atan2 |clogl |fegetexceptflag |lgammal |scalbln | 2469 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2470 |[11] |[10] | | | | 2471 |------------+--------------+-----------------+---------------+---------------| 2472 |atan2f |conj |fegetround |lgammal_r |scalblnf | 2473 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2474 |[10] |[10] | | | | 2475 |------------+--------------+-----------------+---------------+---------------| 2476 |atan2l |conjf |feholdexcept |llrint |scalblnl | 2477 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2478 |[10] |[10] | | | | 2479 |------------+--------------+-----------------+---------------+---------------| 2480 |atanf |conjl |feraiseexcept |llrintf |scalbn | 2481 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2482 |[10] |[10] | | | | 2483 |------------+--------------+-----------------+---------------+---------------| 2484 |atanh |copysign |fesetenv |llrintl |scalbnf | 2485 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2486 |[11] |[10] | | | | 2487 |------------+--------------+-----------------+---------------+---------------| 2488 |atanhf |copysignf |fesetexceptflag |llround |scalbnl | 2489 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2490 |[10] |[10] | | | | 2491 |------------+--------------+-----------------+---------------+---------------| 2492 |atanhl |copysignl |fesetround |llroundf |significand | 2493 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2494 |[10] |[10] | | | | 2495 |------------+--------------+-----------------+---------------+---------------| 2496 |atanl |cos(GLIBC_2.0)|fetestexcept |llroundl |significandf | 2497 |(GLIBC_2.0) |[11] |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2498 |[10] | | | | | 2499 |------------+--------------+-----------------+---------------+---------------| 2500 |cabs |cosf |feupdateenv |log(GLIBC_2.1) |significandl | 2501 |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1)[10] |[11] |(GLIBC_2.1)[10]| 2502 |[11] |[10] | | | | 2503 |------------+--------------+-----------------+---------------+---------------| 2504 |cabsf |cosh |finite(GLIBC_2.1)|log10 |sin(GLIBC_2.1) | 2505 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |(GLIBC_2.1)[11]|[11] | 2506 |[10] |[11] | | | | 2507 |------------+--------------+-----------------+---------------+---------------| 2508 |cabsl |coshf |finitef |log1p |sincos | 2509 |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1)[10] |(GLIBC_2.1)[11]|(GLIBC_2.1)[10]| 2510 |[10] |[10] | | | | 2511 |------------+--------------+-----------------+---------------+---------------| 2512 |cacos |coshl |finitel |logb(GLIBC_2.1)|sincosf | 2513 |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1)[10] |[11] |(GLIBC_2.1)[10]| 2514 |[10] |[10] | | | | 2515 |------------+--------------+-----------------+---------------+---------------| 2516 |cacosf |cosl |floor(GLIBC_2.1) |lrint |sincosl | 2517 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2518 |[10] |[10] | | | | 2519 |------------+--------------+-----------------+---------------+---------------| 2520 |cacosh |cpow |floorf(GLIBC_2.1)|lrintf |sinf(GLIBC_2.1)| 2521 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[10] | 2522 |[10] |[10] | | | | 2523 |------------+--------------+-----------------+---------------+---------------| 2524 |cacoshf |cpowf |floorl(GLIBC_2.1)|lrintl |sinh(GLIBC_2.1)| 2525 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[11] | 2526 |[10] |[10] | | | | 2527 |------------+--------------+-----------------+---------------+---------------| 2528 |cacoshl |cpowl |fma(GLIBC_2.1) |lround |sinhf | 2529 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2530 |[10] |[10] | | | | 2531 |------------+--------------+-----------------+---------------+---------------| 2532 |cacosl |cproj |fmaf(GLIBC_2.1) |lroundf |sinhl | 2533 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2534 |[10] |[10] | | | | 2535 |------------+--------------+-----------------+---------------+---------------| 2536 |carg |cprojf |fmal(GLIBC_2.1) |lroundl |sinl(GLIBC_2.1)| 2537 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[10] | 2538 |[10] |[10] | | | | 2539 |------------+--------------+-----------------+---------------+---------------| 2540 |cargf |cprojl |fmax(GLIBC_2.1) |matherr |sqrt(GLIBC_2.1)| 2541 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[11] | 2542 |[10] |[10] | | | | 2543 |------------+--------------+-----------------+---------------+---------------| 2544 |cargl |creal |fmaxf(GLIBC_2.1) |modf(GLIBC_2.1)|sqrtf | 2545 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[11] |(GLIBC_2.1)[10]| 2546 |[10] |[10] | | | | 2547 |------------+--------------+-----------------+---------------+---------------| 2548 |casin |crealf |fmaxl(GLIBC_2.1) |modff |sqrtl | 2549 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2550 |[10] |[10] | | | | 2551 |------------+--------------+-----------------+---------------+---------------| 2552 |casinf |creall |fmin(GLIBC_2.1) |modfl |tan(GLIBC_2.1) | 2553 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[11] | 2554 |[10] |[10] | | | | 2555 |------------+--------------+-----------------+---------------+---------------| 2556 |casinh |csin |fminf(GLIBC_2.1) |nan(GLIBC_2.1) |tanf(GLIBC_2.1)| 2557 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[10] |[10] | 2558 |[10] |[10] | | | | 2559 |------------+--------------+-----------------+---------------+---------------| 2560 |casinhf |csinf |fminl(GLIBC_2.1) |nanf(GLIBC_2.1)|tanh(GLIBC_2.1)| 2561 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[10] |[11] | 2562 |[10] |[10] | | | | 2563 |------------+--------------+-----------------+---------------+---------------| 2564 |casinhl |csinh |fmod(GLIBC_2.1) |nanl(GLIBC_2.1)|tanhf | 2565 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |[10] |(GLIBC_2.1)[10]| 2566 |[10] |[10] | | | | 2567 |------------+--------------+-----------------+---------------+---------------| 2568 |casinl |csinhf |fmodf(GLIBC_2.1) |nearbyint |tanhl | 2569 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2570 |[10] |[10] | | | | 2571 |------------+--------------+-----------------+---------------+---------------| 2572 |catan |csinhl |fmodl(GLIBC_2.1) |nearbyintf |tanl(GLIBC_2.1)| 2573 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[10] | 2574 |[10] |[10] | | | | 2575 |------------+--------------+-----------------+---------------+---------------| 2576 |catanf |csinl |frexp(GLIBC_2.1) |nearbyintl |tgamma | 2577 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2578 |[10] |[10] | | | | 2579 |------------+--------------+-----------------+---------------+---------------| 2580 |catanh |csqrt |frexpf(GLIBC_2.1)|nextafter |tgammaf | 2581 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[11]|(GLIBC_2.1)[10]| 2582 |[10] |[10] | | | | 2583 |------------+--------------+-----------------+---------------+---------------| 2584 |catanhf |csqrtf |frexpl(GLIBC_2.1)|nextafterf |tgammal | 2585 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2586 |[10] |[10] | | | | 2587 |------------+--------------+-----------------+---------------+---------------| 2588 |catanhl |csqrtl |gamma(GLIBC_2.1) |nextafterl |trunc | 2589 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2590 |[10] |[10] | | | | 2591 |------------+--------------+-----------------+---------------+---------------| 2592 |catanl |ctan |gammaf(GLIBC_2.1)|nexttoward |truncf | 2593 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2594 |[10] |[10] | | | | 2595 |------------+--------------+-----------------+---------------+---------------| 2596 |cbrt |ctanf |gammal(GLIBC_2.0)|nexttowardf |truncl | 2597 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2598 |[11] |[10] | | | | 2599 |------------+--------------+-----------------+---------------+---------------| 2600 |cbrtf |ctanh |hypot(GLIBC_2.0) |nexttowardl |y0(GLIBC_2.0) | 2601 |(GLIBC_2.0) |(GLIBC_2.0) |[11] |(GLIBC_2.0)[10]|[11] | 2602 |[10] |[10] | | | | 2603 |------------+--------------+-----------------+---------------+---------------| 2604 |cbrtl |ctanhf |hypotf(GLIBC_2.0)|pow(GLIBC_2.0) |y0f(GLIBC_2.0) | 2605 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |[10] |[10] | 2606 |[10] |[10] | | | | 2607 |------------+--------------+-----------------+---------------+---------------| 2608 |ccos |ctanhl |hypotl(GLIBC_2.1)|pow10 |y0l(GLIBC_2.1) | 2609 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[10] | 2610 |[10] |[10] | | | | 2611 |------------+--------------+-----------------+---------------+---------------| 2612 |ccosf |ctanl |ilogb(GLIBC_2.1) |pow10f |y1(GLIBC_2.1) | 2613 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |(GLIBC_2.1)[10]|[11] | 2614 |[10] |[10] | | | | 2615 |------------+--------------+-----------------+---------------+---------------| 2616 |ccosh |dremf |ilogbf(GLIBC_2.1)|pow10l |y1f(GLIBC_2.1) | 2617 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[10] | 2618 |[10] |[10] | | | | 2619 |------------+--------------+-----------------+---------------+---------------| 2620 |ccoshf |dreml |ilogbl(GLIBC_2.1)|powf(GLIBC_2.1)|y1l(GLIBC_2.1) | 2621 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[10] |[10] | 2622 |[10] |[10] | | | | 2623 |------------+--------------+-----------------+---------------+---------------| 2624 |ccoshl |erf(GLIBC_2.1)|j0(GLIBC_2.1)[11]|powl(GLIBC_2.1)|yn(GLIBC_2.1) | 2625 |(GLIBC_2.1) |[11] | |[10] |[11] | 2626 |[10] | | | | | 2627 |------------+--------------+-----------------+---------------+---------------| 2628 |ccosl |erfc |j0f(GLIBC_2.1) |remainder |ynf(GLIBC_2.1) | 2629 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[11]|[10] | 2630 |[10] |[11] | | | | 2631 |------------+--------------+-----------------+---------------+---------------| 2632 |ceil |erfcf |j0l(GLIBC_2.0) |remainderf |ynl(GLIBC_2.0) | 2633 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|[10] | 2634 |[11] |[10] | | | | 2635 +-----------------------------------------------------------------------------+ 2636 2637 Table 16-28. libm - Math Data Interfaces 2638 2639 +--------------------+ 2640 |signgam[11] | | | | | 2641 +--------------------+ 2642 ------------------------------------------------------------------------------- 2643 2644 Data Definitions for libm 2645 2646 ------------------------------------------------------------------------------- 2647 2648 Interfaces for libpthread 2649 2650 Table 16-29. libpthread Definition 2651 2652 +-------------------------+ 2653 |Library:|libpthread | 2654 |--------+----------------| 2655 |SONAME: |libpthread.so.0 | 2656 +-------------------------+ 2657 2658 The behavior of the interfaces in this library is specified by the following 2659 standards. 2660 2661 Linux Standard Base[12] 2662 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 2663 (ISBN: 1-85912-181-0, C606)[13] 2664 2665 ------------------------------------------------------------------------------- 2666 2667 Posix Threads 2668 2669 Table 16-30. libpthread - Posix Threads Function Interfaces 2670 2671 +----------------------------------------------------------------------------------------------------------------------------------------+ 2672 |pthread_attr_destroy |pthread_attr_setstackaddr|pthread_getspecific |pthread_once(GLIBC_2.0)[13] |pthread_setcanceltype | 2673 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | |(GLIBC_2.0)[13] | 2674 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2675 |pthread_attr_getdetachstate |pthread_attr_setstacksize|pthread_join(GLIBC_2.0)[13] |pthread_rwlock_destroy |pthread_setconcurrency| 2676 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | 2677 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2678 |pthread_attr_getguardsize |pthread_cancel(GLIBC_2.1)|pthread_key_create |pthread_rwlock_init |pthread_setschedparam | 2679 |(GLIBC_2.1)[13] |[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] | 2680 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2681 |pthread_attr_getinheritsched|pthread_cond_broadcast |pthread_key_delete |pthread_rwlock_rdlock |pthread_setspecific | 2682 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | 2683 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2684 |pthread_attr_getschedparam |pthread_cond_destroy |pthread_kill(GLIBC_2.0)[13] |pthread_rwlock_timedrdlock |pthread_sigmask | 2685 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | 2686 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2687 |pthread_attr_getschedpolicy |pthread_cond_init |pthread_mutex_destroy |pthread_rwlock_timedwrlock |pthread_testcancel | 2688 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | 2689 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2690 |pthread_attr_getscope |pthread_cond_signal |pthread_mutex_init |pthread_rwlock_tryrdlock |sem_close(GLIBC_2.0) | 2691 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |[13] | 2692 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2693 |pthread_attr_getstackaddr |pthread_cond_timedwait |pthread_mutex_lock |pthread_rwlock_trywrlock |sem_destroy(GLIBC_2.1)| 2694 |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |[13] | 2695 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2696 |pthread_attr_getstacksize |pthread_cond_wait |pthread_mutex_trylock |pthread_rwlock_unlock |sem_getvalue | 2697 |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] | 2698 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2699 |pthread_attr_init(GLIBC_2.1)|pthread_condattr_destroy |pthread_mutex_unlock |pthread_rwlock_wrlock |sem_init(GLIBC_2.1) | 2700 |[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |[13] | 2701 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2702 |pthread_attr_setdetachstate |pthread_condattr_init |pthread_mutexattr_destroy |pthread_rwlockattr_destroy |sem_open(GLIBC_2.0) | 2703 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |[13] | 2704 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2705 |pthread_attr_setguardsize |pthread_create(GLIBC_2.1)|pthread_mutexattr_getpshared|pthread_rwlockattr_getpshared|sem_post(GLIBC_2.1) | 2706 |(GLIBC_2.1)[13] |[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |[13] | 2707 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2708 |pthread_attr_setinheritsched|pthread_detach(GLIBC_2.0)|pthread_mutexattr_gettype |pthread_rwlockattr_init |sem_timedwait | 2709 |(GLIBC_2.0)[13] |[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[12] | 2710 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2711 |pthread_attr_setschedparam |pthread_equal(GLIBC_2.0) |pthread_mutexattr_init |pthread_rwlockattr_setpshared|sem_trywait(GLIBC_2.0)| 2712 |(GLIBC_2.0)[13] |[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |[13] | 2713 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2714 |pthread_attr_setschedpolicy |pthread_exit(GLIBC_2.0) |pthread_mutexattr_setpshared|pthread_self(GLIBC_2.0)[13] |sem_unlink(GLIBC_2.0) | 2715 |(GLIBC_2.0)[13] |[13] |(GLIBC_2.0)[13] | |[13] | 2716 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2717 |pthread_attr_setscope |pthread_getschedparam |pthread_mutexattr_settype |pthread_setcancelstate |sem_wait(GLIBC_2.0) | 2718 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |[13] | 2719 +----------------------------------------------------------------------------------------------------------------------------------------+ 2720 ------------------------------------------------------------------------------- 2721 2722 Data Definitions for libpthread 2723 2724 ------------------------------------------------------------------------------- 2725 2726 signal.h 2727 2728 2729 2730 2731 #define SIGUSR1 10 2732 #define SIGUSR2 12 2733 #define SIGSTKFLT 16 2734 #define SIGCHLD 17 2735 #define SIGCONT 18 2736 #define SIGSTOP 19 2737 #define SIGTSTP 20 2738 #define SIGTTIN 21 2739 #define SIGTTOU 22 2740 #define SIGURG 23 2741 #define SIGXCPU 24 2742 #define SIGXFSZ 25 2743 #define SIGVTALRM 26 2744 #define SIGPROF 27 2745 #define SIGWINCH 28 2746 #define SIGIO 29 2747 #define SIGPWR 30 2748 #define SIGSYS 31 2749 #define SIGUNUSED 31 2750 #define SIGBUS 7 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 struct _fpreg 2778 { 2779 unsigned short significand[4]; 2780 unsigned short exponent; 2781 } 2782 ; 2783 struct _fpxreg 2784 { 2785 unsigned short significand[4]; 2786 unsigned short exponent; 2787 unsigned short padding[3]; 2788 } 2789 ; 2790 struct _xmmreg 2791 { 2792 unsigned long element[4]; 2793 } 2794 ; 2795 2796 2797 struct _fpstate 2798 { 2799 unsigned long cw; 2800 unsigned long sw; 2801 unsigned long tag; 2802 unsigned long ipoff; 2803 unsigned long cssel; 2804 unsigned long dataoff; 2805 unsigned long datasel; 2806 struct _fpreg _st[8]; 2807 unsigned short status; 2808 unsigned short magic; 2809 unsigned long _fxsr_env[6]; 2810 unsigned long mxcsr; 2811 unsigned long reserved; 2812 struct _fpxreg _fxsr_st[8]; 2813 struct _xmmreg _xmm[8]; 2814 unsigned long padding[56]; 2815 } 2816 ; 2817 2818 2819 struct sigcontext 2820 { 2821 unsigned short gs; 2822 unsigned short __gsh; 2823 unsigned short fs; 2824 unsigned short __fsh; 2825 unsigned short es; 2826 unsigned short __esh; 2827 unsigned short ds; 2828 unsigned short __dsh; 2829 unsigned long edi; 2830 unsigned long esi; 2831 unsigned long ebp; 2832 unsigned long esp; 2833 unsigned long ebx; 2834 unsigned long edx; 2835 unsigned long ecx; 2836 unsigned long eax; 2837 unsigned long trapno; 2838 unsigned long err; 2839 unsigned long eip; 2840 unsigned short cs; 2841 unsigned short __csh; 2842 unsigned long eflags; 2843 unsigned long esp_at_signal; 2844 unsigned short ss; 2845 unsigned short __ssh; 2846 struct _fpstate fpstate; 2847 unsigned long oldmask; 2848 unsigned long cr2; 2849 } 2850 ; 2851 ------------------------------------------------------------------------------- 2852 2853 Interfaces for libdl 2854 2855 Table 16-31. libdl Definition 2856 2857 +--------------------+ 2858 |Library:|libdl | 2859 |--------+-----------| 2860 |SONAME: |libdl.so.2 | 2861 +--------------------+ 2862 2863 ------------------------------------------------------------------------------- 2864 2865 Dynamic Loader 2866 2867 ------------------------------------------------------------------------------- 2868 2869 Data Definitions for libdl 2870 2871 ------------------------------------------------------------------------------- 2872 2873 Interfaces for libcrypt 2874 2875 Table 16-32. libcrypt Definition 2876 2877 +-----------------------+ 2878 |Library:|libcrypt | 2879 |--------+--------------| 2880 |SONAME: |libcrypt.so.1 | 2881 +-----------------------+ 2882 2883 ------------------------------------------------------------------------------- 2884 2885 Encryption 2886 2887 ------------------------------------------------------------------------------- 2888 2889 Data Definitions for libcrypt 2890 2891 VI. Package Format and Installation 2892 2893 Table of Contents 2894 17. Software Installation 2895 2896 ------------------------------------------------------------------------------- 2897 2898 Chapter 17. Software Installation 2899 2900 ------------------------------------------------------------------------------- 2901 2902 Package Architecture Considerations 2903 2904 All packages must specify an architecture of i486. A LSB runtime environment 2905 must accept an architecture of i486 even if the native architecture is 2906 different. 2907 2908 ------------------------------------------------------------------------------- 2909 2910 Appendix A. Alphabetical Listing of Interfaces 2911 2912 ------------------------------------------------------------------------------- 2913 2914 libc 2915 2916 The behaviour of the interfaces in this library is specified by the following 2917 Standards. 2918 2919 Linux Standard Base 2920 2921 Table A-1. libc Function Interfaces 2922 2923 +--------------------------------------------------------+ 2924 |__divdi3(GLIBC_2.0)[4]|__udivdi3[4]|ioperm(GLIBC_2.0)[4]| 2925 |----------------------+------------+--------------------| 2926 |__moddi3[4] |__umoddi3[4]|iopl()[4] | 2927 +--------------------------------------------------------+ 2928 ------------------------------------------------------------------------------- 2929 2930 Appendix B. GNU Free Documentation License 2931 2932 Version 1.1, March 2000 2933 2934 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 2935 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute 2936 verbatim copies of this license document, but changing it is not allowed. 2937 2938 ------------------------------------------------------------------------------- 2939 2940 PREAMBLE 2941 2942 The purpose of this License is to make a manual, textbook, or other written 2943 document "free" in the sense of freedom: to assure everyone the effective 2944 freedom to copy and redistribute it, with or without modifying it, either 2945 commercially or noncommercially. Secondarily, this License preserves for the 2946 author and publisher a way to get credit for their work, while not being 2947 considered responsible for modifications made by others. 2948 2949 This License is a kind of "copyleft", which means that derivative works of the 2950 document must themselves be free in the same sense. It complements the GNU 2951 General Public License, which is a copyleft license designed for free software. 2952 2953 We have designed this License in order to use it for manuals for free software, 2954 because free software needs free documentation: a free program should come with 2955 manuals providing the same freedoms that the software does. But this License is 2956 not limited to software manuals; it can be used for any textual work, 2957 regardless of subject matter or whether it is published as a printed book. We 2958 recommend this License principally for works whose purpose is instruction or 2959 reference. 2960 2961 ------------------------------------------------------------------------------- 2962 2963 APPLICABILITY AND DEFINITIONS 2964 2965 This License applies to any manual or other work that contains a notice placed 2966 by the copyright holder saying it can be distributed under the terms of this 2967 License. The "Document", below, refers to any such manual or work. Any member 2968 of the public is a licensee, and is addressed as "you". 2969 2970 A "Modified Version" of the Document means any work containing the Document or 2971 a portion of it, either copied verbatim, or with modifications and/or 2972 translated into another language. 2973 2974 A "Secondary Section" is a named appendix or a front-matter section of the 2975 Document that deals exclusively with the relationship of the publishers or 2976 authors of the Document to the Document's overall subject (or to related 2977 matters) and contains nothing that could fall directly within that overall 2978 subject. (For example, if the Document is in part a textbook of mathematics, a 2979 Secondary Section may not explain any mathematics.) The relationship could be a 2980 matter of historical connection with the subject or with related matters, or of 2981 legal, commercial, philosophical, ethical or political position regarding them. 2982 2983 The "Invariant Sections" are certain Secondary Sections whose titles are 2984 designated, as being those of Invariant Sections, in the notice that says that 2985 the Document is released under this License. 2986 2987 The "Cover Texts" are certain short passages of text that are listed, as 2988 Front-Cover Texts or Back-Cover Texts, in the notice that says that the 2989 Document is released under this License. 2990 2991 A "Transparent" copy of the Document means a machine-readable copy, represented 2992 in a format whose specification is available to the general public, whose 2993 contents can be viewed and edited directly and straightforwardly with generic 2994 text editors or (for images composed of pixels) generic paint programs or (for 2995 drawings) some widely available drawing editor, and that is suitable for input 2996 to text formatters or for automatic translation to a variety of formats 2997 suitable for input to text formatters. A copy made in an otherwise Transparent 2998 file format whose markup has been designed to thwart or discourage subsequent 2999 modification by readers is not Transparent. A copy that is not "Transparent" is 3000 called "Opaque". 3001 3002 Examples of suitable formats for Transparent copies include plain ASCII without 3003 markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly 3004 available DTD, and standard-conforming simple HTML designed for human 3005 modification. Opaque formats include PostScript, PDF, proprietary formats that 3006 can be read and edited only by proprietary word processors, SGML or XML for 3007 which the DTD and/or processing tools are not generally available, and the 3008 machine-generated HTML produced by some word processors for output purposes 3009 only. 3010 3011 The "Title Page" means, for a printed book, the title page itself, plus such 3012 following pages as are needed to hold, legibly, the material this License 3013 requires to appear in the title page. For works in formats which do not have 3014 any title page as such, "Title Page" means the text near the most prominent 3015 appearance of the work's title, preceding the beginning of the body of the 3016 text. 3017 3018 ------------------------------------------------------------------------------- 3019 3020 VERBATIM COPYING 3021 3022 You may copy and distribute the Document in any medium, either commercially or 3023 noncommercially, provided that this License, the copyright notices, and the 3024 license notice saying this License applies to the Document are reproduced in 3025 all copies, and that you add no other conditions whatsoever to those of this 3026 License. You may not use technical measures to obstruct or control the reading 3027 or further copying of the copies you make or distribute. However, you may 3028 accept compensation in exchange for copies. If you distribute a large enough 3029 number of copies you must also follow the conditions in section 3. 3030 3031 You may also lend copies, under the same conditions stated above, and you may 3032 publicly display copies. 3033 3034 ------------------------------------------------------------------------------- 3035 3036 COPYING IN QUANTITY 3037 3038 If you publish printed copies of the Document numbering more than 100, and the 3039 Document's license notice requires Cover Texts, you must enclose the copies in 3040 covers that carry, clearly and legibly, all these Cover Texts: Front-Cover 3041 Texts on the front cover, and Back-Cover Texts on the back cover. Both covers 3042 must also clearly and legibly identify you as the publisher of these copies. 3043 The front cover must present the full title with all words of the title equally 3044 prominent and visible. You may add other material on the covers in addition. 3045 Copying with changes limited to the covers, as long as they preserve the title 3046 of the Document and satisfy these conditions, can be treated as verbatim 3047 copying in other respects. 3048 3049 If the required texts for either cover are too voluminous to fit legibly, you 3050 should put the first ones listed (as many as fit reasonably) on the actual 3051 cover, and continue the rest onto adjacent pages. 3052 3053 If you publish or distribute Opaque copies of the Document numbering more than 3054 100, you must either include a machine-readable Transparent copy along with 3055 each Opaque copy, or state in or with each Opaque copy a publicly-accessible 3056 computer-network location containing a complete Transparent copy of the 3057 Document, free of added material, which the general network-using public has 3058 access to download anonymously at no charge using public-standard network 3059 protocols. If you use the latter option, you must take reasonably prudent 3060 steps, when you begin distribution of Opaque copies in quantity, to ensure that 3061 this Transparent copy will remain thus accessible at the stated location until 3062 at least one year after the last time you distribute an Opaque copy (directly 3063 or through your agents or retailers) of that edition to the public. 3064 3065 It is requested, but not required, that you contact the authors of the Document 3066 well before redistributing any large number of copies, to give them a chance to 3067 provide you with an updated version of the Document. 3068 3069 ------------------------------------------------------------------------------- 3070 3071 MODIFICATIONS 3072 3073 You may copy and distribute a Modified Version of the Document under the 3074 conditions of sections 2 and 3 above, provided that you release the Modified 3075 Version under precisely this License, with the Modified Version filling the 3076 role of the Document, thus licensing distribution and modification of the 3077 Modified Version to whoever possesses a copy of it. In addition, you must do 3078 these things in the Modified Version: 3079 3080 A. Use in the Title Page (and on the covers, if any) a title distinct from 3081 that of the Document, and from those of previous versions (which should, if 3082 there were any, be listed in the History section of the Document). You may 3083 use the same title as a previous version if the original publisher of that 3084 version gives permission. 3085 3086 B. List on the Title Page, as authors, one or more persons or entities 3087 responsible for authorship of the modifications in the Modified Version, 3088 together with at least five of the principal authors of the Document (all 3089 of its principal authors, if it has less than five). 3090 3091 C. State on the Title page the name of the publisher of the Modified Version, 3092 as the publisher. 3093 3094 D. Preserve all the copyright notices of the Document. 3095 3096 E. Add an appropriate copyright notice for your modifications adjacent to the 3097 other copyright notices. 3098 3099 F. Include, immediately after the copyright notices, a license notice giving 3100 the public permission to use the Modified Version under the terms of this 3101 License, in the form shown in the Addendum below. 3102 3103 G. Preserve in that license notice the full lists of Invariant Sections and 3104 required Cover Texts given in the Document's license notice. 3105 3106 H. Include an unaltered copy of this License. 3107 3108 I. Preserve the section entitled "History", and its title, and add to it an 3109 item stating at least the title, year, new authors, and publisher of the 3110 Modified Version as given on the Title Page. If there is no section 3111 entitled "History" in the Document, create one stating the title, year, 3112 authors, and publisher of the Document as given on its Title Page, then add 3113 an item describing the Modified Version as stated in the previous sentence. 3114 3115 J. Preserve the network location, if any, given in the Document for public 3116 access to a Transparent copy of the Document, and likewise the network 3117 locations given in the Document for previous versions it was based on. 3118 These may be placed in the "History" section. You may omit a network 3119 location for a work that was published at least four years before the 3120 Document itself, or if the original publisher of the version it refers to 3121 gives permission. 3122 3123 K. In any section entitled "Acknowledgements" or "Dedications", preserve the 3124 section's title, and preserve in the section all the substance and tone of 3125 each of the contributor acknowledgements and/or dedications given therein. 3126 3127 L. Preserve all the Invariant Sections of the Document, unaltered in their 3128 text and in their titles. Section numbers or the equivalent are not 3129 considered part of the section titles. 3130 3131 M. Delete any section entitled "Endorsements". Such a section may not be 3132 included in the Modified Version. 3133 3134 N. Do not retitle any existing section as "Endorsements" or to conflict in 3135 title with any Invariant Section. 3136 3137 If the Modified Version includes new front-matter sections or appendices that 3138 qualify as Secondary Sections and contain no material copied from the Document, 3139 you may at your option designate some or all of these sections as invariant. To 3140 do this, add their titles to the list of Invariant Sections in the Modified 3141 Version's license notice. These titles must be distinct from any other section 3142 titles. 3143 3144 You may add a section entitled "Endorsements", provided it contains nothing but 3145 endorsements of your Modified Version by various parties--for example, 3146 statements of peer review or that the text has been approved by an organization 3147 as the authoritative definition of a standard. 3148 3149 You may add a passage of up to five words as a Front-Cover Text, and a passage 3150 of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts 3151 in the Modified Version. Only one passage of Front-Cover Text and one of 3152 Back-Cover Text may be added by (or through arrangements made by) any one 3153 entity. If the Document already includes a cover text for the same cover, 3154 previously added by you or by arrangement made by the same entity you are 3155 acting on behalf of, you may not add another; but you may replace the old one, 3156 on explicit permission from the previous publisher that added the old one. 3157 3158 The author(s) and publisher(s) of the Document do not by this License give 3159 permission to use their names for publicity for or to assert or imply 3160 endorsement of any Modified Version. 3161 3162 ------------------------------------------------------------------------------- 3163 3164 COMBINING DOCUMENTS 3165 3166 You may combine the Document with other documents released under this License, 3167 under the terms defined in section 4 above for modified versions, provided that 3168 you include in the combination all of the Invariant Sections of all of the 3169 original documents, unmodified, and list them all as Invariant Sections of your 3170 combined work in its license notice. 3171 3172 The combined work need only contain one copy of this License, and multiple 3173 identical Invariant Sections may be replaced with a single copy. If there are 3174 multiple Invariant Sections with the same name but different contents, make the 3175 title of each such section unique by adding at the end of it, in parentheses, 3176 the name of the original author or publisher of that section if known, or else 3177 a unique number. Make the same adjustment to the section titles in the list of 3178 Invariant Sections in the license notice of the combined work. 3179 3180 In the combination, you must combine any sections entitled "History" in the 3181 various original documents, forming one section entitled "History"; likewise 3182 combine any sections entitled "Acknowledgements", and any sections entitled 3183 "Dedications". You must delete all sections entitled "Endorsements." 3184 3185 ------------------------------------------------------------------------------- 3186 3187 COLLECTIONS OF DOCUMENTS 3188 3189 You may make a collection consisting of the Document and other documents 3190 released under this License, and replace the individual copies of this License 3191 in the various documents with a single copy that is included in the collection, 3192 provided that you follow the rules of this License for verbatim copying of each 3193 of the documents in all other respects. 3194 3195 You may extract a single document from such a collection, and distribute it 3196 individually under this License, provided you insert a copy of this License 3197 into the extracted document, and follow this License in all other respects 3198 regarding verbatim copying of that document. 3199 3200 ------------------------------------------------------------------------------- 3201 3202 AGGREGATION WITH INDEPENDENT WORKS 3203 3204 A compilation of the Document or its derivatives with other separate and 3205 independent documents or works, in or on a volume of a storage or distribution 3206 medium, does not as a whole count as a Modified Version of the Document, 3207 provided no compilation copyright is claimed for the compilation. Such a 3208 compilation is called an "aggregate", and this License does not apply to the 3209 other self-contained works thus compiled with the Document, on account of their 3210 being thus compiled, if they are not themselves derivative works of the 3211 Document. 3212 3213 If the Cover Text requirement of section 3 is applicable to these copies of the 3214 Document, then if the Document is less than one quarter of the entire 3215 aggregate, the Document's Cover Texts may be placed on covers that surround 3216 only the Document within the aggregate. Otherwise they must appear on covers 3217 around the whole aggregate. 3218 3219 ------------------------------------------------------------------------------- 3220 3221 TRANSLATION 3222 3223 Translation is considered a kind of modification, so you may distribute 3224 translations of the Document under the terms of section 4. Replacing Invariant 3225 Sections with translations requires special permission from their copyright 3226 holders, but you may include translations of some or all Invariant Sections in 3227 addition to the original versions of these Invariant Sections. You may include 3228 a translation of this License provided that you also include the original 3229 English version of this License. In case of a disagreement between the 3230 translation and the original English version of this License, the original 3231 English version will prevail. 3232 3233 ------------------------------------------------------------------------------- 3234 3235 TERMINATION 3236 3237 You may not copy, modify, sublicense, or distribute the Document except as 3238 expressly provided for under this License. Any other attempt to copy, modify, 3239 sublicense or distribute the Document is void, and will automatically terminate 3240 your rights under this License. However, parties who have received copies, or 3241 rights, from you under this License will not have their licenses terminated so 3242 long as such parties remain in full compliance. 3243 3244 ------------------------------------------------------------------------------- 3245 3246 FUTURE REVISIONS OF THIS LICENSE 3247 3248 The Free Software Foundation may publish new, revised versions of the GNU Free 3249 Documentation License from time to time. Such new versions will be similar in 3250 spirit to the present version, but may differ in detail to address new problems 3251 or concerns. See http://www.gnu.org/copyleft/. 3252 3253 Each version of the License is given a distinguishing version number. If the 3254 Document specifies that a particular numbered version of this License "or any 3255 later version" applies to it, you have the option of following the terms and 3256 conditions either of that specified version or of any later version that has 3257 been published (not as a draft) by the Free Software Foundation. If the 3258 Document does not specify a version number of this License, you may choose any 3259 version ever published (not as a draft) by the Free Software Foundation. 3260 3261 ------------------------------------------------------------------------------- 3262 3263 How to use this License for your documents 3264 3265 To use this License in a document you have written, include a copy of the 3266 License in the document and put the following copyright and license notices 3267 just after the title page: 3268 3269 Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and 3270 /or modify this document under the terms of the GNU Free Documentation 3271 License, Version 1.1 or any later version published by the Free Software 3272 Foundation; with the Invariant Sections being LIST THEIR TITLES, with the 3273 Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A 3274 copy of the license is included in the section entitled "GNU Free 3275 Documentation License". 3276 3277 If you have no Invariant Sections, write "with no Invariant Sections" instead 3278 of saying which ones are invariant. If you have no Front-Cover Texts, write "no 3279 Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for 3280 Back-Cover Texts. 3281 3282 If your document contains nontrivial examples of program code, we recommend 3283 releasing these examples in parallel under your choice of free software 3284 license, such as the GNU General Public License, to permit their use in free 3285 software. 3286 3287 Notes 3288 3289 [1] ISO/IEC 9899: 1999, Programming Languages --C 3290 3291 [2] Large File Support 3292 3293 [3] LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4 3294 3295 [4] Linux Standard Base 3296 3297 [5] IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996] 3298 3299 [6] CAE Specification, February 1997, Networking Services (XNS), Issue 5 3300 (ISBN: 1-85912-165-9, C523) 3301 3302 [7] CAE Specification, January 1997, System Interfaces and Headers (XSH), 3303 Issue 5 (ISBN: 1-85912-181-0, C606) 3304 3305 [8] System V Interface Definition, Issue 3 (ISBN 0201566524) 3306 3307 [9] System V Interface Definition,Fourth Edition 3308 3309 [10] ISO/IEC 9899: 1999, Programming Languages --C 3310 3311 [11] CAE Specification, January 1997, System Interfaces and Headers (XSH), 3312 Issue 5 (ISBN: 1-85912-181-0, C606) 3313 3314 [12] Linux Standard Base 3315 3316 [13] CAE Specification, January 1997, System Interfaces and Headers (XSH), 3317 Issue 5 (ISBN: 1-85912-181-0, C606) 3318