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