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