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