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