1 Linux Standard Base Core Specification for IA32 3.2 2 3 Copyright © 2007 Linux Foundation 4 5 Permission is granted to copy, distribute and/or modify this 6 document under the terms of the GNU Free Documentation License, 7 Version 1.1; with no Invariant Sections, with no Front-Cover 8 Texts, and with no Back-Cover Texts. A copy of the license is 9 included in the section entitled "GNU Free Documentation 10 License". 11 12 Portions of the text may be copyrighted by the following 13 parties: 14 15 * The Regents of the University of California 16 * Free Software Foundation 17 * Ian F. Darwin 18 * Paul Vixie 19 * BSDI (now Wind River) 20 * Andrew G Morgan 21 * Jean-loup Gailly and Mark Adler 22 * Massachusetts Institute of Technology 23 * Apple Inc. 24 * Easy Software Products 25 * artofcode LLC 26 * Till Kamppeter 27 * Manfred Wassman 28 * Python Software Foundation 29 30 These excerpts are being used in accordance with their 31 respective licenses. 32 33 Linux is the registered trademark of Linus Torvalds in the U.S. 34 and other countries. 35 36 UNIX is a registered trademark of The Open Group. 37 38 LSB is a trademark of the Linux Foundation in the United States 39 and other countries. 40 41 AMD is a trademark of Advanced Micro Devices, Inc. 42 43 Intel and Itanium are registered trademarks and Intel386 is a 44 trademark of Intel Corporation. 45 46 PowerPC is a registered trademark and PowerPC Architecture is a 47 trademark of the IBM Corporation. 48 49 S/390 is a registered trademark of the IBM Corporation. 50 51 OpenGL is a registered trademark of Silicon Graphics, Inc. 52 __________________________________________________________ 53 54 Table of Contents 55 Foreword 56 Introduction 57 I. Introductory Elements 58 59 1. Scope 60 61 1.1. General 62 1.2. Module Specific Scope 63 64 2. References 65 66 2.1. Normative References 67 2.2. Informative References/Bibliography 68 69 3. Requirements 70 71 3.1. Relevant Libraries 72 3.2. LSB Implementation Conformance 73 3.3. LSB Application Conformance 74 75 4. Definitions 76 5. Terminology 77 6. Documentation Conventions 78 79 II. Executable and Linking Format (ELF) 80 81 7. Introduction 82 8. Low Level System Information 83 84 8.1. Machine Interface 85 8.2. Function Calling Sequence 86 8.3. Operating System Interface 87 8.4. Process Initialization 88 8.5. Coding Examples 89 8.6. C Stack Frame 90 8.7. Debug Information 91 92 9. Object Format 93 94 9.1. Introduction 95 9.2. ELF Header 96 9.3. Special Sections 97 9.4. Symbol Table 98 9.5. Relocation 99 100 10. Program Loading and Dynamic Linking 101 102 10.1. Introduction 103 10.2. Program Header 104 10.3. Program Loading 105 10.4. Dynamic Linking 106 107 III. Base Libraries 108 109 11. Libraries 110 111 11.1. Program Interpreter/Dynamic Linker 112 11.2. Interfaces for libc 113 11.3. Data Definitions for libc 114 11.4. Interfaces for libm 115 11.5. Data Definitions for libm 116 11.6. Interface Definitions for libm 117 11.7. Interfaces for libpthread 118 11.8. Data Definitions for libpthread 119 11.9. Interfaces for libgcc_s 120 11.10. Data Definitions for libgcc_s 121 11.11. Interface Definitions for libgcc_s 122 11.12. Interfaces for libdl 123 11.13. Data Definitions for libdl 124 11.14. Interfaces for libcrypt 125 126 IV. Utility Libraries 127 128 12. Libraries 129 130 12.1. Interfaces for libz 131 12.2. Data Definitions for libz 132 12.3. Interfaces for libncurses 133 12.4. Data Definitions for libncurses 134 12.5. Interfaces for libutil 135 136 V. Package Format and Installation 137 138 13. Software Installation 139 140 13.1. Package Dependencies 141 13.2. Package Architecture Considerations 142 143 A. Alphabetical Listing of Interfaces 144 145 A.1. libc 146 A.2. libcrypt 147 A.3. libdl 148 A.4. libgcc_s 149 A.5. libm 150 A.6. libpthread 151 A.7. librt 152 A.8. libutil 153 154 B. GNU Free Documentation License (Informative) 155 156 B.1. PREAMBLE 157 B.2. APPLICABILITY AND DEFINITIONS 158 B.3. VERBATIM COPYING 159 B.4. COPYING IN QUANTITY 160 B.5. MODIFICATIONS 161 B.6. COMBINING DOCUMENTS 162 B.7. COLLECTIONS OF DOCUMENTS 163 B.8. AGGREGATION WITH INDEPENDENT WORKS 164 B.9. TRANSLATION 165 B.10. TERMINATION 166 B.11. FUTURE REVISIONS OF THIS LICENSE 167 B.12. How to use this License for your documents 168 169 List of Tables 170 2-1. Normative References 171 2-2. Other References 172 3-1. Standard Library Names 173 8-1. Scalar Types 174 9-1. ELF Special Sections 175 9-2. Additional Special Sections 176 11-1. libc Definition 177 11-2. libc - RPC Function Interfaces 178 11-3. libc - System Calls Function Interfaces 179 11-4. libc - System Calls Deprecated Function Interfaces 180 11-5. libc - Standard I/O Function Interfaces 181 11-6. libc - Standard I/O Data Interfaces 182 11-7. libc - Signal Handling Function Interfaces 183 11-8. libc - Signal Handling Deprecated Function Interfaces 184 11-9. libc - Signal Handling Data Interfaces 185 11-10. libc - Localization Functions Function Interfaces 186 11-11. libc - Localization Functions Data Interfaces 187 11-12. libc - Posix Spawn Option Function Interfaces 188 11-13. libc - Posix Advisory Option Function Interfaces 189 11-14. libc - Socket Interface Function Interfaces 190 11-15. libc - Socket Interface Data Interfaces 191 11-16. libc - Wide Characters Function Interfaces 192 11-17. libc - String Functions Function Interfaces 193 11-18. libc - String Functions Deprecated Function Interfaces 194 11-19. libc - IPC Functions Function Interfaces 195 11-20. libc - Regular Expressions Function Interfaces 196 11-21. libc - Character Type Functions Function Interfaces 197 11-22. libc - Time Manipulation Function Interfaces 198 11-23. libc - Time Manipulation Data Interfaces 199 11-24. libc - Terminal Interface Functions Function Interfaces 200 11-25. libc - System Database Interface Function Interfaces 201 11-26. libc - System Database Interface Deprecated Function 202 Interfaces 203 204 11-27. libc - Language Support Function Interfaces 205 11-28. libc - Large File Support Function Interfaces 206 11-29. libc - Large File Support Deprecated Function Interfaces 207 11-30. libc - Standard Library Function Interfaces 208 11-31. libc - Standard Library Deprecated Function Interfaces 209 11-32. libc - Standard Library Data Interfaces 210 11-33. libm Definition 211 11-34. libm - Math Function Interfaces 212 11-35. libm - Math Deprecated Function Interfaces 213 11-36. libm - Math Data Interfaces 214 11-37. libpthread Definition 215 11-38. libpthread - Realtime Threads Function Interfaces 216 11-39. libpthread - Advanced Realtime Threads Function 217 Interfaces 218 219 11-40. libpthread - Posix Threads Function Interfaces 220 11-41. libpthread - Posix Threads Deprecated Function 221 Interfaces 222 223 11-42. libpthread - Thread aware versions of libc interfaces 224 Function Interfaces 225 226 11-43. libgcc_s Definition 227 11-44. libgcc_s - Unwind Library Function Interfaces 228 11-45. libdl Definition 229 11-46. libdl - Dynamic Loader Function Interfaces 230 11-47. libcrypt Definition 231 11-48. libcrypt - Encryption Function Interfaces 232 12-1. libz Definition 233 12-2. libncurses Definition 234 12-3. libutil Definition 235 12-4. libutil - Utility Functions Function Interfaces 236 A-1. libc Function Interfaces 237 A-2. libc Data Interfaces 238 A-3. libcrypt Function Interfaces 239 A-4. libdl Function Interfaces 240 A-5. libgcc_s Function Interfaces 241 A-6. libm Function Interfaces 242 A-7. libm Data Interfaces 243 A-8. libpthread Function Interfaces 244 A-9. librt Function Interfaces 245 A-10. libutil Function Interfaces 246 __________________________________________________________ 247 248 Foreword 249 250 This is version 3.2 of the Linux Standard Base Core 251 Specification for IA32. This specification is part of a family 252 of specifications under the general title "Linux Standard 253 Base". Developers of applications or implementations interested 254 in using the LSB trademark should see the Linux Foundation 255 Certification Policy for details. 256 __________________________________________________________ 257 258 Introduction 259 260 The LSB defines a binary interface for application programs 261 that are compiled and packaged for LSB-conforming 262 implementations on many different hardware architectures. Since 263 a binary specification shall include information specific to 264 the computer processor architecture for which it is intended, 265 it is not possible for a single document to specify the 266 interface for all possible LSB-conforming implementations. 267 Therefore, the LSB is a family of specifications, rather than a 268 single one. 269 270 This document should be used in conjunction with the documents 271 it references. This document enumerates the system components 272 it includes, but descriptions of those components may be 273 included entirely or partly in this document, partly in other 274 documents, or entirely in other reference documents. For 275 example, the section that describes system service routines 276 includes a list of the system routines supported in this 277 interface, formal declarations of the data structures they use 278 that are visible to applications, and a pointer to the 279 underlying referenced specification for information about the 280 syntax and semantics of each call. Only those routines not 281 described in standards referenced by this document, or 282 extensions to those standards, are described in the detail. 283 Information referenced in this way is as much a part of this 284 document as is the information explicitly included here. 285 286 The specification carries a version number of either the form 287 x.y or x.y.z. This version number carries the following 288 meaning: 289 290 * The first number (x) is the major version number. All 291 versions with the same major version number should share 292 binary compatibility. Any addition or deletion of a new 293 library results in a new version number. Interfaces marked 294 as deprecated may be removed from the specification at a 295 major version change. 296 * The second number (y) is the minor version number. 297 Individual interfaces may be added if all certified 298 implementations already had that (previously undocumented) 299 interface. Interfaces may be marked as deprecated at a 300 minor version change. Other minor changes may be permitted 301 at the discretion of the LSB workgroup. 302 * The third number (z), if present, is the editorial level. 303 Only editorial changes should be included in such versions. 304 305 Since this specification is a descriptive Application Binary 306 Interface, and not a source level API specification, it is not 307 possible to make a guarantee of 100% backward compatibility 308 between major releases. However, it is the intent that those 309 parts of the binary interface that are visible in the source 310 level API will remain backward compatible from version to 311 version, except where a feature marked as "Deprecated" in one 312 release may be removed from a future release. 313 314 Implementors are strongly encouraged to make use of symbol 315 versioning to permit simultaneous support of applications 316 conforming to different releases of this specification. 317 318 I. Introductory Elements 319 320 Table of Contents 321 1. Scope 322 323 1.1. General 324 1.2. Module Specific Scope 325 326 2. References 327 328 2.1. Normative References 329 2.2. Informative References/Bibliography 330 331 3. Requirements 332 333 3.1. Relevant Libraries 334 3.2. LSB Implementation Conformance 335 3.3. LSB Application Conformance 336 337 4. Definitions 338 5. Terminology 339 6. Documentation Conventions 340 __________________________________________________________ 341 342 Chapter 1. Scope 343 344 1.1. General 345 346 The Linux Standard Base (LSB) defines a system interface for 347 compiled applications and a minimal environment for support of 348 installation scripts. Its purpose is to enable a uniform 349 industry standard environment for high-volume applications 350 conforming to the LSB. 351 352 These specifications are composed of two basic parts: A common 353 specification ("LSB-generic" or "generic LSB"), ISO/IEC 23360 354 Part 1, describing those parts of the interface that remain 355 constant across all implementations of the LSB, and an 356 architecture-specific part ("LSB-arch" or "archLSB") describing 357 the parts of the interface that vary by processor architecture. 358 Together, the LSB-generic and the relevant 359 architecture-specific part of ISO/IEC 23360 for a single 360 hardware architecture provide a complete interface 361 specification for compiled application programs on systems that 362 share a common hardware architecture. 363 364 ISO/IEC 23360 Part 1, the LSB-generic document, should be used 365 in conjunction with an architecture-specific part. Whenever a 366 section of the LSB-generic specification is supplemented by 367 architecture-specific information, the LSB-generic document 368 includes a reference to the architecture part. 369 Architecture-specific parts of ISO/IEC 23360 may also contain 370 additional information that is not referenced in the 371 LSB-generic document. 372 373 The LSB contains both a set of Application Program Interfaces 374 (APIs) and Application Binary Interfaces (ABIs). APIs may 375 appear in the source code of portable applications, while the 376 compiled binary of that application may use the larger set of 377 ABIs. A conforming implementation provides all of the ABIs 378 listed here. The compilation system may replace (e.g. by macro 379 definition) certain APIs with calls to one or more of the 380 underlying binary interfaces, and may insert calls to binary 381 interfaces as needed. 382 383 The LSB is primarily a binary interface definition. Not all of 384 the source level APIs available to applications may be 385 contained in this specification. 386 __________________________________________________________ 387 388 1.2. Module Specific Scope 389 390 This is the IA32 architecture specific Core part of the Linux 391 Standard Base (LSB). This part supplements the generic LSB Core 392 module with those interfaces that differ between architectures. 393 394 Interfaces described in this part of ISO/IEC 23360 are 395 mandatory except where explicitly listed otherwise. Core 396 interfaces may be supplemented by other modules; all modules 397 are built upon the core. 398 __________________________________________________________ 399 400 Chapter 2. References 401 402 2.1. Normative References 403 404 The following referenced documents are indispensable for the 405 application of this document. For dated references, only the 406 edition cited applies. For undated references, the latest 407 edition of the referenced document (including any amendments) 408 applies. 409 410 Note: Where copies of a document are available on the World 411 Wide Web, a Uniform Resource Locator (URL) is given for 412 informative purposes only. This may point to a more recent 413 copy of the referenced specification, or may be out of date. 414 Reference copies of specifications at the revision level 415 indicated may be found at the Linux Foundation's Reference 416 Specifications site. 417 418 Table 2-1. Normative References 419 Name Title URL 420 ISO/IEC 23360 Part 1 ISO/IEC 23360:2005 Linux Standard Base - 421 Part 1 Generic Specification http://www.linuxbase.org/spec/ 422 Filesystem Hierarchy Standard Filesystem Hierarchy Standard 423 (FHS) 2.3 http://www.pathname.com/fhs/ 424 Intel® Architecture Software Developer's Manual Volume 1 The 425 IA-32 Intel® Architecture Software Developer's Manual Volume 1: 426 Basic Architecture 427 http://developer.intel.com/design/pentium4/manuals/245470.htm 428 Intel® Architecture Software Developer's Manual Volume 2 The 429 IA-32 Intel® Architecture Software Developer's Manual Volume 2: 430 Instruction Set Reference 431 http://developer.intel.com/design/pentium4/manuals/245471.htm 432 Intel® Architecture Software Developer's Manual Volume 3 The 433 IA-32 Intel® Architecture Software Developer's Manual Volume 3: 434 System Programming Guide 435 http://developer.intel.com/design/pentium4/manuals/245472.htm 436 ISO C (1999) ISO/IEC 9899: 1999, Programming Languages --C 437 ISO POSIX (2003) 438 439 ISO/IEC 9945-1:2003 Information technology -- Portable 440 Operating System Interface (POSIX) -- Part 1: Base Definitions 441 442 ISO/IEC 9945-2:2003 Information technology -- Portable 443 Operating System Interface (POSIX) -- Part 2: System Interfaces 444 445 ISO/IEC 9945-3:2003 Information technology -- Portable 446 Operating System Interface (POSIX) -- Part 3: Shell and 447 Utilities 448 449 ISO/IEC 9945-4:2003 Information technology -- Portable 450 Operating System Interface (POSIX) -- Part 4: Rationale 451 452 Including Technical Cor. 1: 2004 453 http://www.unix.org/version3/ 454 Large File Support Large File Support 455 http://www.UNIX-systems.org/version2/whatsnew/lfs20mar.html 456 SUSv2 CAE Specification, January 1997, System Interfaces and 457 Headers (XSH),Issue 5 (ISBN: 1-85912-181-0, C606) 458 http://www.opengroup.org/publications/catalog/un.htm 459 SVID Issue 3 American Telephone and Telegraph Company, System V 460 Interface Definition, Issue 3; Morristown, NJ, UNIX Press, 461 1989. (ISBN 0201566524) 462 SVID Issue 4 System V Interface Definition, Fourth Edition 463 System V ABI System V Application Binary Interface, Edition 4.1 464 http://www.caldera.com/developers/devspecs/gabi41.pdf 465 System V ABI Update System V Application Binary Interface - 466 DRAFT - 17 December 2003 467 http://www.caldera.com/developers/gabi/2003-12-17/contents.html 468 System V ABI, IA32 Supplement System V Application Binary 469 Interface - Intel386 Architecture Processor Supplement, Fourth 470 Edition http://www.caldera.com/developers/devspecs/abi386-4.pdf 471 X/Open Curses CAE Specification, May 1996, X/Open Curses, Issue 472 4, Version 2 (ISBN: 1-85912-171-3, C610), plus Corrigendum U018 473 http://www.opengroup.org/publications/catalog/un.htm 474 __________________________________________________________ 475 476 2.2. Informative References/Bibliography 477 478 In addition, the specifications listed below provide essential 479 background information to implementors of this specification. 480 These references are included for information only. 481 482 Table 2-2. Other References 483 Name Title URL 484 DWARF Debugging Information Format, Revision 2.0.0 DWARF 485 Debugging Information Format, Revision 2.0.0 (July 27, 1993) 486 http://refspecs.linux-foundation.org/dwarf/dwarf-2.0.0.pdf 487 DWARF Debugging Information Format, Revision 3.0.0 (Draft) 488 DWARF Debugging Information Format, Revision 3.0.0 (Draft) 489 http://refspecs.linux-foundation.org/dwarf 490 IEC 60559/IEEE 754 Floating Point IEC 60559:1989 Binary 491 floating-point arithmetic for microprocessor systems 492 http://www.ieee.org/ 493 ISO/IEC TR14652 ISO/IEC Technical Report 14652:2002 494 Specification method for cultural conventions 495 ITU-T V.42 International Telecommunication Union Recommendation 496 V.42 (2002): Error-correcting procedures for DCEs using 497 asynchronous-to-synchronous conversionITUV 498 http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&p 499 arent=T-REC-V.42 500 Li18nux Globalization Specification LI18NUX 2000 Globalization 501 Specification, Version 1.0 with Amendment 4 502 http://www.openi18n.org/docs/html/LI18NUX-2000-amd4.htm 503 Linux Allocated Device Registry LINUX ALLOCATED DEVICES 504 http://www.lanana.org/docs/device-list/devices.txt 505 PAM Open Software Foundation, Request For Comments: 86.0 , 506 October 1995, V. Samar & R.Schemers (SunSoft) 507 http://www.opengroup.org/tech/rfc/mirror-rfc/rfc86.0.txt 508 RFC 1321: The MD5 Message-Digest Algorithm IETF RFC 1321: The 509 MD5 Message-Digest Algorithm 510 http://www.ietf.org/rfc/rfc1321.txt 511 RFC 1831/1832 RPC & XDR IETF RFC 1831 & 1832 512 http://www.ietf.org/ 513 RFC 1833: Binding Protocols for ONC RPC Version 2 IETF RFC 514 1833: Binding Protocols for ONC RPC Version 2 515 http://www.ietf.org/rfc/rfc1833.txt 516 RFC 1950: ZLIB Compressed Data Format Specication IETF RFC 517 1950: ZLIB Compressed Data Format Specification 518 http://www.ietf.org/rfc/rfc1950.txt 519 RFC 1951: DEFLATE Compressed Data Format Specification IETF RFC 520 1951: DEFLATE Compressed Data Format Specification version 1.3 521 http://www.ietf.org/rfc/rfc1951.txt 522 RFC 1952: GZIP File Format Specification IETF RFC 1952: GZIP 523 file format specification version 4.3 524 http://www.ietf.org/rfc/rfc1952.txt 525 RFC 2440: OpenPGP Message Format IETF RFC 2440: OpenPGP Message 526 Format http://www.ietf.org/rfc/rfc2440.txt 527 RFC 2821:Simple Mail Transfer Protocol IETF RFC 2821: Simple 528 Mail Transfer Protocol http://www.ietf.org/rfc/rfc2821.txt 529 RFC 2822:Internet Message Format IETF RFC 2822: Internet 530 Message Format http://www.ietf.org/rfc/rfc2822.txt 531 RFC 791:Internet Protocol IETF RFC 791: Internet Protocol 532 Specification http://www.ietf.org/rfc/rfc791.txt 533 RPM Package Format RPM Package Format V3.0 534 http://www.rpm.org/max-rpm/s1-rpm-file-format-rpm-file-format.h 535 tml 536 SUSv2 Commands and Utilities The Single UNIX Specification(SUS) 537 Version 2, Commands and Utilities (XCU), Issue 5 (ISBN: 538 1-85912-191-8, C604) 539 http://www.opengroup.org/publications/catalog/un.htm 540 zlib Manual zlib 1.2 Manual http://www.gzip.org/zlib/ 541 __________________________________________________________ 542 543 Chapter 3. Requirements 544 545 3.1. Relevant Libraries 546 547 The libraries listed in Table 3-1 shall be available on IA32 548 Linux Standard Base systems, with the specified runtime names. 549 These names override or supplement the names specified in the 550 generic LSB (ISO/IEC 23360 Part 1) specification. The specified 551 program interpreter, referred to as proginterp in this table, 552 shall be used to load the shared libraries specified by 553 DT_NEEDED entries at run time. 554 555 Table 3-1. Standard Library Names 556 Library Runtime Name 557 libm libm.so.6 558 libdl libdl.so.2 559 libcrypt libcrypt.so.1 560 libz libz.so.1 561 libncurses libncurses.so.5 562 libutil libutil.so.1 563 libc libc.so.6 564 libpthread libpthread.so.0 565 proginterp /lib/ld-lsb.so.3 566 libgcc_s libgcc_s.so.1 567 568 These libraries will be in an implementation-defined directory 569 which the dynamic linker shall search by default. 570 __________________________________________________________ 571 572 3.2. LSB Implementation Conformance 573 574 A conforming implementation is necessarily architecture 575 specific, and must provide the interfaces specified by both the 576 generic LSB Core specification (ISO/IEC 23360 Part 1) and the 577 relevant architecture specific part of ISO/IEC 23360. 578 579 Rationale: An implementation must provide at least the 580 interfaces specified in these specifications. It may also 581 provide additional interfaces. 582 583 A conforming implementation shall satisfy the following 584 requirements: 585 586 * A processor architecture represents a family of related 587 processors which may not have identical feature sets. The 588 architecture specific parts of ISO/IEC 23360 that 589 supplement this specification for a given target processor 590 architecture describe a minimum acceptable processor. The 591 implementation shall provide all features of this 592 processor, whether in hardware or through emulation 593 transparent to the application. 594 * The implementation shall be capable of executing compiled 595 applications having the format and using the system 596 interfaces described in this document. 597 * The implementation shall provide libraries containing the 598 interfaces specified by this document, and shall provide a 599 dynamic linking mechanism that allows these interfaces to 600 be attached to applications at runtime. All the interfaces 601 shall behave as specified in this document. 602 * The map of virtual memory provided by the implementation 603 shall conform to the requirements of this document. 604 * The implementation's low-level behavior with respect to 605 function call linkage, system traps, signals, and other 606 such activities shall conform to the formats described in 607 this document. 608 * The implementation shall provide all of the mandatory 609 interfaces in their entirety. 610 * The implementation may provide one or more of the optional 611 interfaces. Each optional interface that is provided shall 612 be provided in its entirety. The product documentation 613 shall state which optional interfaces are provided. 614 * The implementation shall provide all files and utilities 615 specified as part of this document in the format defined 616 here and in other referenced documents. All commands and 617 utilities shall behave as required by this document. The 618 implementation shall also provide all mandatory components 619 of an application's runtime environment that are included 620 or referenced in this document. 621 * The implementation, when provided with standard data 622 formats and values at a named interface, shall provide the 623 behavior defined for those values and data formats at that 624 interface. However, a conforming implementation may consist 625 of components which are separately packaged and/or sold. 626 For example, a vendor of a conforming implementation might 627 sell the hardware, operating system, and windowing system 628 as separately packaged items. 629 * The implementation may provide additional interfaces with 630 different names. It may also provide additional behavior 631 corresponding to data values outside the standard ranges, 632 for standard named interfaces. 633 __________________________________________________________ 634 635 3.3. LSB Application Conformance 636 637 A conforming application is necessarily architecture specific, 638 and must conform to both the generic LSB Core specification 639 (ISO/IEC 23360 Part 1)and the relevant architecture specific 640 part of ISO/IEC 23360. 641 642 A conforming application shall satisfy the following 643 requirements: 644 645 * Its executable files shall be either shell scripts or 646 object files in the format defined for the Object File 647 Format system interface. 648 * Its object files shall participate in dynamic linking as 649 defined in the Program Loading and Linking System 650 interface. 651 * It shall employ only the instructions, traps, and other 652 low-level facilities defined in the Low-Level System 653 interface as being for use by applications. 654 * If it requires any optional interface defined in this 655 document in order to be installed or to execute 656 successfully, the requirement for that optional interface 657 shall be stated in the application's documentation. 658 * It shall not use any interface or data format that is not 659 required to be provided by a conforming implementation, 660 unless: 661 + If such an interface or data format is supplied by 662 another application through direct invocation of that 663 application during execution, that application shall 664 be in turn an LSB conforming application. 665 + The use of that interface or data format, as well as 666 its source, shall be identified in the documentation 667 of the application. 668 * It shall not use any values for a named interface that are 669 reserved for vendor extensions. 670 671 A strictly conforming application shall not require or use any 672 interface, facility, or implementation-defined extension that 673 is not defined in this document in order to be installed or to 674 execute successfully. 675 __________________________________________________________ 676 677 Chapter 4. Definitions 678 679 For the purposes of this document, the following definitions, 680 as specified in the ISO/IEC Directives, Part 2, 2001, 4th 681 Edition, apply: 682 683 can 684 685 be able to; there is a possibility of; it is possible to 686 cannot 687 688 be unable to; there is no possibilty of; it is not possible to 689 may 690 691 is permitted; is allowed; is permissible 692 need not 693 694 it is not required that; no...is required 695 shall 696 697 is to; is required to; it is required that; has to; only...is 698 permitted; it is necessary 699 shall not 700 701 is not allowed [permitted] [acceptable] [permissible]; is 702 required to be not; is required that...be not; is not to be 703 should 704 705 it is recommended that; ought to 706 should not 707 708 it is not recommended that; ought not to 709 __________________________________________________________ 710 711 Chapter 5. Terminology 712 713 For the purposes of this document, the following terms apply: 714 715 archLSB 716 The architectural part of the LSB Specification which 717 describes the specific parts of the interface that are 718 platform specific. The archLSB is complementary to the 719 gLSB. 720 721 Binary Standard 722 The total set of interfaces that are available to be 723 used in the compiled binary code of a conforming 724 application. 725 726 gLSB 727 The common part of the LSB Specification that describes 728 those parts of the interface that remain constant across 729 all hardware implementations of the LSB. 730 731 implementation-defined 732 Describes a value or behavior that is not defined by 733 this document but is selected by an implementor. The 734 value or behavior may vary among implementations that 735 conform to this document. An application should not rely 736 on the existence of the value or behavior. An 737 application that relies on such a value or behavior 738 cannot be assured to be portable across conforming 739 implementations. The implementor shall document such a 740 value or behavior so that it can be used correctly by an 741 application. 742 743 Shell Script 744 A file that is read by an interpreter (e.g., awk). The 745 first line of the shell script includes a reference to 746 its interpreter binary. 747 748 Source Standard 749 The set of interfaces that are available to be used in 750 the source code of a conforming application. 751 752 undefined 753 Describes the nature of a value or behavior not defined 754 by this document which results from use of an invalid 755 program construct or invalid data input. The value or 756 behavior may vary among implementations that conform to 757 this document. An application should not rely on the 758 existence or validity of the value or behavior. An 759 application that relies on any particular value or 760 behavior cannot be assured to be portable across 761 conforming implementations. 762 763 unspecified 764 Describes the nature of a value or behavior not 765 specified by this document which results from use of a 766 valid program construct or valid data input. The value 767 or behavior may vary among implementations that conform 768 to this document. An application should not rely on the 769 existence or validity of the value or behavior. An 770 application that relies on any particular value or 771 behavior cannot be assured to be portable across 772 conforming implementations. 773 774 Other terms and definitions used in this document shall have 775 the same meaning as defined in Chapter 3 of the Base 776 Definitions volume of ISO POSIX (2003). 777 __________________________________________________________ 778 779 Chapter 6. Documentation Conventions 780 781 Throughout this document, the following typographic conventions 782 are used: 783 784 function() 785 786 the name of a function 787 command 788 789 the name of a command or utility 790 CONSTANT 791 792 a constant value 793 parameter 794 795 a parameter 796 variable 797 798 a variable 799 800 Throughout this specification, several tables of interfaces are 801 presented. Each entry in these tables has the following format: 802 803 name 804 805 the name of the interface 806 (symver) 807 808 An optional symbol version identifier, if required. 809 [refno] 810 811 A reference number indexing the table of referenced 812 specifications that follows this table. 813 814 For example, 815 816 forkpty(GLIBC_2.0) [SUSv3] 817 818 refers to the interface named forkpty() with symbol version 819 GLIBC_2.0 that is defined in the SUSv3 reference. 820 821 Note: Symbol versions are defined in the architecture 822 specific parts of ISO/IEC 23360 only. 823 824 II. Executable and Linking Format (ELF) 825 826 Table of Contents 827 7. Introduction 828 8. Low Level System Information 829 830 8.1. Machine Interface 831 832 8.1.1. Processor Architecture 833 8.1.2. Data Representation 834 835 8.2. Function Calling Sequence 836 837 8.2.1. Registers 838 8.2.2. Floating Point Registers 839 8.2.3. Stack Frame 840 8.2.4. Arguments 841 8.2.5. Return Values 842 843 8.3. Operating System Interface 844 845 8.3.1. Virtual Address Space 846 8.3.2. Processor Execution Mode 847 8.3.3. Exception Interface 848 8.3.4. Signal Delivery 849 850 8.4. Process Initialization 851 852 8.4.1. Special Registers 853 8.4.2. Process Stack (on entry) 854 8.4.3. Auxilliary Vector 855 8.4.4. Environment 856 857 8.5. Coding Examples 858 859 8.5.1. Introduction 860 8.5.2. Code Model Overview/Architecture Constraints 861 8.5.3. Position-Independent Function Prologue 862 8.5.4. Data Objects 863 8.5.5. Function Calls 864 8.5.6. Branching 865 866 8.6. C Stack Frame 867 868 8.6.1. Variable Argument List 869 8.6.2. Dynamic Allocation of Stack Space 870 871 8.7. Debug Information 872 873 9. Object Format 874 875 9.1. Introduction 876 9.2. ELF Header 877 878 9.2.1. Machine Information 879 880 9.3. Special Sections 881 882 9.3.1. Special Sections 883 884 9.4. Symbol Table 885 9.5. Relocation 886 887 9.5.1. Introduction 888 9.5.2. Relocation Types 889 890 10. Program Loading and Dynamic Linking 891 892 10.1. Introduction 893 10.2. Program Header 894 895 10.2.1. Introduction 896 10.2.2. Types 897 10.2.3. Flags 898 899 10.3. Program Loading 900 10.4. Dynamic Linking 901 902 10.4.1. Dynamic Section 903 10.4.2. Global Offset Table 904 10.4.3. Shared Object Dependencies 905 10.4.4. Function Addresses 906 10.4.5. Procedure Linkage Table 907 10.4.6. Initialization and Termination Functions 908 __________________________________________________________ 909 910 Chapter 7. Introduction 911 912 Executable and Linking Format (ELF) defines the object format 913 for compiled applications. This specification supplements the 914 information found in System V ABI Update and System V ABI, IA32 915 Supplement, and is intended to document additions made since 916 the publication of that document. 917 __________________________________________________________ 918 919 Chapter 8. Low Level System Information 920 921 8.1. Machine Interface 922 923 8.1.1. Processor Architecture 924 925 The IA32 Architecture is specified by the following documents 926 927 * Intel® Architecture Software Developer's Manual Volume 1 928 * Intel® Architecture Software Developer's Manual Volume 2 929 * Intel® Architecture Software Developer's Manual Volume 3 930 931 Only the features of the Intel486 processor instruction set may 932 be assumed to be present. An application should determine if 933 any additional instruction set features are available before 934 using those additional features. If a feature is not present, 935 then a conforming application shall not use it. 936 937 Conforming applications may use only instructions which do not 938 require elevated privileges. 939 940 Conforming applications shall not invoke the implementations 941 underlying system call interface directly. The interfaces in 942 the implementation base libraries shall be used instead. 943 944 Rationale: Implementation-supplied base libraries may use 945 the system call interface but applications must not assume 946 any particular operating system or kernel version is 947 present. 948 949 Applications conforming to this specification shall provide 950 feedback to the user if a feature that is required for correct 951 execution of the application is not present. Applications 952 conforming to this specification should attempt to execute in a 953 diminished capacity if a required instruction set feature is 954 not present. 955 956 This specification does not provide any performance guarantees 957 of a conforming system. A system conforming to this 958 specification may be implemented in either hardware or 959 software. 960 __________________________________________________________ 961 962 8.1.2. Data Representation 963 964 LSB-conforming applications shall use the data representation 965 as defined in Chapter 3 of the System V ABI, IA32 Supplement. 966 __________________________________________________________ 967 968 8.1.2.1. Byte Ordering 969 970 LSB-conforming systems and applications shall use the bit and 971 byte ordering rules specified in Section 1.3.1 of the Intel® 972 Architecture Software Developer's Manual Volume 1. 973 __________________________________________________________ 974 975 8.1.2.2. Fundamental Types 976 977 In addition to the fundamental types specified in Chapter 3 of 978 the System V ABI, IA32 Supplement, a 64 bit data type is 979 defined here. 980 981 Table 8-1. Scalar Types 982 Type C sizeof Alignment (bytes) Intel386 Architecture 983 Integral long long 8 4 signed double word 984 signed long long 985 unsigned long long 8 4 unsigned double word 986 __________________________________________________________ 987 988 8.1.2.3. Aggregates and Unions 989 990 LSB-conforming implementations shall support aggregates and 991 unions with alignment and padding as specified in Chapter 3 of 992 the System V ABI, IA32 Supplement. 993 __________________________________________________________ 994 995 8.1.2.4. Bit Fields 996 997 LSB-conforming implementations shall support structure and 998 union definitions that include bit-fields as specified in 999 Chapter 3 of the System V ABI, IA32 Supplement. 1000 __________________________________________________________ 1001 1002 8.2. Function Calling Sequence 1003 1004 LSB-conforming applications shall use the function calling 1005 sequence as defined in Chapter 3 of the System V ABI, IA32 1006 Supplement. 1007 __________________________________________________________ 1008 1009 8.2.1. Registers 1010 1011 LSB-conforming applications shall use the general registers 1012 provided by the architecture in the manner described in Chapter 1013 3 of the System V ABI, IA32 Supplement. 1014 __________________________________________________________ 1015 1016 8.2.2. Floating Point Registers 1017 1018 LSB-conforming applications shall use the floating point 1019 registers provided by the architecture in the manner described 1020 in Chapter 3 of the System V ABI, IA32 Supplement. 1021 __________________________________________________________ 1022 1023 8.2.3. Stack Frame 1024 1025 LSB-conforming applications shall use the stack frame in the 1026 manner specified in Chapter 3 of the System V ABI, IA32 1027 Supplement. 1028 __________________________________________________________ 1029 1030 8.2.4. Arguments 1031 1032 8.2.4.1. Integral/Pointer 1033 1034 Integral and pointer arguments to functions shall be passed as 1035 specified in Chapter 3 of the System V ABI, IA32 Supplement. 1036 __________________________________________________________ 1037 1038 8.2.4.2. Floating Point 1039 1040 Floating point arguments to functions shall be passed as 1041 specified in Chapter 3 of the System V ABI, IA32 Supplement. 1042 __________________________________________________________ 1043 1044 8.2.4.3. Struct and Union Arguments 1045 1046 Structure and union arguments to functions shall be passed as 1047 specified in Chapter 3 of the System V ABI, IA32 Supplement. 1048 __________________________________________________________ 1049 1050 8.2.4.4. Variable Arguments 1051 1052 As described in Chapter 3 of the System V ABI, IA32 Supplement, 1053 LSB-conforming applications using variable argument lists shall 1054 use the facilities defined in the header file to 1055 deal with variable argument lists. 1056 1057 Note: This is a requirement of ISO C (1999) and ISO POSIX 1058 (2003) as well as System V ABI, IA32 Supplement. 1059 __________________________________________________________ 1060 1061 8.2.5. Return Values 1062 1063 8.2.5.1. Void 1064 1065 As described in chapter 3 of System V ABI, IA32 Supplement, 1066 functions returning no value need not set any register to any 1067 particular value. 1068 __________________________________________________________ 1069 1070 8.2.5.2. Integral/Pointer 1071 1072 Functions return scalar values (integer or pointer), shall do 1073 so as specified in Chapter 3 of the System V ABI, IA32 1074 Supplement. 1075 __________________________________________________________ 1076 1077 8.2.5.3. Floating Point 1078 1079 Functions return floating point values shall do so as specified 1080 in Chapter 3 of the System V ABI, IA32 Supplement. 1081 __________________________________________________________ 1082 1083 8.2.5.4. Struct and Union 1084 1085 Functions that return a structure or union shall do so as 1086 specified in Chapter 3 of the System V ABI, IA32 Supplement. 1087 __________________________________________________________ 1088 1089 8.3. Operating System Interface 1090 1091 LSB-conforming applications shall use the following aspects of 1092 the Operating System Interfaces as defined in Chapter 3 of the 1093 System V ABI, IA32 Supplement. 1094 __________________________________________________________ 1095 1096 8.3.1. Virtual Address Space 1097 1098 LSB-conforming implementations shall support the virtual 1099 address space described in Chapter 3 of the System V ABI, IA32 1100 Supplement. 1101 __________________________________________________________ 1102 1103 8.3.1.1. Page Size 1104 1105 LSB-conforming applications should call sysconf() to determine 1106 the current page size. See also Chapter 3 of the System V ABI, 1107 IA32 Supplement. 1108 __________________________________________________________ 1109 1110 8.3.1.2. Virtual Address Assignments 1111 1112 LSB-conforming systems shall provide the virtual address space 1113 configuration as described in Chapter 3 of the System V ABI, 1114 IA32 Supplement (Virtual Address Assignments). 1115 __________________________________________________________ 1116 1117 8.3.1.3. Managing the Process Stack 1118 1119 LSB-conforming systems shall manage the process stack as 1120 specified in Chapter 3 of the System V ABI, IA32 Supplement. 1121 __________________________________________________________ 1122 1123 8.3.1.4. Coding Guidlines 1124 1125 LSB-conforming applications should follow the coding guidleines 1126 provided in Chapter 3 of the System V ABI, IA32 Supplement. 1127 __________________________________________________________ 1128 1129 8.3.2. Processor Execution Mode 1130 1131 LSB-conforming applications shall run in the user-mode ring as 1132 described in Chapter 3 of the System V ABI, IA32 Supplement. 1133 __________________________________________________________ 1134 1135 8.3.3. Exception Interface 1136 1137 8.3.3.1. Introduction 1138 1139 LSB-conforming system shall provide the exception interface 1140 described in Chapter 3 of the System V ABI, IA32 Supplement. 1141 __________________________________________________________ 1142 1143 8.3.3.2. Hardware Exception Types 1144 1145 LSB-conforming systems shall map hardware exceptions to signals 1146 as described in Chapter 3 of the System V ABI, IA32 Supplement. 1147 __________________________________________________________ 1148 1149 8.3.3.3. Software Trap Types 1150 1151 Software generated traps are subject to the limitations 1152 described in Chapter 3 of the System V ABI, IA32 Supplement. 1153 __________________________________________________________ 1154 1155 8.3.4. Signal Delivery 1156 1157 There are no architecture specific requirements for signal 1158 delivery. 1159 __________________________________________________________ 1160 1161 8.3.4.1. Signal Handler Interface 1162 1163 There are no architecture specific requirements for the signal 1164 handler interface. 1165 __________________________________________________________ 1166 1167 8.4. Process Initialization 1168 1169 An LSB-conforming implementation shall cause an application to 1170 be initialized as described in the Process Initialization 1171 section of Chapter 3 of the System V ABI, IA32 Supplement, and 1172 as described below. 1173 __________________________________________________________ 1174 1175 8.4.1. Special Registers 1176 1177 The special registers shall be initialized as described in 1178 Chapter 3 of the System V ABI, IA32 Supplement. 1179 __________________________________________________________ 1180 1181 8.4.2. Process Stack (on entry) 1182 1183 The process stack shall be initialized as described in Chapter 1184 3 of the System V ABI, IA32 Supplement. 1185 __________________________________________________________ 1186 1187 8.4.3. Auxilliary Vector 1188 1189 The auxilliary vector shall be initialized as described in 1190 Chapter 3 of the System V ABI, IA32 Supplement. 1191 __________________________________________________________ 1192 1193 8.4.4. Environment 1194 1195 There are no architecture specific requirements for environment 1196 initialization. 1197 __________________________________________________________ 1198 1199 8.5. Coding Examples 1200 1201 8.5.1. Introduction 1202 1203 LSB-conforming applications may follow the coding examples 1204 provdied in chapter 3 of the System V ABI, IA32 Supplement in 1205 order to implement certain fundamental operations. 1206 __________________________________________________________ 1207 1208 8.5.2. Code Model Overview/Architecture Constraints 1209 1210 Chapter 3 of the System V ABI, IA32 Supplement provides an 1211 overview of the code model. 1212 __________________________________________________________ 1213 1214 8.5.3. Position-Independent Function Prologue 1215 1216 LSB-conforming applications using position independent 1217 functions may use the techniques described in Chapter 3 of the 1218 System V ABI, IA32 Supplement. 1219 __________________________________________________________ 1220 1221 8.5.4. Data Objects 1222 1223 LSB-conforming applications accessing non-stack resident data 1224 objects may do so as described in Chapter 3 of the System V 1225 ABI, IA32 Supplement, including both absolute and position 1226 independent data access techniques. 1227 __________________________________________________________ 1228 1229 8.5.5. Function Calls 1230 1231 8.5.5.1. Absolute Direct Function Call 1232 1233 LSB-conforming applications using direct function calls with 1234 absolute addressing may follow the examples given in Chapter 3 1235 of the System V ABI, IA32 Supplement. 1236 __________________________________________________________ 1237 1238 8.5.5.2. Absolute Indirect Function Call 1239 1240 LSB-conforming applications using indirect function calls with 1241 absolute addressing may follow the examples given in Chapter 3 1242 of the System V ABI, IA32 Supplement. 1243 __________________________________________________________ 1244 1245 8.5.5.3. Position-Independent Direct Function Call 1246 1247 LSB-conforming applications using direct function calls with 1248 position independent addressing may follow the examples given 1249 in Chapter 3 of the System V ABI, IA32 Supplement. 1250 __________________________________________________________ 1251 1252 8.5.5.4. Position-Independent Indirect Function Call 1253 1254 LSB-conforming applications using indirect function calls with 1255 position independent addressing may follow the examples given 1256 in Chapter 3 of the System V ABI, IA32 Supplement. 1257 __________________________________________________________ 1258 1259 8.5.6. Branching 1260 1261 LSB-conforming applications may follow the branching examples 1262 given in Chapter 3 of the System V ABI, IA32 Supplement. 1263 __________________________________________________________ 1264 1265 8.6. C Stack Frame 1266 1267 8.6.1. Variable Argument List 1268 1269 As described in Chapter 3 of the System V ABI, IA32 Supplement, 1270 LSB-conforming applications using variable argument lists shall 1271 use the facilities defined in the header file to 1272 deal with variable argument lists. 1273 1274 Note: This is a requirement of ISO C (1999) and ISO POSIX 1275 (2003) as well as System V ABI, IA32 Supplement. 1276 __________________________________________________________ 1277 1278 8.6.2. Dynamic Allocation of Stack Space 1279 1280 LSB-conforming applications may allocate space using the stack 1281 following the examples given in Chapter 3 of the System V ABI, 1282 IA32 Supplement. 1283 __________________________________________________________ 1284 1285 8.7. Debug Information 1286 1287 There are no architecture specific requirements for debugging 1288 information for this architecture. LSB-conforming applications 1289 may utilize DWARF sections as described in the generic 1290 specification. 1291 __________________________________________________________ 1292 1293 Chapter 9. Object Format 1294 1295 9.1. Introduction 1296 1297 LSB-conforming implementations shall support an object file 1298 format, called Executable and Linking Format (ELF) as defined 1299 by the System V ABI , System V ABI Update , System V ABI, IA32 1300 Supplement and as supplemented by the ISO/IEC 23360 Part 1 and 1301 the generic LSB specification. 1302 __________________________________________________________ 1303 1304 9.2. ELF Header 1305 1306 9.2.1. Machine Information 1307 1308 LSB-conforming applications shall use the Machine Information 1309 as defined in Chapter 4 of the System V ABI, IA32 Supplement, 1310 including the e_ident array members for EI_CLASS and EI_DATA, 1311 the processor identification in e_machine and flags in e_flags. 1312 The operating system identification field, in e_ident[EI_OSABI] 1313 shall be ELFOSABI_NONE (0). 1314 __________________________________________________________ 1315 1316 9.3. Special Sections 1317 1318 9.3.1. Special Sections 1319 1320 Various sections hold program and control information. Sections 1321 in the lists below are used by the system and have the 1322 indicated types and attributes. 1323 __________________________________________________________ 1324 1325 9.3.1.1. ELF Special Sections 1326 1327 The following sections are defined in Chapter 4 of the System V 1328 ABI, IA32 Supplement. 1329 1330 Table 9-1. ELF Special Sections 1331 Name Type Attributes 1332 .got SHT_PROGBITS SHF_ALLOC+SHF_WRITE 1333 .plt SHT_PROGBITS SHF_ALLOC+SHF_EXECINSTR 1334 1335 .got 1336 1337 This section holds the global offset table. See `Coding 1338 Examples' in Chapter 3, `Special Sections' in Chapter 4, and 1339 `Global Offset Table' in Chapter 5 of the processor supplement 1340 for more information. 1341 .plt 1342 1343 This section holds the procedure linkage table. 1344 __________________________________________________________ 1345 1346 9.3.1.2. Additional Special Sections 1347 1348 The following additional sections are defined here. 1349 1350 Table 9-2. Additional Special Sections 1351 Name Type Attributes 1352 .rel.dyn SHT_REL SHF_ALLOC 1353 1354 .rel.dyn 1355 1356 This section holds relocation information, as described in 1357 `Relocation' section in Chapter 4 of System V ABI Update. These 1358 relocations are applied to the .dyn section. 1359 __________________________________________________________ 1360 1361 9.4. Symbol Table 1362 1363 LSB-conforming applications shall use the Symbol Table section 1364 as defined in Chapter 4 of the System V ABI, IA32 Supplement. 1365 __________________________________________________________ 1366 1367 9.5. Relocation 1368 1369 9.5.1. Introduction 1370 1371 LSB-conforming implementations shall support Relocation as 1372 defined in Chapter 4 of the System V ABI, IA32 Supplement and 1373 as described below. 1374 __________________________________________________________ 1375 1376 9.5.2. Relocation Types 1377 1378 The relocation types described in Chapter 4 of the System V 1379 ABI, IA32 Supplement shall be supported. 1380 __________________________________________________________ 1381 1382 Chapter 10. Program Loading and Dynamic Linking 1383 1384 10.1. Introduction 1385 1386 LSB-conforming implementations shall support the object file 1387 information and system actions that create running programs as 1388 specified in the System V ABI , System V ABI Update , System V 1389 ABI, IA32 Supplement and as supplemented by ISO/IEC 23360 Part 1390 1 and the generic LSB specification. 1391 __________________________________________________________ 1392 1393 10.2. Program Header 1394 1395 10.2.1. Introduction 1396 1397 As described in System V ABI Update, the program header is an 1398 array of structures, each describing a segment or other 1399 information the system needs to prepare the program for 1400 execution. 1401 __________________________________________________________ 1402 1403 10.2.2. Types 1404 1405 The IA32 architecture does not define any additional program 1406 header types beyond those required in the generic LSB Core 1407 specification. 1408 __________________________________________________________ 1409 1410 10.2.3. Flags 1411 1412 The IA32 architecture does not define any additional program 1413 header flags beyond those required in the generic LSB Core 1414 specification. 1415 __________________________________________________________ 1416 1417 10.3. Program Loading 1418 1419 LSB-conforming systems shall support program loading as defined 1420 in Chapter 5 of the System V ABI, IA32 Supplement. 1421 __________________________________________________________ 1422 1423 10.4. Dynamic Linking 1424 1425 LSB-conforming systems shall support dynamic linking as defined 1426 in Chapter 5 of the System V ABI, IA32 Supplement. 1427 __________________________________________________________ 1428 1429 10.4.1. Dynamic Section 1430 1431 The following dynamic entries are defined in the System V ABI, 1432 IA32 Supplement. 1433 1434 DT_PLTGOT 1435 1436 On the Intel386 architecture, this entrys d_ptr member gives 1437 the address of the first entry in the global offset table. 1438 __________________________________________________________ 1439 1440 10.4.2. Global Offset Table 1441 1442 LSB-conforming implementations shall support use of the global 1443 offset table as described in Chapter 5 of the System V ABI, 1444 IA32 Supplement. 1445 __________________________________________________________ 1446 1447 10.4.3. Shared Object Dependencies 1448 1449 There are no architecture specific requirements for shared 1450 object dependencies; see the generic LSB-Core specification. 1451 __________________________________________________________ 1452 1453 10.4.4. Function Addresses 1454 1455 Function addresses shall behave as specified in Chapter 5 of 1456 the System V ABI, IA32 Supplement. 1457 __________________________________________________________ 1458 1459 10.4.5. Procedure Linkage Table 1460 1461 LSB-conforming implementations shall support a Procedure 1462 Linkage Table as described in Chapter 5 of the System V ABI, 1463 IA32 Supplement. 1464 __________________________________________________________ 1465 1466 10.4.6. Initialization and Termination Functions 1467 1468 There are no architecture specific requirements for 1469 initialization and termination functions; see the generic 1470 LSB-Core specification. 1471 1472 III. Base Libraries 1473 1474 Table of Contents 1475 11. Libraries 1476 1477 11.1. Program Interpreter/Dynamic Linker 1478 11.2. Interfaces for libc 1479 1480 11.2.1. RPC 1481 11.2.2. System Calls 1482 11.2.3. Standard I/O 1483 11.2.4. Signal Handling 1484 11.2.5. Localization Functions 1485 11.2.6. Posix Spawn Option 1486 11.2.7. Posix Advisory Option 1487 11.2.8. Socket Interface 1488 11.2.9. Wide Characters 1489 11.2.10. String Functions 1490 11.2.11. IPC Functions 1491 11.2.12. Regular Expressions 1492 11.2.13. Character Type Functions 1493 11.2.14. Time Manipulation 1494 11.2.15. Terminal Interface Functions 1495 11.2.16. System Database Interface 1496 11.2.17. Language Support 1497 11.2.18. Large File Support 1498 11.2.19. Standard Library 1499 1500 11.3. Data Definitions for libc 1501 1502 11.3.1. ctype.h 1503 11.3.2. dirent.h 1504 11.3.3. errno.h 1505 11.3.4. fcntl.h 1506 11.3.5. fnmatch.h 1507 11.3.6. ftw.h 1508 11.3.7. getopt.h 1509 11.3.8. glob.h 1510 11.3.9. iconv.h 1511 11.3.10. langinfo.h 1512 11.3.11. limits.h 1513 11.3.12. locale.h 1514 11.3.13. net/if.h 1515 11.3.14. netdb.h 1516 11.3.15. netinet/in.h 1517 11.3.16. netinet/ip.h 1518 11.3.17. netinet/tcp.h 1519 11.3.18. netinet/udp.h 1520 11.3.19. nl_types.h 1521 11.3.20. pwd.h 1522 11.3.21. regex.h 1523 11.3.22. rpc/auth.h 1524 11.3.23. rpc/clnt.h 1525 11.3.24. rpc/rpc_msg.h 1526 11.3.25. rpc/svc.h 1527 11.3.26. rpc/types.h 1528 11.3.27. rpc/xdr.h 1529 11.3.28. sched.h 1530 11.3.29. search.h 1531 11.3.30. setjmp.h 1532 11.3.31. signal.h 1533 11.3.32. spawn.h 1534 11.3.33. stddef.h 1535 11.3.34. stdint.h 1536 11.3.35. stdio.h 1537 11.3.36. stdlib.h 1538 11.3.37. sys/file.h 1539 11.3.38. sys/ioctl.h 1540 11.3.39. sys/ipc.h 1541 11.3.40. sys/mman.h 1542 11.3.41. sys/msg.h 1543 11.3.42. sys/param.h 1544 11.3.43. sys/poll.h 1545 11.3.44. sys/resource.h 1546 11.3.45. sys/sem.h 1547 11.3.46. sys/shm.h 1548 11.3.47. sys/socket.h 1549 11.3.48. sys/stat.h 1550 11.3.49. sys/statfs.h 1551 11.3.50. sys/statvfs.h 1552 11.3.51. sys/time.h 1553 11.3.52. sys/timeb.h 1554 11.3.53. sys/times.h 1555 11.3.54. sys/types.h 1556 11.3.55. sys/un.h 1557 11.3.56. sys/utsname.h 1558 11.3.57. sys/wait.h 1559 11.3.58. syslog.h 1560 11.3.59. termios.h 1561 11.3.60. ucontext.h 1562 11.3.61. ulimit.h 1563 11.3.62. unistd.h 1564 11.3.63. utime.h 1565 11.3.64. utmp.h 1566 11.3.65. utmpx.h 1567 11.3.66. wctype.h 1568 11.3.67. wordexp.h 1569 1570 11.4. Interfaces for libm 1571 1572 11.4.1. Math 1573 1574 11.5. Data Definitions for libm 1575 1576 11.5.1. complex.h 1577 11.5.2. fenv.h 1578 11.5.3. math.h 1579 1580 11.6. Interface Definitions for libm 1581 1582 __fpclassifyl -- Classify real floating type 1583 1584 11.7. Interfaces for libpthread 1585 1586 11.7.1. Realtime Threads 1587 11.7.2. Advanced Realtime Threads 1588 11.7.3. Posix Threads 1589 11.7.4. Thread aware versions of libc interfaces 1590 1591 11.8. Data Definitions for libpthread 1592 1593 11.8.1. pthread.h 1594 11.8.2. semaphore.h 1595 1596 11.9. Interfaces for libgcc_s 1597 1598 11.9.1. Unwind Library 1599 1600 11.10. Data Definitions for libgcc_s 1601 1602 11.10.1. unwind.h 1603 1604 11.11. Interface Definitions for libgcc_s 1605 1606 _Unwind_DeleteException -- private C++ error 1607 handling method 1608 1609 _Unwind_Find_FDE -- private C++ error handling 1610 method 1611 1612 _Unwind_ForcedUnwind -- private C++ error handling 1613 method 1614 1615 _Unwind_GetDataRelBase -- private IA64 C++ error 1616 handling method 1617 1618 _Unwind_GetGR -- private C++ error handling method 1619 _Unwind_GetIP -- private C++ error handling method 1620 _Unwind_GetLanguageSpecificData -- private C++ error 1621 handling method 1622 1623 _Unwind_GetRegionStart -- private C++ error handling 1624 method 1625 1626 _Unwind_GetTextRelBase -- private IA64 C++ error 1627 handling method 1628 1629 _Unwind_RaiseException -- private C++ error handling 1630 method 1631 1632 _Unwind_Resume -- private C++ error handling method 1633 _Unwind_SetGR -- private C++ error handling method 1634 _Unwind_SetIP -- private C++ error handling method 1635 1636 11.12. Interfaces for libdl 1637 1638 11.12.1. Dynamic Loader 1639 1640 11.13. Data Definitions for libdl 1641 1642 11.13.1. dlfcn.h 1643 1644 11.14. Interfaces for libcrypt 1645 1646 11.14.1. Encryption 1647 __________________________________________________________ 1648 1649 Chapter 11. Libraries 1650 1651 An LSB-conforming implementation shall support some base 1652 libraries which provide interfaces for accessing the operating 1653 system, processor and other hardware in the system. 1654 1655 Interfaces that are unique to the IA32 platform are defined 1656 here. This section should be used in conjunction with the 1657 corresponding section in the Linux Standard Base Specification. 1658 __________________________________________________________ 1659 1660 11.1. Program Interpreter/Dynamic Linker 1661 1662 The Program Interpreter shall be /lib/ld-lsb.so.3. 1663 __________________________________________________________ 1664 1665 11.2. Interfaces for libc 1666 1667 Table 11-1 defines the library name and shared object name for 1668 the libc library 1669 1670 Table 11-1. libc Definition 1671 Library: libc 1672 SONAME: libc.so.6 1673 1674 The behavior of the interfaces in this library is specified by 1675 the following specifications: 1676 1677 [LFS] Large File Support 1678 [LSB] ISO/IEC 23360 Part 1 1679 [SUSv2] SUSv2 1680 [SUSv3] ISO POSIX (2003) 1681 [SVID.3] SVID Issue 3 1682 [SVID.4] SVID Issue 4 1683 __________________________________________________________ 1684 1685 11.2.1. RPC 1686 __________________________________________________________ 1687 1688 11.2.1.1. Interfaces for RPC 1689 1690 An LSB conforming implementation shall provide the architecture 1691 specific functions for RPC specified in Table 11-2, with the 1692 full mandatory functionality as described in the referenced 1693 underlying specification. 1694 1695 Table 11-2. libc - RPC Function Interfaces 1696 authnone_create(GLIBC_2.0) [SVID.4] clnt_create(GLIBC_2.0) 1697 [SVID.4] clnt_pcreateerror(GLIBC_2.0) [SVID.4] 1698 clnt_perrno(GLIBC_2.0) [SVID.4] 1699 clnt_perror(GLIBC_2.0) [SVID.4] clnt_spcreateerror(GLIBC_2.0) 1700 [SVID.4] clnt_sperrno(GLIBC_2.0) [SVID.4] 1701 clnt_sperror(GLIBC_2.0) [SVID.4] 1702 key_decryptsession(GLIBC_2.1) [SVID.3] pmap_getport(GLIBC_2.0) 1703 [LSB] pmap_set(GLIBC_2.0) [LSB] pmap_unset(GLIBC_2.0) [LSB] 1704 svc_getreqset(GLIBC_2.0) [SVID.3] svc_register(GLIBC_2.0) [LSB] 1705 svc_run(GLIBC_2.0) [LSB] svc_sendreply(GLIBC_2.0) [LSB] 1706 svcerr_auth(GLIBC_2.0) [SVID.3] svcerr_decode(GLIBC_2.0) 1707 [SVID.3] svcerr_noproc(GLIBC_2.0) [SVID.3] 1708 svcerr_noprog(GLIBC_2.0) [SVID.3] 1709 svcerr_progvers(GLIBC_2.0) [SVID.3] svcerr_systemerr(GLIBC_2.0) 1710 [SVID.3] svcerr_weakauth(GLIBC_2.0) [SVID.3] 1711 svctcp_create(GLIBC_2.0) [LSB] 1712 svcudp_create(GLIBC_2.0) [LSB] xdr_accepted_reply(GLIBC_2.0) 1713 [SVID.3] xdr_array(GLIBC_2.0) [SVID.3] xdr_bool(GLIBC_2.0) 1714 [SVID.3] 1715 xdr_bytes(GLIBC_2.0) [SVID.3] xdr_callhdr(GLIBC_2.0) [SVID.3] 1716 xdr_callmsg(GLIBC_2.0) [SVID.3] xdr_char(GLIBC_2.0) [SVID.3] 1717 xdr_double(GLIBC_2.0) [SVID.3] xdr_enum(GLIBC_2.0) [SVID.3] 1718 xdr_float(GLIBC_2.0) [SVID.3] xdr_free(GLIBC_2.0) [SVID.3] 1719 xdr_int(GLIBC_2.0) [SVID.3] xdr_long(GLIBC_2.0) [SVID.3] 1720 xdr_opaque(GLIBC_2.0) [SVID.3] xdr_opaque_auth(GLIBC_2.0) 1721 [SVID.3] 1722 xdr_pointer(GLIBC_2.0) [SVID.3] xdr_reference(GLIBC_2.0) 1723 [SVID.3] xdr_rejected_reply(GLIBC_2.0) [SVID.3] 1724 xdr_replymsg(GLIBC_2.0) [SVID.3] 1725 xdr_short(GLIBC_2.0) [SVID.3] xdr_string(GLIBC_2.0) [SVID.3] 1726 xdr_u_char(GLIBC_2.0) [SVID.3] xdr_u_int(GLIBC_2.0) [LSB] 1727 xdr_u_long(GLIBC_2.0) [SVID.3] xdr_u_short(GLIBC_2.0) [SVID.3] 1728 xdr_union(GLIBC_2.0) [SVID.3] xdr_vector(GLIBC_2.0) [SVID.3] 1729 xdr_void(GLIBC_2.0) [SVID.3] xdr_wrapstring(GLIBC_2.0) [SVID.3] 1730 xdrmem_create(GLIBC_2.0) [SVID.3] xdrrec_create(GLIBC_2.0) 1731 [SVID.3] 1732 xdrrec_eof(GLIBC_2.0) [SVID.3] xdrstdio_create(GLIBC_2.0) [LSB] 1733 __________________________________________________________ 1734 1735 11.2.2. System Calls 1736 __________________________________________________________ 1737 1738 11.2.2.1. Interfaces for System Calls 1739 1740 An LSB conforming implementation shall provide the architecture 1741 specific functions for System Calls specified in Table 11-3, 1742 with the full mandatory functionality as described in the 1743 referenced underlying specification. 1744 1745 Table 11-3. libc - System Calls Function Interfaces 1746 __fxstat(GLIBC_2.0) [LSB] __getpgid(GLIBC_2.0) [LSB] 1747 __lxstat(GLIBC_2.0) [LSB] __xmknod(GLIBC_2.0) [LSB] 1748 __xstat(GLIBC_2.0) [LSB] access(GLIBC_2.0) [SUSv3] 1749 acct(GLIBC_2.0) [LSB] alarm(GLIBC_2.0) [SUSv3] 1750 brk(GLIBC_2.0) [SUSv2] chdir(GLIBC_2.0) [SUSv3] 1751 chmod(GLIBC_2.0) [SUSv3] chown(GLIBC_2.1) [SUSv3] 1752 chroot(GLIBC_2.0) [SUSv2] clock(GLIBC_2.0) [SUSv3] 1753 close(GLIBC_2.0) [SUSv3] closedir(GLIBC_2.0) [SUSv3] 1754 creat(GLIBC_2.0) [SUSv3] dup(GLIBC_2.0) [SUSv3] dup2(GLIBC_2.0) 1755 [SUSv3] execl(GLIBC_2.0) [SUSv3] 1756 execle(GLIBC_2.0) [SUSv3] execlp(GLIBC_2.0) [SUSv3] 1757 execv(GLIBC_2.0) [SUSv3] execve(GLIBC_2.0) [SUSv3] 1758 execvp(GLIBC_2.0) [SUSv3] exit(GLIBC_2.0) [SUSv3] 1759 fchdir(GLIBC_2.0) [SUSv3] fchmod(GLIBC_2.0) [SUSv3] 1760 fchown(GLIBC_2.0) [SUSv3] fcntl(GLIBC_2.0) [LSB] 1761 fdatasync(GLIBC_2.0) [SUSv3] flock(GLIBC_2.0) [LSB] 1762 fork(GLIBC_2.0) [SUSv3] fstatfs(GLIBC_2.0) [LSB] 1763 fstatvfs(GLIBC_2.1) [SUSv3] fsync(GLIBC_2.0) [SUSv3] 1764 ftime(GLIBC_2.0) [SUSv3] ftruncate(GLIBC_2.0) [SUSv3] 1765 getcontext(GLIBC_2.1) [SUSv3] getdtablesize(GLIBC_2.0) [LSB] 1766 getegid(GLIBC_2.0) [SUSv3] geteuid(GLIBC_2.0) [SUSv3] 1767 getgid(GLIBC_2.0) [SUSv3] getgroups(GLIBC_2.0) [SUSv3] 1768 getitimer(GLIBC_2.0) [SUSv3] getloadavg(GLIBC_2.2) [LSB] 1769 getpagesize(GLIBC_2.0) [LSB] getpgid(GLIBC_2.0) [SUSv3] 1770 getpgrp(GLIBC_2.0) [SUSv3] getpid(GLIBC_2.0) [SUSv3] 1771 getppid(GLIBC_2.0) [SUSv3] getpriority(GLIBC_2.0) [SUSv3] 1772 getrlimit(GLIBC_2.2) [SUSv3] getrusage(GLIBC_2.0) [SUSv3] 1773 getsid(GLIBC_2.0) [SUSv3] getuid(GLIBC_2.0) [SUSv3] 1774 getwd(GLIBC_2.0) [SUSv3] initgroups(GLIBC_2.0) [LSB] 1775 ioctl(GLIBC_2.0) [LSB] kill(GLIBC_2.0) [LSB] 1776 killpg(GLIBC_2.0) [SUSv3] lchown(GLIBC_2.0) [SUSv3] 1777 link(GLIBC_2.0) [LSB] lockf(GLIBC_2.0) [SUSv3] 1778 lseek(GLIBC_2.0) [SUSv3] mkdir(GLIBC_2.0) [SUSv3] 1779 mkfifo(GLIBC_2.0) [SUSv3] mlock(GLIBC_2.0) [SUSv3] 1780 mlockall(GLIBC_2.0) [SUSv3] mmap(GLIBC_2.0) [SUSv3] 1781 mprotect(GLIBC_2.0) [SUSv3] mremap(GLIBC_2.0) [LSB] 1782 msync(GLIBC_2.0) [SUSv3] munlock(GLIBC_2.0) [SUSv3] 1783 munlockall(GLIBC_2.0) [SUSv3] munmap(GLIBC_2.0) [SUSv3] 1784 nanosleep(GLIBC_2.0) [SUSv3] nice(GLIBC_2.0) [SUSv3] 1785 open(GLIBC_2.0) [SUSv3] opendir(GLIBC_2.0) [SUSv3] 1786 pathconf(GLIBC_2.0) [SUSv3] pause(GLIBC_2.0) [SUSv3] 1787 pipe(GLIBC_2.0) [SUSv3] poll(GLIBC_2.0) [SUSv3] 1788 pselect(GLIBC_2.0) [SUSv3] read(GLIBC_2.0) [SUSv3] 1789 readdir(GLIBC_2.0) [SUSv3] readdir_r(GLIBC_2.0) [SUSv3] 1790 readlink(GLIBC_2.0) [SUSv3] readv(GLIBC_2.0) [SUSv3] 1791 rename(GLIBC_2.0) [SUSv3] rmdir(GLIBC_2.0) [SUSv3] 1792 sbrk(GLIBC_2.0) [SUSv2] sched_get_priority_max(GLIBC_2.0) 1793 [SUSv3] sched_get_priority_min(GLIBC_2.0) [SUSv3] 1794 sched_getparam(GLIBC_2.0) [SUSv3] 1795 sched_getscheduler(GLIBC_2.0) [SUSv3] 1796 sched_rr_get_interval(GLIBC_2.0) [SUSv3] 1797 sched_setparam(GLIBC_2.0) [SUSv3] sched_setscheduler(GLIBC_2.0) 1798 [LSB] 1799 sched_yield(GLIBC_2.0) [SUSv3] select(GLIBC_2.0) [SUSv3] 1800 setcontext(GLIBC_2.0) [SUSv3] setegid(GLIBC_2.0) [SUSv3] 1801 seteuid(GLIBC_2.0) [SUSv3] setgid(GLIBC_2.0) [SUSv3] 1802 setitimer(GLIBC_2.0) [SUSv3] setpgid(GLIBC_2.0) [SUSv3] 1803 setpgrp(GLIBC_2.0) [SUSv3] setpriority(GLIBC_2.0) [SUSv3] 1804 setregid(GLIBC_2.0) [SUSv3] setreuid(GLIBC_2.0) [SUSv3] 1805 setrlimit(GLIBC_2.2) [SUSv3] setrlimit64(GLIBC_2.1) [LFS] 1806 setsid(GLIBC_2.0) [SUSv3] setuid(GLIBC_2.0) [SUSv3] 1807 sleep(GLIBC_2.0) [SUSv3] statfs(GLIBC_2.0) [LSB] 1808 statvfs(GLIBC_2.1) [SUSv3] stime(GLIBC_2.0) [LSB] 1809 symlink(GLIBC_2.0) [SUSv3] sync(GLIBC_2.0) [SUSv3] 1810 sysconf(GLIBC_2.0) [LSB] time(GLIBC_2.0) [SUSv3] 1811 times(GLIBC_2.0) [SUSv3] truncate(GLIBC_2.0) [SUSv3] 1812 ulimit(GLIBC_2.0) [SUSv3] umask(GLIBC_2.0) [SUSv3] 1813 uname(GLIBC_2.0) [SUSv3] unlink(GLIBC_2.0) [LSB] 1814 utime(GLIBC_2.0) [SUSv3] utimes(GLIBC_2.0) [SUSv3] 1815 vfork(GLIBC_2.0) [SUSv3] wait(GLIBC_2.0) [SUSv3] 1816 wait4(GLIBC_2.0) [LSB] waitid(GLIBC_2.1) [SUSv3] 1817 waitpid(GLIBC_2.0) [LSB] write(GLIBC_2.0) [SUSv3] 1818 writev(GLIBC_2.0) [SUSv3] 1819 1820 An LSB conforming implementation shall provide the architecture 1821 specific deprecated functions for System Calls specified in 1822 Table 11-4, with the full mandatory functionality as described 1823 in the referenced underlying specification. 1824 1825 Note: These interfaces are deprecated, and applications 1826 should avoid using them. These interfaces may be withdrawn 1827 in future releases of this specification. 1828 1829 Table 11-4. libc - System Calls Deprecated Function Interfaces 1830 fstatfs(GLIBC_2.0) [LSB] getdtablesize(GLIBC_2.0) [LSB] 1831 getpagesize(GLIBC_2.0) [LSB] getwd(GLIBC_2.0) [SUSv3] 1832 statfs(GLIBC_2.0) [LSB] 1833 __________________________________________________________ 1834 1835 11.2.3. Standard I/O 1836 __________________________________________________________ 1837 1838 11.2.3.1. Interfaces for Standard I/O 1839 1840 An LSB conforming implementation shall provide the architecture 1841 specific functions for Standard I/O specified in Table 11-5, 1842 with the full mandatory functionality as described in the 1843 referenced underlying specification. 1844 1845 Table 11-5. libc - Standard I/O Function Interfaces 1846 _IO_feof(GLIBC_2.0) [LSB] _IO_getc(GLIBC_2.0) [LSB] 1847 _IO_putc(GLIBC_2.0) [LSB] _IO_puts(GLIBC_2.0) [LSB] 1848 asprintf(GLIBC_2.0) [LSB] clearerr(GLIBC_2.0) [SUSv3] 1849 ctermid(GLIBC_2.0) [SUSv3] fclose(GLIBC_2.1) [SUSv3] 1850 fdopen(GLIBC_2.1) [SUSv3] feof(GLIBC_2.0) [SUSv3] 1851 ferror(GLIBC_2.0) [SUSv3] fflush(GLIBC_2.0) [SUSv3] 1852 fflush_unlocked(GLIBC_2.0) [LSB] fgetc(GLIBC_2.0) [SUSv3] 1853 fgetpos(GLIBC_2.2) [SUSv3] fgets(GLIBC_2.0) [SUSv3] 1854 fgetwc_unlocked(GLIBC_2.2) [LSB] fileno(GLIBC_2.0) [SUSv3] 1855 flockfile(GLIBC_2.0) [SUSv3] fopen(GLIBC_2.1) [SUSv3] 1856 fprintf(GLIBC_2.0) [SUSv3] fputc(GLIBC_2.0) [SUSv3] 1857 fputs(GLIBC_2.0) [SUSv3] fread(GLIBC_2.0) [SUSv3] 1858 freopen(GLIBC_2.0) [SUSv3] fscanf(GLIBC_2.0) [LSB] 1859 fseek(GLIBC_2.0) [SUSv3] fseeko(GLIBC_2.1) [SUSv3] 1860 fsetpos(GLIBC_2.2) [SUSv3] ftell(GLIBC_2.0) [SUSv3] 1861 ftello(GLIBC_2.1) [SUSv3] fwrite(GLIBC_2.0) [SUSv3] 1862 getc(GLIBC_2.0) [SUSv3] getc_unlocked(GLIBC_2.0) [SUSv3] 1863 getchar(GLIBC_2.0) [SUSv3] getchar_unlocked(GLIBC_2.0) [SUSv3] 1864 getw(GLIBC_2.0) [SUSv2] pclose(GLIBC_2.1) [SUSv3] 1865 popen(GLIBC_2.1) [SUSv3] printf(GLIBC_2.0) [SUSv3] 1866 putc(GLIBC_2.0) [SUSv3] putc_unlocked(GLIBC_2.0) [SUSv3] 1867 putchar(GLIBC_2.0) [SUSv3] putchar_unlocked(GLIBC_2.0) [SUSv3] 1868 puts(GLIBC_2.0) [SUSv3] putw(GLIBC_2.0) [SUSv2] 1869 remove(GLIBC_2.0) [SUSv3] rewind(GLIBC_2.0) [SUSv3] 1870 rewinddir(GLIBC_2.0) [SUSv3] scanf(GLIBC_2.0) [LSB] 1871 seekdir(GLIBC_2.0) [SUSv3] setbuf(GLIBC_2.0) [SUSv3] 1872 setbuffer(GLIBC_2.0) [LSB] setvbuf(GLIBC_2.0) [SUSv3] 1873 snprintf(GLIBC_2.0) [SUSv3] sprintf(GLIBC_2.0) [SUSv3] 1874 sscanf(GLIBC_2.0) [LSB] telldir(GLIBC_2.0) [SUSv3] 1875 tempnam(GLIBC_2.0) [SUSv3] ungetc(GLIBC_2.0) [SUSv3] 1876 vasprintf(GLIBC_2.0) [LSB] vdprintf(GLIBC_2.0) [LSB] 1877 vfprintf(GLIBC_2.0) [SUSv3] vprintf(GLIBC_2.0) [SUSv3] 1878 vsnprintf(GLIBC_2.0) [SUSv3] vsprintf(GLIBC_2.0) [SUSv3] 1879 1880 An LSB conforming implementation shall provide the architecture 1881 specific data interfaces for Standard I/O specified in Table 1882 11-6, with the full mandatory functionality as described in the 1883 referenced underlying specification. 1884 1885 Table 11-6. libc - Standard I/O Data Interfaces 1886 stderr(GLIBC_2.0) [SUSv3] stdin(GLIBC_2.0) [SUSv3] 1887 stdout(GLIBC_2.0) [SUSv3] 1888 __________________________________________________________ 1889 1890 11.2.4. Signal Handling 1891 __________________________________________________________ 1892 1893 11.2.4.1. Interfaces for Signal Handling 1894 1895 An LSB conforming implementation shall provide the architecture 1896 specific functions for Signal Handling specified in Table 11-7, 1897 with the full mandatory functionality as described in the 1898 referenced underlying specification. 1899 1900 Table 11-7. libc - Signal Handling Function Interfaces 1901 __libc_current_sigrtmax(GLIBC_2.1) [LSB] 1902 __libc_current_sigrtmin(GLIBC_2.1) [LSB] __sigsetjmp(GLIBC_2.0) 1903 [LSB] __sysv_signal(GLIBC_2.0) [LSB] 1904 __xpg_sigpause(GLIBC_2.2) [LSB] bsd_signal(GLIBC_2.0) [SUSv3] 1905 psignal(GLIBC_2.0) [LSB] raise(GLIBC_2.0) [SUSv3] 1906 sigaction(GLIBC_2.0) [SUSv3] sigaddset(GLIBC_2.0) [SUSv3] 1907 sigaltstack(GLIBC_2.0) [SUSv3] sigandset(GLIBC_2.0) [LSB] 1908 sigdelset(GLIBC_2.0) [SUSv3] sigemptyset(GLIBC_2.0) [SUSv3] 1909 sigfillset(GLIBC_2.0) [SUSv3] sighold(GLIBC_2.1) [SUSv3] 1910 sigignore(GLIBC_2.1) [SUSv3] siginterrupt(GLIBC_2.0) [SUSv3] 1911 sigisemptyset(GLIBC_2.0) [LSB] sigismember(GLIBC_2.0) [SUSv3] 1912 siglongjmp(GLIBC_2.0) [SUSv3] signal(GLIBC_2.0) [SUSv3] 1913 sigorset(GLIBC_2.0) [LSB] sigpause(GLIBC_2.0) [LSB] 1914 sigpending(GLIBC_2.0) [SUSv3] sigprocmask(GLIBC_2.0) [SUSv3] 1915 sigqueue(GLIBC_2.1) [SUSv3] sigrelse(GLIBC_2.1) [SUSv3] 1916 sigreturn(GLIBC_2.0) [LSB] sigset(GLIBC_2.1) [SUSv3] 1917 sigsuspend(GLIBC_2.0) [SUSv3] sigtimedwait(GLIBC_2.1) [SUSv3] 1918 sigwait(GLIBC_2.0) [SUSv3] sigwaitinfo(GLIBC_2.1) [SUSv3] 1919 1920 An LSB conforming implementation shall provide the architecture 1921 specific deprecated functions for Signal Handling specified in 1922 Table 11-8, with the full mandatory functionality as described 1923 in the referenced underlying specification. 1924 1925 Note: These interfaces are deprecated, and applications 1926 should avoid using them. These interfaces may be withdrawn 1927 in future releases of this specification. 1928 1929 Table 11-8. libc - Signal Handling Deprecated Function 1930 Interfaces 1931 sigpause(GLIBC_2.0) [LSB] 1932 1933 An LSB conforming implementation shall provide the architecture 1934 specific data interfaces for Signal Handling specified in Table 1935 11-9, with the full mandatory functionality as described in the 1936 referenced underlying specification. 1937 1938 Table 11-9. libc - Signal Handling Data Interfaces 1939 _sys_siglist(GLIBC_2.3.3) [LSB] 1940 __________________________________________________________ 1941 1942 11.2.5. Localization Functions 1943 __________________________________________________________ 1944 1945 11.2.5.1. Interfaces for Localization Functions 1946 1947 An LSB conforming implementation shall provide the architecture 1948 specific functions for Localization Functions specified in 1949 Table 11-10, with the full mandatory functionality as described 1950 in the referenced underlying specification. 1951 1952 Table 11-10. libc - Localization Functions Function Interfaces 1953 bind_textdomain_codeset(GLIBC_2.2) [LSB] 1954 bindtextdomain(GLIBC_2.0) [LSB] catclose(GLIBC_2.0) [SUSv3] 1955 catgets(GLIBC_2.0) [SUSv3] 1956 catopen(GLIBC_2.0) [SUSv3] dcgettext(GLIBC_2.0) [LSB] 1957 dcngettext(GLIBC_2.2) [LSB] dgettext(GLIBC_2.0) [LSB] 1958 dngettext(GLIBC_2.2) [LSB] gettext(GLIBC_2.0) [LSB] 1959 iconv(GLIBC_2.1) [SUSv3] iconv_close(GLIBC_2.1) [SUSv3] 1960 iconv_open(GLIBC_2.1) [SUSv3] localeconv(GLIBC_2.2) [SUSv3] 1961 ngettext(GLIBC_2.2) [LSB] nl_langinfo(GLIBC_2.0) [SUSv3] 1962 setlocale(GLIBC_2.0) [SUSv3] textdomain(GLIBC_2.0) [LSB] 1963 1964 An LSB conforming implementation shall provide the architecture 1965 specific data interfaces for Localization Functions specified 1966 in Table 11-11, with the full mandatory functionality as 1967 described in the referenced underlying specification. 1968 1969 Table 11-11. libc - Localization Functions Data Interfaces 1970 _nl_msg_cat_cntr(GLIBC_2.0) [LSB] 1971 __________________________________________________________ 1972 1973 11.2.6. Posix Spawn Option 1974 __________________________________________________________ 1975 1976 11.2.6.1. Interfaces for Posix Spawn Option 1977 1978 An LSB conforming implementation shall provide the architecture 1979 specific functions for Posix Spawn Option specified in Table 1980 11-12, with the full mandatory functionality as described in 1981 the referenced underlying specification. 1982 1983 Table 11-12. libc - Posix Spawn Option Function Interfaces 1984 posix_spawn(GLIBC_2.2) [SUSv3] 1985 posix_spawn_file_actions_addclose(GLIBC_2.2) [SUSv3] 1986 posix_spawn_file_actions_adddup2(GLIBC_2.2) [SUSv3] 1987 posix_spawn_file_actions_addopen(GLIBC_2.2) [SUSv3] 1988 posix_spawn_file_actions_destroy(GLIBC_2.2) [SUSv3] 1989 posix_spawn_file_actions_init(GLIBC_2.2) [SUSv3] 1990 posix_spawnattr_destroy(GLIBC_2.2) [SUSv3] 1991 posix_spawnattr_getflags(GLIBC_2.2) [SUSv3] 1992 posix_spawnattr_getpgroup(GLIBC_2.2) [SUSv3] 1993 posix_spawnattr_getschedparam(GLIBC_2.2) [SUSv3] 1994 posix_spawnattr_getschedpolicy(GLIBC_2.2) [SUSv3] 1995 posix_spawnattr_getsigdefault(GLIBC_2.2) [SUSv3] 1996 posix_spawnattr_getsigmask(GLIBC_2.2) [SUSv3] 1997 posix_spawnattr_init(GLIBC_2.2) [SUSv3] 1998 posix_spawnattr_setflags(GLIBC_2.2) [SUSv3] 1999 posix_spawnattr_setpgroup(GLIBC_2.2) [SUSv3] 2000 posix_spawnattr_setschedparam(GLIBC_2.2) [SUSv3] 2001 posix_spawnattr_setschedpolicy(GLIBC_2.2) [SUSv3] 2002 posix_spawnattr_setsigdefault(GLIBC_2.2) [SUSv3] 2003 posix_spawnattr_setsigmask(GLIBC_2.2) [SUSv3] 2004 posix_spawnp(GLIBC_2.2) [SUSv3] 2005 __________________________________________________________ 2006 2007 11.2.7. Posix Advisory Option 2008 __________________________________________________________ 2009 2010 11.2.7.1. Interfaces for Posix Advisory Option 2011 2012 An LSB conforming implementation shall provide the architecture 2013 specific functions for Posix Advisory Option specified in Table 2014 11-13, with the full mandatory functionality as described in 2015 the referenced underlying specification. 2016 2017 Table 11-13. libc - Posix Advisory Option Function Interfaces 2018 posix_fadvise(GLIBC_2.2) [SUSv3] posix_fallocate(GLIBC_2.2) 2019 [SUSv3] posix_madvise(GLIBC_2.2) [SUSv3] 2020 posix_memalign(GLIBC_2.2) [SUSv3] 2021 __________________________________________________________ 2022 2023 11.2.8. Socket Interface 2024 __________________________________________________________ 2025 2026 11.2.8.1. Interfaces for Socket Interface 2027 2028 An LSB conforming implementation shall provide the architecture 2029 specific functions for Socket Interface specified in Table 2030 11-14, with the full mandatory functionality as described in 2031 the referenced underlying specification. 2032 2033 Table 11-14. libc - Socket Interface Function Interfaces 2034 __h_errno_location(GLIBC_2.0) [LSB] accept(GLIBC_2.0) [SUSv3] 2035 bind(GLIBC_2.0) [SUSv3] bindresvport(GLIBC_2.0) [LSB] 2036 connect(GLIBC_2.0) [SUSv3] gethostid(GLIBC_2.0) [SUSv3] 2037 gethostname(GLIBC_2.0) [SUSv3] getpeername(GLIBC_2.0) [SUSv3] 2038 getsockname(GLIBC_2.0) [SUSv3] getsockopt(GLIBC_2.0) [LSB] 2039 if_freenameindex(GLIBC_2.1) [SUSv3] if_indextoname(GLIBC_2.1) 2040 [SUSv3] 2041 if_nameindex(GLIBC_2.1) [SUSv3] if_nametoindex(GLIBC_2.1) 2042 [SUSv3] listen(GLIBC_2.0) [SUSv3] recv(GLIBC_2.0) [SUSv3] 2043 recvfrom(GLIBC_2.0) [SUSv3] recvmsg(GLIBC_2.0) [SUSv3] 2044 send(GLIBC_2.0) [SUSv3] sendmsg(GLIBC_2.0) [SUSv3] 2045 sendto(GLIBC_2.0) [SUSv3] setsockopt(GLIBC_2.0) [LSB] 2046 shutdown(GLIBC_2.0) [SUSv3] sockatmark(GLIBC_2.2.4) [SUSv3] 2047 socket(GLIBC_2.0) [SUSv3] socketpair(GLIBC_2.0) [SUSv3] 2048 2049 An LSB conforming implementation shall provide the architecture 2050 specific data interfaces for Socket Interface specified in 2051 Table 11-15, with the full mandatory functionality as described 2052 in the referenced underlying specification. 2053 2054 Table 11-15. libc - Socket Interface Data Interfaces 2055 in6addr_any(GLIBC_2.1) [SUSv3] in6addr_loopback(GLIBC_2.1) 2056 [SUSv3] 2057 __________________________________________________________ 2058 2059 11.2.9. Wide Characters 2060 __________________________________________________________ 2061 2062 11.2.9.1. Interfaces for Wide Characters 2063 2064 An LSB conforming implementation shall provide the architecture 2065 specific functions for Wide Characters specified in Table 2066 11-16, with the full mandatory functionality as described in 2067 the referenced underlying specification. 2068 2069 Table 11-16. libc - Wide Characters Function Interfaces 2070 __wcstod_internal(GLIBC_2.0) [LSB] __wcstof_internal(GLIBC_2.0) 2071 [LSB] __wcstol_internal(GLIBC_2.0) [LSB] 2072 __wcstold_internal(GLIBC_2.0) [LSB] 2073 __wcstoul_internal(GLIBC_2.0) [LSB] btowc(GLIBC_2.0) [SUSv3] 2074 fgetwc(GLIBC_2.2) [SUSv3] fgetws(GLIBC_2.2) [SUSv3] 2075 fputwc(GLIBC_2.2) [SUSv3] fputws(GLIBC_2.2) [SUSv3] 2076 fwide(GLIBC_2.2) [SUSv3] fwprintf(GLIBC_2.2) [SUSv3] 2077 fwscanf(GLIBC_2.2) [LSB] getwc(GLIBC_2.2) [SUSv3] 2078 getwchar(GLIBC_2.2) [SUSv3] mblen(GLIBC_2.0) [SUSv3] 2079 mbrlen(GLIBC_2.0) [SUSv3] mbrtowc(GLIBC_2.0) [SUSv3] 2080 mbsinit(GLIBC_2.0) [SUSv3] mbsnrtowcs(GLIBC_2.0) [LSB] 2081 mbsrtowcs(GLIBC_2.0) [SUSv3] mbstowcs(GLIBC_2.0) [SUSv3] 2082 mbtowc(GLIBC_2.0) [SUSv3] putwc(GLIBC_2.2) [SUSv3] 2083 putwchar(GLIBC_2.2) [SUSv3] swprintf(GLIBC_2.2) [SUSv3] 2084 swscanf(GLIBC_2.2) [LSB] towctrans(GLIBC_2.0) [SUSv3] 2085 towlower(GLIBC_2.0) [SUSv3] towupper(GLIBC_2.0) [SUSv3] 2086 ungetwc(GLIBC_2.2) [SUSv3] vfwprintf(GLIBC_2.2) [SUSv3] 2087 vfwscanf(GLIBC_2.2) [LSB] vswprintf(GLIBC_2.2) [SUSv3] 2088 vswscanf(GLIBC_2.2) [LSB] vwprintf(GLIBC_2.2) [SUSv3] 2089 vwscanf(GLIBC_2.2) [LSB] wcpcpy(GLIBC_2.0) [LSB] 2090 wcpncpy(GLIBC_2.0) [LSB] wcrtomb(GLIBC_2.0) [SUSv3] 2091 wcscasecmp(GLIBC_2.1) [LSB] wcscat(GLIBC_2.0) [SUSv3] 2092 wcschr(GLIBC_2.0) [SUSv3] wcscmp(GLIBC_2.0) [SUSv3] 2093 wcscoll(GLIBC_2.0) [SUSv3] wcscpy(GLIBC_2.0) [SUSv3] 2094 wcscspn(GLIBC_2.0) [SUSv3] wcsdup(GLIBC_2.0) [LSB] 2095 wcsftime(GLIBC_2.2) [SUSv3] wcslen(GLIBC_2.0) [SUSv3] 2096 wcsncasecmp(GLIBC_2.1) [LSB] wcsncat(GLIBC_2.0) [SUSv3] 2097 wcsncmp(GLIBC_2.0) [SUSv3] wcsncpy(GLIBC_2.0) [SUSv3] 2098 wcsnlen(GLIBC_2.1) [LSB] wcsnrtombs(GLIBC_2.0) [LSB] 2099 wcspbrk(GLIBC_2.0) [SUSv3] wcsrchr(GLIBC_2.0) [SUSv3] 2100 wcsrtombs(GLIBC_2.0) [SUSv3] wcsspn(GLIBC_2.0) [SUSv3] 2101 wcsstr(GLIBC_2.0) [SUSv3] wcstod(GLIBC_2.0) [SUSv3] 2102 wcstof(GLIBC_2.0) [SUSv3] wcstoimax(GLIBC_2.1) [SUSv3] 2103 wcstok(GLIBC_2.0) [SUSv3] wcstol(GLIBC_2.0) [SUSv3] 2104 wcstold(GLIBC_2.0) [SUSv3] wcstoll(GLIBC_2.1) [SUSv3] 2105 wcstombs(GLIBC_2.0) [SUSv3] wcstoq(GLIBC_2.0) [LSB] 2106 wcstoul(GLIBC_2.0) [SUSv3] wcstoull(GLIBC_2.1) [SUSv3] 2107 wcstoumax(GLIBC_2.1) [SUSv3] wcstouq(GLIBC_2.0) [LSB] 2108 wcswcs(GLIBC_2.1) [SUSv3] wcswidth(GLIBC_2.0) [SUSv3] 2109 wcsxfrm(GLIBC_2.0) [SUSv3] wctob(GLIBC_2.0) [SUSv3] 2110 wctomb(GLIBC_2.0) [SUSv3] wctrans(GLIBC_2.0) [SUSv3] 2111 wctype(GLIBC_2.0) [SUSv3] wcwidth(GLIBC_2.0) [SUSv3] 2112 wmemchr(GLIBC_2.0) [SUSv3] wmemcmp(GLIBC_2.0) [SUSv3] 2113 wmemcpy(GLIBC_2.0) [SUSv3] wmemmove(GLIBC_2.0) [SUSv3] 2114 wmemset(GLIBC_2.0) [SUSv3] wprintf(GLIBC_2.2) [SUSv3] 2115 wscanf(GLIBC_2.2) [LSB] 2116 __________________________________________________________ 2117 2118 11.2.10. String Functions 2119 __________________________________________________________ 2120 2121 11.2.10.1. Interfaces for String Functions 2122 2123 An LSB conforming implementation shall provide the architecture 2124 specific functions for String Functions specified in Table 2125 11-17, with the full mandatory functionality as described in 2126 the referenced underlying specification. 2127 2128 Table 11-17. libc - String Functions Function Interfaces 2129 __mempcpy(GLIBC_2.0) [LSB] __rawmemchr(GLIBC_2.1) [LSB] 2130 __stpcpy(GLIBC_2.0) [LSB] __strdup(GLIBC_2.0) [LSB] 2131 __strtod_internal(GLIBC_2.0) [LSB] __strtof_internal(GLIBC_2.0) 2132 [LSB] __strtok_r(GLIBC_2.0) [LSB] __strtol_internal(GLIBC_2.0) 2133 [LSB] 2134 __strtold_internal(GLIBC_2.0) [LSB] 2135 __strtoll_internal(GLIBC_2.0) [LSB] 2136 __strtoul_internal(GLIBC_2.0) [LSB] 2137 __strtoull_internal(GLIBC_2.0) [LSB] 2138 __xpg_strerror_r(GLIBC_2.3.4) [LSB] bcmp(GLIBC_2.0) [SUSv3] 2139 bcopy(GLIBC_2.0) [SUSv3] bzero(GLIBC_2.0) [SUSv3] 2140 ffs(GLIBC_2.0) [SUSv3] index(GLIBC_2.0) [SUSv3] 2141 memccpy(GLIBC_2.0) [SUSv3] memchr(GLIBC_2.0) [SUSv3] 2142 memcmp(GLIBC_2.0) [SUSv3] memcpy(GLIBC_2.0) [SUSv3] 2143 memmove(GLIBC_2.0) [SUSv3] memrchr(GLIBC_2.2) [LSB] 2144 memset(GLIBC_2.0) [SUSv3] rindex(GLIBC_2.0) [SUSv3] 2145 stpcpy(GLIBC_2.0) [LSB] stpncpy(GLIBC_2.0) [LSB] 2146 strcasecmp(GLIBC_2.0) [SUSv3] strcasestr(GLIBC_2.1) [LSB] 2147 strcat(GLIBC_2.0) [SUSv3] strchr(GLIBC_2.0) [SUSv3] 2148 strcmp(GLIBC_2.0) [SUSv3] strcoll(GLIBC_2.0) [SUSv3] 2149 strcpy(GLIBC_2.0) [SUSv3] strcspn(GLIBC_2.0) [SUSv3] 2150 strdup(GLIBC_2.0) [SUSv3] strerror(GLIBC_2.0) [SUSv3] 2151 strerror_r(GLIBC_2.0) [LSB] strfmon(GLIBC_2.0) [SUSv3] 2152 strftime(GLIBC_2.0) [SUSv3] strlen(GLIBC_2.0) [SUSv3] 2153 strncasecmp(GLIBC_2.0) [SUSv3] strncat(GLIBC_2.0) [SUSv3] 2154 strncmp(GLIBC_2.0) [SUSv3] strncpy(GLIBC_2.0) [SUSv3] 2155 strndup(GLIBC_2.0) [LSB] strnlen(GLIBC_2.0) [LSB] 2156 strpbrk(GLIBC_2.0) [SUSv3] strptime(GLIBC_2.0) [LSB] 2157 strrchr(GLIBC_2.0) [SUSv3] strsep(GLIBC_2.0) [LSB] 2158 strsignal(GLIBC_2.0) [LSB] strspn(GLIBC_2.0) [SUSv3] 2159 strstr(GLIBC_2.0) [SUSv3] strtof(GLIBC_2.0) [SUSv3] 2160 strtoimax(GLIBC_2.1) [SUSv3] strtok(GLIBC_2.0) [SUSv3] 2161 strtok_r(GLIBC_2.0) [SUSv3] strtold(GLIBC_2.0) [SUSv3] 2162 strtoll(GLIBC_2.0) [SUSv3] strtoq(GLIBC_2.0) [LSB] 2163 strtoull(GLIBC_2.0) [SUSv3] strtoumax(GLIBC_2.1) [SUSv3] 2164 strtouq(GLIBC_2.0) [LSB] strxfrm(GLIBC_2.0) [SUSv3] 2165 swab(GLIBC_2.0) [SUSv3] 2166 2167 An LSB conforming implementation shall provide the architecture 2168 specific deprecated functions for String Functions specified in 2169 Table 11-18, with the full mandatory functionality as described 2170 in the referenced underlying specification. 2171 2172 Note: These interfaces are deprecated, and applications 2173 should avoid using them. These interfaces may be withdrawn 2174 in future releases of this specification. 2175 2176 Table 11-18. libc - String Functions Deprecated Function 2177 Interfaces 2178 strerror_r(GLIBC_2.0) [LSB] 2179 __________________________________________________________ 2180 2181 11.2.11. IPC Functions 2182 __________________________________________________________ 2183 2184 11.2.11.1. Interfaces for IPC Functions 2185 2186 An LSB conforming implementation shall provide the architecture 2187 specific functions for IPC Functions specified in Table 11-19, 2188 with the full mandatory functionality as described in the 2189 referenced underlying specification. 2190 2191 Table 11-19. libc - IPC Functions Function Interfaces 2192 ftok(GLIBC_2.0) [SUSv3] msgctl(GLIBC_2.2) [SUSv3] 2193 msgget(GLIBC_2.0) [SUSv3] msgrcv(GLIBC_2.0) [SUSv3] 2194 msgsnd(GLIBC_2.0) [SUSv3] semctl(GLIBC_2.2) [SUSv3] 2195 semget(GLIBC_2.0) [SUSv3] semop(GLIBC_2.0) [SUSv3] 2196 shmat(GLIBC_2.0) [SUSv3] shmctl(GLIBC_2.2) [SUSv3] 2197 shmdt(GLIBC_2.0) [SUSv3] shmget(GLIBC_2.0) [SUSv3] 2198 __________________________________________________________ 2199 2200 11.2.12. Regular Expressions 2201 __________________________________________________________ 2202 2203 11.2.12.1. Interfaces for Regular Expressions 2204 2205 An LSB conforming implementation shall provide the architecture 2206 specific functions for Regular Expressions specified in Table 2207 11-20, with the full mandatory functionality as described in 2208 the referenced underlying specification. 2209 2210 Table 11-20. libc - Regular Expressions Function Interfaces 2211 regcomp(GLIBC_2.0) [SUSv3] regerror(GLIBC_2.0) [SUSv3] 2212 regexec(GLIBC_2.3.4) [LSB] regfree(GLIBC_2.0) [SUSv3] 2213 __________________________________________________________ 2214 2215 11.2.13. Character Type Functions 2216 __________________________________________________________ 2217 2218 11.2.13.1. Interfaces for Character Type Functions 2219 2220 An LSB conforming implementation shall provide the architecture 2221 specific functions for Character Type Functions specified in 2222 Table 11-21, with the full mandatory functionality as described 2223 in the referenced underlying specification. 2224 2225 Table 11-21. libc - Character Type Functions Function 2226 Interfaces 2227 __ctype_get_mb_cur_max(GLIBC_2.0) [LSB] _tolower(GLIBC_2.0) 2228 [SUSv3] _toupper(GLIBC_2.0) [SUSv3] isalnum(GLIBC_2.0) [SUSv3] 2229 isalpha(GLIBC_2.0) [SUSv3] isascii(GLIBC_2.0) [SUSv3] 2230 iscntrl(GLIBC_2.0) [SUSv3] isdigit(GLIBC_2.0) [SUSv3] 2231 isgraph(GLIBC_2.0) [SUSv3] islower(GLIBC_2.0) [SUSv3] 2232 isprint(GLIBC_2.0) [SUSv3] ispunct(GLIBC_2.0) [SUSv3] 2233 isspace(GLIBC_2.0) [SUSv3] isupper(GLIBC_2.0) [SUSv3] 2234 iswalnum(GLIBC_2.0) [SUSv3] iswalpha(GLIBC_2.0) [SUSv3] 2235 iswblank(GLIBC_2.1) [SUSv3] iswcntrl(GLIBC_2.0) [SUSv3] 2236 iswctype(GLIBC_2.0) [SUSv3] iswdigit(GLIBC_2.0) [SUSv3] 2237 iswgraph(GLIBC_2.0) [SUSv3] iswlower(GLIBC_2.0) [SUSv3] 2238 iswprint(GLIBC_2.0) [SUSv3] iswpunct(GLIBC_2.0) [SUSv3] 2239 iswspace(GLIBC_2.0) [SUSv3] iswupper(GLIBC_2.0) [SUSv3] 2240 iswxdigit(GLIBC_2.0) [SUSv3] isxdigit(GLIBC_2.0) [SUSv3] 2241 toascii(GLIBC_2.0) [SUSv3] tolower(GLIBC_2.0) [SUSv3] 2242 toupper(GLIBC_2.0) [SUSv3] 2243 __________________________________________________________ 2244 2245 11.2.14. Time Manipulation 2246 __________________________________________________________ 2247 2248 11.2.14.1. Interfaces for Time Manipulation 2249 2250 An LSB conforming implementation shall provide the architecture 2251 specific functions for Time Manipulation specified in Table 2252 11-22, with the full mandatory functionality as described in 2253 the referenced underlying specification. 2254 2255 Table 11-22. libc - Time Manipulation Function Interfaces 2256 adjtime(GLIBC_2.0) [LSB] asctime(GLIBC_2.0) [SUSv3] 2257 asctime_r(GLIBC_2.0) [SUSv3] ctime(GLIBC_2.0) [SUSv3] 2258 ctime_r(GLIBC_2.0) [SUSv3] difftime(GLIBC_2.0) [SUSv3] 2259 gmtime(GLIBC_2.0) [SUSv3] gmtime_r(GLIBC_2.0) [SUSv3] 2260 localtime(GLIBC_2.0) [SUSv3] localtime_r(GLIBC_2.0) [SUSv3] 2261 mktime(GLIBC_2.0) [SUSv3] tzset(GLIBC_2.0) [SUSv3] 2262 ualarm(GLIBC_2.0) [SUSv3] 2263 2264 An LSB conforming implementation shall provide the architecture 2265 specific data interfaces for Time Manipulation specified in 2266 Table 11-23, with the full mandatory functionality as described 2267 in the referenced underlying specification. 2268 2269 Table 11-23. libc - Time Manipulation Data Interfaces 2270 __daylight(GLIBC_2.0) [LSB] __timezone(GLIBC_2.0) [LSB] 2271 __tzname(GLIBC_2.0) [LSB] daylight(GLIBC_2.0) [SUSv3] 2272 timezone(GLIBC_2.0) [SUSv3] tzname(GLIBC_2.0) [SUSv3] 2273 __________________________________________________________ 2274 2275 11.2.15. Terminal Interface Functions 2276 __________________________________________________________ 2277 2278 11.2.15.1. Interfaces for Terminal Interface Functions 2279 2280 An LSB conforming implementation shall provide the architecture 2281 specific functions for Terminal Interface Functions specified 2282 in Table 11-24, with the full mandatory functionality as 2283 described in the referenced underlying specification. 2284 2285 Table 11-24. libc - Terminal Interface Functions Function 2286 Interfaces 2287 cfgetispeed(GLIBC_2.0) [SUSv3] cfgetospeed(GLIBC_2.0) [SUSv3] 2288 cfmakeraw(GLIBC_2.0) [LSB] cfsetispeed(GLIBC_2.0) [SUSv3] 2289 cfsetospeed(GLIBC_2.0) [SUSv3] cfsetspeed(GLIBC_2.0) [LSB] 2290 tcdrain(GLIBC_2.0) [SUSv3] tcflow(GLIBC_2.0) [SUSv3] 2291 tcflush(GLIBC_2.0) [SUSv3] tcgetattr(GLIBC_2.0) [SUSv3] 2292 tcgetpgrp(GLIBC_2.0) [SUSv3] tcgetsid(GLIBC_2.1) [SUSv3] 2293 tcsendbreak(GLIBC_2.0) [SUSv3] tcsetattr(GLIBC_2.0) [SUSv3] 2294 tcsetpgrp(GLIBC_2.0) [SUSv3] 2295 __________________________________________________________ 2296 2297 11.2.16. System Database Interface 2298 __________________________________________________________ 2299 2300 11.2.16.1. Interfaces for System Database Interface 2301 2302 An LSB conforming implementation shall provide the architecture 2303 specific functions for System Database Interface specified in 2304 Table 11-25, with the full mandatory functionality as described 2305 in the referenced underlying specification. 2306 2307 Table 11-25. libc - System Database Interface Function 2308 Interfaces 2309 endgrent(GLIBC_2.0) [SUSv3] endprotoent(GLIBC_2.0) [SUSv3] 2310 endpwent(GLIBC_2.0) [SUSv3] endservent(GLIBC_2.0) [SUSv3] 2311 endutent(GLIBC_2.0) [LSB] endutxent(GLIBC_2.1) [SUSv3] 2312 getgrent(GLIBC_2.0) [SUSv3] getgrgid(GLIBC_2.0) [SUSv3] 2313 getgrgid_r(GLIBC_2.1.2) [SUSv3] getgrnam(GLIBC_2.0) [SUSv3] 2314 getgrnam_r(GLIBC_2.1.2) [SUSv3] getgrouplist(GLIBC_2.2.4) [LSB] 2315 gethostbyaddr(GLIBC_2.0) [SUSv3] gethostbyaddr_r(GLIBC_2.1.2) 2316 [LSB] gethostbyname(GLIBC_2.0) [SUSv3] 2317 gethostbyname2(GLIBC_2.0) [LSB] 2318 gethostbyname2_r(GLIBC_2.1.2) [LSB] 2319 gethostbyname_r(GLIBC_2.1.2) [LSB] getprotobyname(GLIBC_2.0) 2320 [SUSv3] getprotobynumber(GLIBC_2.0) [SUSv3] 2321 getprotoent(GLIBC_2.0) [SUSv3] getpwent(GLIBC_2.0) [SUSv3] 2322 getpwnam(GLIBC_2.0) [SUSv3] getpwnam_r(GLIBC_2.1.2) [SUSv3] 2323 getpwuid(GLIBC_2.0) [SUSv3] getpwuid_r(GLIBC_2.1.2) [SUSv3] 2324 getservbyname(GLIBC_2.0) [SUSv3] getservbyport(GLIBC_2.0) 2325 [SUSv3] 2326 getservent(GLIBC_2.0) [SUSv3] getutent(GLIBC_2.0) [LSB] 2327 getutent_r(GLIBC_2.0) [LSB] getutxent(GLIBC_2.1) [SUSv3] 2328 getutxid(GLIBC_2.1) [SUSv3] getutxline(GLIBC_2.1) [SUSv3] 2329 pututxline(GLIBC_2.1) [SUSv3] setgrent(GLIBC_2.0) [SUSv3] 2330 setgroups(GLIBC_2.0) [LSB] setprotoent(GLIBC_2.0) [SUSv3] 2331 setpwent(GLIBC_2.0) [SUSv3] setservent(GLIBC_2.0) [SUSv3] 2332 setutent(GLIBC_2.0) [LSB] setutxent(GLIBC_2.1) [SUSv3] 2333 utmpname(GLIBC_2.0) [LSB] 2334 2335 An LSB conforming implementation shall provide the architecture 2336 specific deprecated functions for System Database Interface 2337 specified in Table 11-26, with the full mandatory functionality 2338 as described in the referenced underlying specification. 2339 2340 Note: These interfaces are deprecated, and applications 2341 should avoid using them. These interfaces may be withdrawn 2342 in future releases of this specification. 2343 2344 Table 11-26. libc - System Database Interface Deprecated 2345 Function Interfaces 2346 gethostbyaddr(GLIBC_2.0) [SUSv3] gethostbyaddr_r(GLIBC_2.1.2) 2347 [LSB] gethostbyname(GLIBC_2.0) [SUSv3] 2348 gethostbyname2(GLIBC_2.0) [LSB] 2349 gethostbyname2_r(GLIBC_2.1.2) [LSB] 2350 gethostbyname_r(GLIBC_2.1.2) [LSB] 2351 __________________________________________________________ 2352 2353 11.2.17. Language Support 2354 __________________________________________________________ 2355 2356 11.2.17.1. Interfaces for Language Support 2357 2358 An LSB conforming implementation shall provide the architecture 2359 specific functions for Language Support specified in Table 2360 11-27, with the full mandatory functionality as described in 2361 the referenced underlying specification. 2362 2363 Table 11-27. libc - Language Support Function Interfaces 2364 __libc_start_main(GLIBC_2.0) [LSB] 2365 __________________________________________________________ 2366 2367 11.2.18. Large File Support 2368 __________________________________________________________ 2369 2370 11.2.18.1. Interfaces for Large File Support 2371 2372 An LSB conforming implementation shall provide the architecture 2373 specific functions for Large File Support specified in Table 2374 11-28, with the full mandatory functionality as described in 2375 the referenced underlying specification. 2376 2377 Table 11-28. libc - Large File Support Function Interfaces 2378 __fxstat64(GLIBC_2.2) [LSB] __lxstat64(GLIBC_2.2) [LSB] 2379 __xstat64(GLIBC_2.2) [LSB] creat64(GLIBC_2.1) [LFS] 2380 fgetpos64(GLIBC_2.2) [LFS] fopen64(GLIBC_2.1) [LFS] 2381 freopen64(GLIBC_2.1) [LFS] fseeko64(GLIBC_2.1) [LFS] 2382 fsetpos64(GLIBC_2.2) [LFS] fstatfs64(GLIBC_2.1) [LSB] 2383 fstatvfs64(GLIBC_2.1) [LFS] ftello64(GLIBC_2.1) [LFS] 2384 ftruncate64(GLIBC_2.1) [LFS] ftw64(GLIBC_2.1) [LFS] 2385 getrlimit64(GLIBC_2.2) [LFS] lockf64(GLIBC_2.1) [LFS] 2386 mkstemp64(GLIBC_2.2) [LFS] mmap64(GLIBC_2.1) [LFS] 2387 nftw64(GLIBC_2.3.3) [LFS] posix_fadvise64(GLIBC_2.3.3) [LSB] 2388 posix_fallocate64(GLIBC_2.3.3) [LSB] readdir64(GLIBC_2.2) [LFS] 2389 readdir64_r(GLIBC_2.2) [LSB] statfs64(GLIBC_2.1) [LSB] 2390 statvfs64(GLIBC_2.1) [LFS] tmpfile64(GLIBC_2.1) [LFS] 2391 truncate64(GLIBC_2.1) [LFS] 2392 2393 An LSB conforming implementation shall provide the architecture 2394 specific deprecated functions for Large File Support specified 2395 in Table 11-29, with the full mandatory functionality as 2396 described in the referenced underlying specification. 2397 2398 Note: These interfaces are deprecated, and applications 2399 should avoid using them. These interfaces may be withdrawn 2400 in future releases of this specification. 2401 2402 Table 11-29. libc - Large File Support Deprecated Function 2403 Interfaces 2404 fstatfs64(GLIBC_2.1) [LSB] statfs64(GLIBC_2.1) [LSB] 2405 __________________________________________________________ 2406 2407 11.2.19. Standard Library 2408 __________________________________________________________ 2409 2410 11.2.19.1. Interfaces for Standard Library 2411 2412 An LSB conforming implementation shall provide the architecture 2413 specific functions for Standard Library specified in Table 2414 11-30, with the full mandatory functionality as described in 2415 the referenced underlying specification. 2416 2417 Table 11-30. libc - Standard Library Function Interfaces 2418 _Exit(GLIBC_2.1.1) [SUSv3] __assert_fail(GLIBC_2.0) [LSB] 2419 __cxa_atexit(GLIBC_2.1.3) [LSB] __cxa_finalize(GLIBC_2.1.3) 2420 [LSB] 2421 __errno_location(GLIBC_2.0) [LSB] __fpending(GLIBC_2.2) [LSB] 2422 __getpagesize(GLIBC_2.0) [LSB] __isinf(GLIBC_2.0) [LSB] 2423 __isinff(GLIBC_2.0) [LSB] __isinfl(GLIBC_2.0) [LSB] 2424 __isnan(GLIBC_2.0) [LSB] __isnanf(GLIBC_2.0) [LSB] 2425 __isnanl(GLIBC_2.0) [LSB] __sysconf(GLIBC_2.2) [LSB] 2426 __xpg_basename(GLIBC_2.0) [LSB] _exit(GLIBC_2.0) [SUSv3] 2427 _longjmp(GLIBC_2.0) [SUSv3] _setjmp(GLIBC_2.0) [SUSv3] 2428 a64l(GLIBC_2.0) [SUSv3] abort(GLIBC_2.0) [SUSv3] 2429 abs(GLIBC_2.0) [SUSv3] atof(GLIBC_2.0) [SUSv3] atoi(GLIBC_2.0) 2430 [SUSv3] atol(GLIBC_2.0) [SUSv3] 2431 atoll(GLIBC_2.0) [SUSv3] basename(GLIBC_2.0) [LSB] 2432 bsearch(GLIBC_2.0) [SUSv3] calloc(GLIBC_2.0) [SUSv3] 2433 closelog(GLIBC_2.0) [SUSv3] confstr(GLIBC_2.0) [SUSv3] 2434 cuserid(GLIBC_2.0) [SUSv2] daemon(GLIBC_2.0) [LSB] 2435 dirname(GLIBC_2.0) [SUSv3] div(GLIBC_2.0) [SUSv3] 2436 drand48(GLIBC_2.0) [SUSv3] ecvt(GLIBC_2.0) [SUSv3] 2437 erand48(GLIBC_2.0) [SUSv3] err(GLIBC_2.0) [LSB] 2438 error(GLIBC_2.0) [LSB] errx(GLIBC_2.0) [LSB] 2439 fcvt(GLIBC_2.0) [SUSv3] fmtmsg(GLIBC_2.1) [SUSv3] 2440 fnmatch(GLIBC_2.2.3) [SUSv3] fpathconf(GLIBC_2.0) [SUSv3] 2441 free(GLIBC_2.0) [SUSv3] freeaddrinfo(GLIBC_2.0) [SUSv3] 2442 ftrylockfile(GLIBC_2.0) [SUSv3] ftw(GLIBC_2.0) [SUSv3] 2443 funlockfile(GLIBC_2.0) [SUSv3] gai_strerror(GLIBC_2.1) [SUSv3] 2444 gcvt(GLIBC_2.0) [SUSv3] getaddrinfo(GLIBC_2.0) [SUSv3] 2445 getcwd(GLIBC_2.0) [SUSv3] getdate(GLIBC_2.1) [SUSv3] 2446 getdomainname(GLIBC_2.0) [LSB] getenv(GLIBC_2.0) [SUSv3] 2447 getlogin(GLIBC_2.0) [SUSv3] getlogin_r(GLIBC_2.0) [SUSv3] 2448 getnameinfo(GLIBC_2.1) [SUSv3] getopt(GLIBC_2.0) [LSB] 2449 getopt_long(GLIBC_2.0) [LSB] getopt_long_only(GLIBC_2.0) [LSB] 2450 getsubopt(GLIBC_2.0) [SUSv3] gettimeofday(GLIBC_2.0) [SUSv3] 2451 glob(GLIBC_2.0) [SUSv3] glob64(GLIBC_2.2) [LSB] 2452 globfree(GLIBC_2.0) [SUSv3] globfree64(GLIBC_2.1) [LSB] 2453 grantpt(GLIBC_2.1) [SUSv3] hcreate(GLIBC_2.0) [SUSv3] 2454 hdestroy(GLIBC_2.0) [SUSv3] hsearch(GLIBC_2.0) [SUSv3] 2455 htonl(GLIBC_2.0) [SUSv3] htons(GLIBC_2.0) [SUSv3] 2456 imaxabs(GLIBC_2.1.1) [SUSv3] imaxdiv(GLIBC_2.1.1) [SUSv3] 2457 inet_addr(GLIBC_2.0) [SUSv3] inet_aton(GLIBC_2.0) [LSB] 2458 inet_ntoa(GLIBC_2.0) [SUSv3] inet_ntop(GLIBC_2.0) [SUSv3] 2459 inet_pton(GLIBC_2.0) [SUSv3] initstate(GLIBC_2.0) [SUSv3] 2460 insque(GLIBC_2.0) [SUSv3] isatty(GLIBC_2.0) [SUSv3] 2461 isblank(GLIBC_2.0) [SUSv3] jrand48(GLIBC_2.0) [SUSv3] 2462 l64a(GLIBC_2.0) [SUSv3] labs(GLIBC_2.0) [SUSv3] 2463 lcong48(GLIBC_2.0) [SUSv3] ldiv(GLIBC_2.0) [SUSv3] 2464 lfind(GLIBC_2.0) [SUSv3] llabs(GLIBC_2.0) [SUSv3] 2465 lldiv(GLIBC_2.0) [SUSv3] longjmp(GLIBC_2.0) [SUSv3] 2466 lrand48(GLIBC_2.0) [SUSv3] lsearch(GLIBC_2.0) [SUSv3] 2467 makecontext(GLIBC_2.1) [SUSv3] malloc(GLIBC_2.0) [SUSv3] 2468 memmem(GLIBC_2.0) [LSB] mkstemp(GLIBC_2.0) [SUSv3] 2469 mktemp(GLIBC_2.0) [SUSv3] mrand48(GLIBC_2.0) [SUSv3] 2470 nftw(GLIBC_2.3.3) [SUSv3] nrand48(GLIBC_2.0) [SUSv3] 2471 ntohl(GLIBC_2.0) [SUSv3] ntohs(GLIBC_2.0) [SUSv3] 2472 openlog(GLIBC_2.0) [SUSv3] perror(GLIBC_2.0) [SUSv3] 2473 posix_openpt(GLIBC_2.2.1) [SUSv3] ptsname(GLIBC_2.1) [SUSv3] 2474 putenv(GLIBC_2.0) [SUSv3] qsort(GLIBC_2.0) [SUSv3] 2475 rand(GLIBC_2.0) [SUSv3] rand_r(GLIBC_2.0) [SUSv3] 2476 random(GLIBC_2.0) [SUSv3] realloc(GLIBC_2.0) [SUSv3] 2477 realpath(GLIBC_2.3) [SUSv3] remque(GLIBC_2.0) [SUSv3] 2478 seed48(GLIBC_2.0) [SUSv3] setenv(GLIBC_2.0) [SUSv3] 2479 sethostname(GLIBC_2.0) [LSB] setlogmask(GLIBC_2.0) [SUSv3] 2480 setstate(GLIBC_2.0) [SUSv3] srand(GLIBC_2.0) [SUSv3] 2481 srand48(GLIBC_2.0) [SUSv3] srandom(GLIBC_2.0) [SUSv3] 2482 strtod(GLIBC_2.0) [SUSv3] strtol(GLIBC_2.0) [SUSv3] 2483 strtoul(GLIBC_2.0) [SUSv3] swapcontext(GLIBC_2.1) [SUSv3] 2484 syslog(GLIBC_2.0) [SUSv3] system(GLIBC_2.0) [LSB] 2485 tdelete(GLIBC_2.0) [SUSv3] tfind(GLIBC_2.0) [SUSv3] 2486 tmpfile(GLIBC_2.1) [SUSv3] tmpnam(GLIBC_2.0) [SUSv3] 2487 tsearch(GLIBC_2.0) [SUSv3] ttyname(GLIBC_2.0) [SUSv3] 2488 ttyname_r(GLIBC_2.0) [SUSv3] twalk(GLIBC_2.0) [SUSv3] 2489 unlockpt(GLIBC_2.1) [SUSv3] unsetenv(GLIBC_2.0) [SUSv3] 2490 usleep(GLIBC_2.0) [SUSv3] verrx(GLIBC_2.0) [LSB] 2491 vfscanf(GLIBC_2.0) [LSB] vscanf(GLIBC_2.0) [LSB] 2492 vsscanf(GLIBC_2.0) [LSB] vsyslog(GLIBC_2.0) [LSB] 2493 warn(GLIBC_2.0) [LSB] warnx(GLIBC_2.0) [LSB] wordexp(GLIBC_2.1) 2494 [SUSv3] wordfree(GLIBC_2.1) [SUSv3] 2495 2496 An LSB conforming implementation shall provide the architecture 2497 specific deprecated functions for Standard Library specified in 2498 Table 11-31, with the full mandatory functionality as described 2499 in the referenced underlying specification. 2500 2501 Note: These interfaces are deprecated, and applications 2502 should avoid using them. These interfaces may be withdrawn 2503 in future releases of this specification. 2504 2505 Table 11-31. libc - Standard Library Deprecated Function 2506 Interfaces 2507 basename(GLIBC_2.0) [LSB] getdomainname(GLIBC_2.0) [LSB] 2508 inet_aton(GLIBC_2.0) [LSB] 2509 2510 An LSB conforming implementation shall provide the architecture 2511 specific data interfaces for Standard Library specified in 2512 Table 11-32, with the full mandatory functionality as described 2513 in the referenced underlying specification. 2514 2515 Table 11-32. libc - Standard Library Data Interfaces 2516 __environ(GLIBC_2.0) [LSB] _environ(GLIBC_2.0) [LSB] 2517 _sys_errlist(GLIBC_2.3) [LSB] environ(GLIBC_2.0) [SUSv3] 2518 getdate_err(GLIBC_2.1) [SUSv3] optarg(GLIBC_2.0) [SUSv3] 2519 opterr(GLIBC_2.0) [SUSv3] optind(GLIBC_2.0) [SUSv3] 2520 optopt(GLIBC_2.0) [SUSv3] 2521 __________________________________________________________ 2522 2523 11.3. Data Definitions for libc 2524 2525 This section defines global identifiers and their values that 2526 are associated with interfaces contained in libc. These 2527 definitions are organized into groups that correspond to system 2528 headers. This convention is used as a convenience for the 2529 reader, and does not imply the existence of these headers, or 2530 their content. Where an interface is defined as requiring a 2531 particular system header file all of the data definitions for 2532 that system header file presented here shall be in effect. 2533 2534 This section gives data definitions to promote binary 2535 application portability, not to repeat source interface 2536 definitions available elsewhere. System providers and 2537 application developers should use this ABI to supplement - not 2538 to replace - source interface definition specifications. 2539 2540 This specification uses the ISO C (1999) C Language as the 2541 reference programming language, and data definitions are 2542 specified in ISO C format. The C language is used here as a 2543 convenient notation. Using a C language description of these 2544 data objects does not preclude their use by other programming 2545 languages. 2546 __________________________________________________________ 2547 2548 11.3.1. ctype.h 2549 2550 enum { 2551 _ISupper = 256, 2552 _ISlower = 512, 2553 _ISalpha = 1024, 2554 _ISdigit = 2048, 2555 _ISxdigit = 4096, 2556 _ISspace = 8192, 2557 _ISprint = 16384, 2558 _ISgraph = 32768, 2559 _ISblank = 1, 2560 _IScntrl = 2, 2561 _ISpunct = 4, 2562 _ISalnum = 8 2563 }; 2564 __________________________________________________________ 2565 2566 11.3.2. dirent.h 2567 2568 /* 2569 * This header is architecture neutral 2570 * Please refer to the generic specification for details 2571 */ 2572 __________________________________________________________ 2573 2574 11.3.3. errno.h 2575 2576 #define EDEADLOCK EDEADLK 2577 __________________________________________________________ 2578 2579 11.3.4. fcntl.h 2580 2581 #define O_LARGEFILE 0100000 2582 2583 #define F_GETLK64 12 2584 #define F_SETLK64 13 2585 #define F_SETLKW64 14 2586 __________________________________________________________ 2587 2588 11.3.5. fnmatch.h 2589 2590 /* 2591 * This header is architecture neutral 2592 * Please refer to the generic specification for details 2593 */ 2594 __________________________________________________________ 2595 2596 11.3.6. ftw.h 2597 2598 /* 2599 * This header is architecture neutral 2600 * Please refer to the generic specification for details 2601 */ 2602 __________________________________________________________ 2603 2604 11.3.7. getopt.h 2605 2606 /* 2607 * This header is architecture neutral 2608 * Please refer to the generic specification for details 2609 */ 2610 __________________________________________________________ 2611 2612 11.3.8. glob.h 2613 2614 /* 2615 * This header is architecture neutral 2616 * Please refer to the generic specification for details 2617 */ 2618 __________________________________________________________ 2619 2620 11.3.9. iconv.h 2621 2622 /* 2623 * This header is architecture neutral 2624 * Please refer to the generic specification for details 2625 */ 2626 __________________________________________________________ 2627 2628 11.3.10. langinfo.h 2629 2630 /* 2631 * This header is architecture neutral 2632 * Please refer to the generic specification for details 2633 */ 2634 __________________________________________________________ 2635 2636 11.3.11. limits.h 2637 2638 #define LONG_MAX 0x7FFFFFFFL 2639 #define ULONG_MAX 0xFFFFFFFFUL 2640 2641 #define CHAR_MAX SCHAR_MAX 2642 #define CHAR_MIN SCHAR_MIN 2643 2644 #define PTHREAD_STACK_MIN 16384 2645 __________________________________________________________ 2646 2647 11.3.12. locale.h 2648 2649 /* 2650 * This header is architecture neutral 2651 * Please refer to the generic specification for details 2652 */ 2653 __________________________________________________________ 2654 2655 11.3.13. net/if.h 2656 2657 /* 2658 * This header is architecture neutral 2659 * Please refer to the generic specification for details 2660 */ 2661 __________________________________________________________ 2662 2663 11.3.14. netdb.h 2664 2665 /* 2666 * This header is architecture neutral 2667 * Please refer to the generic specification for details 2668 */ 2669 __________________________________________________________ 2670 2671 11.3.15. netinet/in.h 2672 2673 /* 2674 * This header is architecture neutral 2675 * Please refer to the generic specification for details 2676 */ 2677 __________________________________________________________ 2678 2679 11.3.16. netinet/ip.h 2680 2681 /* 2682 * This header is architecture neutral 2683 * Please refer to the generic specification for details 2684 */ 2685 __________________________________________________________ 2686 2687 11.3.17. netinet/tcp.h 2688 2689 /* 2690 * This header is architecture neutral 2691 * Please refer to the generic specification for details 2692 */ 2693 __________________________________________________________ 2694 2695 11.3.18. netinet/udp.h 2696 2697 /* 2698 * This header is architecture neutral 2699 * Please refer to the generic specification for details 2700 */ 2701 __________________________________________________________ 2702 2703 11.3.19. nl_types.h 2704 2705 /* 2706 * This header is architecture neutral 2707 * Please refer to the generic specification for details 2708 */ 2709 __________________________________________________________ 2710 2711 11.3.20. pwd.h 2712 2713 /* 2714 * This header is architecture neutral 2715 * Please refer to the generic specification for details 2716 */ 2717 __________________________________________________________ 2718 2719 11.3.21. regex.h 2720 2721 /* 2722 * This header is architecture neutral 2723 * Please refer to the generic specification for details 2724 */ 2725 __________________________________________________________ 2726 2727 11.3.22. rpc/auth.h 2728 2729 /* 2730 * This header is architecture neutral 2731 * Please refer to the generic specification for details 2732 */ 2733 __________________________________________________________ 2734 2735 11.3.23. rpc/clnt.h 2736 2737 /* 2738 * This header is architecture neutral 2739 * Please refer to the generic specification for details 2740 */ 2741 __________________________________________________________ 2742 2743 11.3.24. rpc/rpc_msg.h 2744 2745 /* 2746 * This header is architecture neutral 2747 * Please refer to the generic specification for details 2748 */ 2749 __________________________________________________________ 2750 2751 11.3.25. rpc/svc.h 2752 2753 /* 2754 * This header is architecture neutral 2755 * Please refer to the generic specification for details 2756 */ 2757 __________________________________________________________ 2758 2759 11.3.26. rpc/types.h 2760 2761 /* 2762 * This header is architecture neutral 2763 * Please refer to the generic specification for details 2764 */ 2765 __________________________________________________________ 2766 2767 11.3.27. rpc/xdr.h 2768 2769 /* 2770 * This header is architecture neutral 2771 * Please refer to the generic specification for details 2772 */ 2773 __________________________________________________________ 2774 2775 11.3.28. sched.h 2776 2777 /* 2778 * This header is architecture neutral 2779 * Please refer to the generic specification for details 2780 */ 2781 __________________________________________________________ 2782 2783 11.3.29. search.h 2784 2785 /* 2786 * This header is architecture neutral 2787 * Please refer to the generic specification for details 2788 */ 2789 __________________________________________________________ 2790 2791 11.3.30. setjmp.h 2792 2793 typedef int __jmp_buf[6]; 2794 __________________________________________________________ 2795 2796 11.3.31. signal.h 2797 2798 #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int))-3) 2799 2800 #define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int))-3) 2801 2802 struct sigaction { 2803 union { 2804 sighandler_t _sa_handler; 2805 void (*_sa_sigaction) (int, siginfo_t *, void *); 2806 } __sigaction_handler; 2807 sigset_t sa_mask; 2808 unsigned long int sa_flags; 2809 void (*sa_restorer) (void); 2810 }; 2811 2812 #define MINSIGSTKSZ 2048 2813 #define SIGSTKSZ 8192 2814 2815 struct _fpreg { 2816 unsigned short significand[4]; 2817 unsigned short exponent; 2818 }; 2819 struct _fpxreg { 2820 unsigned short significand[4]; 2821 unsigned short exponent; 2822 unsigned short padding[3]; 2823 }; 2824 struct _xmmreg { 2825 unsigned long int element[4]; 2826 }; 2827 2828 struct _fpstate { 2829 unsigned long int cw; 2830 unsigned long int sw; 2831 unsigned long int tag; 2832 unsigned long int ipoff; 2833 unsigned long int cssel; 2834 unsigned long int dataoff; 2835 unsigned long int datasel; 2836 struct _fpreg _st[8]; 2837 unsigned short status; 2838 unsigned short magic; 2839 unsigned long int _fxsr_env[6]; 2840 unsigned long int mxcsr; 2841 unsigned long int reserved; 2842 struct _fpxreg _fxsr_st[8]; 2843 struct _xmmreg _xmm[8]; 2844 unsigned long int padding[56]; 2845 }; 2846 2847 struct sigcontext { 2848 unsigned short gs; 2849 unsigned short __gsh; 2850 unsigned short fs; 2851 unsigned short __fsh; 2852 unsigned short es; 2853 unsigned short __esh; 2854 unsigned short ds; 2855 unsigned short __dsh; 2856 unsigned long int edi; 2857 unsigned long int esi; 2858 unsigned long int ebp; 2859 unsigned long int esp; 2860 unsigned long int ebx; 2861 unsigned long int edx; 2862 unsigned long int ecx; 2863 unsigned long int eax; 2864 unsigned long int trapno; 2865 unsigned long int err; 2866 unsigned long int eip; 2867 unsigned short cs; 2868 unsigned short __csh; 2869 unsigned long int eflags; 2870 unsigned long int esp_at_signal; 2871 unsigned short ss; 2872 unsigned short __ssh; 2873 struct _fpstate *fpstate; 2874 unsigned long int oldmask; 2875 unsigned long int cr2; 2876 }; 2877 __________________________________________________________ 2878 2879 11.3.32. spawn.h 2880 2881 /* 2882 * This header is architecture neutral 2883 * Please refer to the generic specification for details 2884 */ 2885 __________________________________________________________ 2886 2887 11.3.33. stddef.h 2888 2889 typedef long int wchar_t; 2890 typedef unsigned int size_t; 2891 typedef int ptrdiff_t; 2892 __________________________________________________________ 2893 2894 11.3.34. stdint.h 2895 2896 #define INT64_C(c) c ## LL 2897 #define INTMAX_C(c) c ## LL 2898 #define __INT64_C(c) c ## LL 2899 #define UINT64_C(c) c ## ULL 2900 #define UINTMAX_C(c) c ## ULL 2901 #define __UINT64_C(c) c ## ULL 2902 2903 #define INTPTR_MIN (-2147483647-1) 2904 #define INT_FAST16_MIN (-2147483647-1) 2905 #define INT_FAST32_MIN (-2147483647-1) 2906 #define PTRDIFF_MIN (-2147483647-1) 2907 #define INTPTR_MAX (2147483647) 2908 #define INT_FAST16_MAX (2147483647) 2909 #define INT_FAST32_MAX (2147483647) 2910 #define PTRDIFF_MAX (2147483647) 2911 #define SIZE_MAX (4294967295U) 2912 #define UINTPTR_MAX (4294967295U) 2913 #define UINT_FAST16_MAX (4294967295U) 2914 #define UINT_FAST32_MAX (4294967295U) 2915 2916 typedef long long int int64_t; 2917 typedef long long int intmax_t; 2918 typedef unsigned long long int uintmax_t; 2919 typedef int intptr_t; 2920 typedef unsigned int uintptr_t; 2921 typedef unsigned long long int uint64_t; 2922 typedef long long int int_least64_t; 2923 typedef unsigned long long int uint_least64_t; 2924 typedef int int_fast16_t; 2925 typedef int int_fast32_t; 2926 typedef long long int int_fast64_t; 2927 typedef unsigned int uint_fast16_t; 2928 typedef unsigned int uint_fast32_t; 2929 typedef unsigned long long int uint_fast64_t; 2930 __________________________________________________________ 2931 2932 11.3.35. stdio.h 2933 2934 #define __IO_FILE_SIZE 148 2935 __________________________________________________________ 2936 2937 11.3.36. stdlib.h 2938 2939 /* 2940 * This header is architecture neutral 2941 * Please refer to the generic specification for details 2942 */ 2943 __________________________________________________________ 2944 2945 11.3.37. sys/file.h 2946 2947 /* 2948 * This header is architecture neutral 2949 * Please refer to the generic specification for details 2950 */ 2951 __________________________________________________________ 2952 2953 11.3.38. sys/ioctl.h 2954 2955 #define TIOCGWINSZ 0x5413 2956 #define FIONREAD 0x541B 2957 #define TIOCNOTTY 0x5422 2958 __________________________________________________________ 2959 2960 11.3.39. sys/ipc.h 2961 2962 struct ipc_perm { 2963 key_t __key; 2964 uid_t uid; 2965 gid_t gid; 2966 uid_t cuid; 2967 gid_t cgid; 2968 unsigned short mode; 2969 unsigned short __pad1; 2970 unsigned short __seq; 2971 unsigned short __pad2; 2972 unsigned long int __unused1; 2973 unsigned long int __unused2; 2974 }; 2975 __________________________________________________________ 2976 2977 11.3.40. sys/mman.h 2978 2979 #define MCL_CURRENT 1 2980 #define MCL_FUTURE 2 2981 __________________________________________________________ 2982 2983 11.3.41. sys/msg.h 2984 2985 typedef unsigned long int msgqnum_t; 2986 typedef unsigned long int msglen_t; 2987 2988 struct msqid_ds { 2989 struct ipc_perm msg_perm; 2990 time_t msg_stime; 2991 unsigned long int __unused1; 2992 time_t msg_rtime; 2993 unsigned long int __unused2; 2994 time_t msg_ctime; 2995 unsigned long int __unused3; 2996 unsigned long int __msg_cbytes; 2997 msgqnum_t msg_qnum; 2998 msglen_t msg_qbytes; 2999 pid_t msg_lspid; 3000 pid_t msg_lrpid; 3001 unsigned long int __unused4; 3002 unsigned long int __unused5; 3003 }; 3004 __________________________________________________________ 3005 3006 11.3.42. sys/param.h 3007 3008 /* 3009 * This header is architecture neutral 3010 * Please refer to the generic specification for details 3011 */ 3012 __________________________________________________________ 3013 3014 11.3.43. sys/poll.h 3015 3016 /* 3017 * This header is architecture neutral 3018 * Please refer to the generic specification for details 3019 */ 3020 __________________________________________________________ 3021 3022 11.3.44. sys/resource.h 3023 3024 /* 3025 * This header is architecture neutral 3026 * Please refer to the generic specification for details 3027 */ 3028 __________________________________________________________ 3029 3030 11.3.45. sys/sem.h 3031 3032 struct semid_ds { 3033 struct ipc_perm sem_perm; 3034 time_t sem_otime; 3035 unsigned long int __unused1; 3036 time_t sem_ctime; 3037 unsigned long int __unused2; 3038 unsigned long int sem_nsems; 3039 unsigned long int __unused3; 3040 unsigned long int __unused4; 3041 }; 3042 __________________________________________________________ 3043 3044 11.3.46. sys/shm.h 3045 3046 #define SHMLBA (__getpagesize()) 3047 3048 typedef unsigned long int shmatt_t; 3049 3050 struct shmid_ds { 3051 struct ipc_perm shm_perm; 3052 int shm_segsz; 3053 time_t shm_atime; 3054 unsigned long int __unused1; 3055 time_t shm_dtime; 3056 unsigned long int __unused2; 3057 time_t shm_ctime; 3058 unsigned long int __unused3; 3059 pid_t shm_cpid; 3060 pid_t shm_lpid; 3061 shmatt_t shm_nattch; 3062 unsigned long int __unused4; 3063 unsigned long int __unused5; 3064 }; 3065 __________________________________________________________ 3066 3067 11.3.47. sys/socket.h 3068 3069 typedef uint32_t __ss_aligntype; 3070 3071 #define SO_RCVLOWAT 18 3072 #define SO_SNDLOWAT 19 3073 #define SO_RCVTIMEO 20 3074 #define SO_SNDTIMEO 21 3075 __________________________________________________________ 3076 3077 11.3.48. sys/stat.h 3078 3079 #define _STAT_VER 3 3080 3081 struct stat { 3082 dev_t st_dev; 3083 unsigned short __pad1; 3084 unsigned long int st_ino; 3085 mode_t st_mode; 3086 nlink_t st_nlink; 3087 uid_t st_uid; 3088 gid_t st_gid; 3089 dev_t st_rdev; 3090 unsigned short __pad2; 3091 off_t st_size; 3092 blksize_t st_blksize; 3093 blkcnt_t st_blocks; 3094 struct timespec st_atim; 3095 struct timespec st_mtim; 3096 struct timespec st_ctim; 3097 unsigned long int __unused4; 3098 unsigned long int __unused5; 3099 }; 3100 struct stat64 { 3101 dev_t st_dev; 3102 unsigned int __pad1; 3103 ino_t __st_ino; 3104 mode_t st_mode; 3105 nlink_t st_nlink; 3106 uid_t st_uid; 3107 gid_t st_gid; 3108 dev_t st_rdev; 3109 unsigned int __pad2; 3110 off64_t st_size; 3111 blksize_t st_blksize; 3112 blkcnt64_t st_blocks; 3113 struct timespec st_atim; 3114 struct timespec st_mtim; 3115 struct timespec st_ctim; 3116 ino64_t st_ino; 3117 }; 3118 __________________________________________________________ 3119 3120 11.3.49. sys/statfs.h 3121 3122 struct statfs { 3123 int f_type; 3124 int f_bsize; 3125 fsblkcnt_t f_blocks; 3126 fsblkcnt_t f_bfree; 3127 fsblkcnt_t f_bavail; 3128 fsfilcnt_t f_files; 3129 fsfilcnt_t f_ffree; 3130 fsid_t f_fsid; 3131 int f_namelen; 3132 int f_frsize; 3133 int f_spare[5]; 3134 }; 3135 struct statfs64 { 3136 int f_type; 3137 int f_bsize; 3138 fsblkcnt64_t f_blocks; 3139 fsblkcnt64_t f_bfree; 3140 fsblkcnt64_t f_bavail; 3141 fsfilcnt64_t f_files; 3142 fsfilcnt64_t f_ffree; 3143 fsid_t f_fsid; 3144 int f_namelen; 3145 int f_frsize; 3146 int f_spare[5]; 3147 }; 3148 __________________________________________________________ 3149 3150 11.3.50. sys/statvfs.h 3151 3152 struct statvfs { 3153 unsigned long int f_bsize; 3154 unsigned long int f_frsize; 3155 fsblkcnt_t f_blocks; 3156 fsblkcnt_t f_bfree; 3157 fsblkcnt_t f_bavail; 3158 fsfilcnt_t f_files; 3159 fsfilcnt_t f_ffree; 3160 fsfilcnt_t f_favail; 3161 unsigned long int f_fsid; 3162 int __f_unused; 3163 unsigned long int f_flag; 3164 unsigned long int f_namemax; 3165 int __f_spare[6]; 3166 }; 3167 struct statvfs64 { 3168 unsigned long int f_bsize; 3169 unsigned long int f_frsize; 3170 fsblkcnt64_t f_blocks; 3171 fsblkcnt64_t f_bfree; 3172 fsblkcnt64_t f_bavail; 3173 fsfilcnt64_t f_files; 3174 fsfilcnt64_t f_ffree; 3175 fsfilcnt64_t f_favail; 3176 unsigned long int f_fsid; 3177 int __f_unused; 3178 unsigned long int f_flag; 3179 unsigned long int f_namemax; 3180 int __f_spare[6]; 3181 }; 3182 __________________________________________________________ 3183 3184 11.3.51. sys/time.h 3185 3186 /* 3187 * This header is architecture neutral 3188 * Please refer to the generic specification for details 3189 */ 3190 __________________________________________________________ 3191 3192 11.3.52. sys/timeb.h 3193 3194 /* 3195 * This header is architecture neutral 3196 * Please refer to the generic specification for details 3197 */ 3198 __________________________________________________________ 3199 3200 11.3.53. sys/times.h 3201 3202 /* 3203 * This header is architecture neutral 3204 * Please refer to the generic specification for details 3205 */ 3206 __________________________________________________________ 3207 3208 11.3.54. sys/types.h 3209 3210 typedef int32_t ssize_t; 3211 3212 #define __FDSET_LONGS 32 3213 __________________________________________________________ 3214 3215 11.3.55. sys/un.h 3216 3217 /* 3218 * This header is architecture neutral 3219 * Please refer to the generic specification for details 3220 */ 3221 __________________________________________________________ 3222 3223 11.3.56. sys/utsname.h 3224 3225 /* 3226 * This header is architecture neutral 3227 * Please refer to the generic specification for details 3228 */ 3229 __________________________________________________________ 3230 3231 11.3.57. sys/wait.h 3232 3233 /* 3234 * This header is architecture neutral 3235 * Please refer to the generic specification for details 3236 */ 3237 __________________________________________________________ 3238 3239 11.3.58. syslog.h 3240 3241 /* 3242 * This header is architecture neutral 3243 * Please refer to the generic specification for details 3244 */ 3245 __________________________________________________________ 3246 3247 11.3.59. termios.h 3248 3249 #define OLCUC 0000002 3250 #define ONLCR 0000004 3251 #define XCASE 0000004 3252 #define NLDLY 0000400 3253 #define CR1 0001000 3254 #define IUCLC 0001000 3255 #define CR2 0002000 3256 #define CR3 0003000 3257 #define CRDLY 0003000 3258 #define TAB1 0004000 3259 #define TAB2 0010000 3260 #define TAB3 0014000 3261 #define TABDLY 0014000 3262 #define BS1 0020000 3263 #define BSDLY 0020000 3264 #define VT1 0040000 3265 #define VTDLY 0040000 3266 #define FF1 0100000 3267 #define FFDLY 0100000 3268 3269 #define VSUSP 10 3270 #define VEOL 11 3271 #define VREPRINT 12 3272 #define VDISCARD 13 3273 #define VWERASE 14 3274 #define VEOL2 16 3275 #define VMIN 6 3276 #define VSWTC 7 3277 #define VSTART 8 3278 #define VSTOP 9 3279 3280 #define IXON 0002000 3281 #define IXOFF 0010000 3282 3283 #define CS6 0000020 3284 #define CS7 0000040 3285 #define CS8 0000060 3286 #define CSIZE 0000060 3287 #define CSTOPB 0000100 3288 #define CREAD 0000200 3289 #define PARENB 0000400 3290 #define PARODD 0001000 3291 #define HUPCL 0002000 3292 #define CLOCAL 0004000 3293 #define VTIME 5 3294 3295 #define ISIG 0000001 3296 #define ICANON 0000002 3297 #define ECHOE 0000020 3298 #define ECHOK 0000040 3299 #define ECHONL 0000100 3300 #define NOFLSH 0000200 3301 #define TOSTOP 0000400 3302 #define ECHOCTL 0001000 3303 #define ECHOPRT 0002000 3304 #define ECHOKE 0004000 3305 #define FLUSHO 0010000 3306 #define PENDIN 0040000 3307 #define IEXTEN 0100000 3308 __________________________________________________________ 3309 3310 11.3.60. ucontext.h 3311 3312 typedef int greg_t; 3313 3314 #define NGREG 19 3315 3316 typedef greg_t gregset_t[19]; 3317 3318 struct _libc_fpreg { 3319 unsigned short significand[4]; 3320 unsigned short exponent; 3321 }; 3322 3323 struct _libc_fpstate { 3324 unsigned long int cw; 3325 unsigned long int sw; 3326 unsigned long int tag; 3327 unsigned long int ipoff; 3328 unsigned long int cssel; 3329 unsigned long int dataoff; 3330 unsigned long int datasel; 3331 struct _libc_fpreg _st[8]; 3332 unsigned long int status; 3333 }; 3334 typedef struct _libc_fpstate *fpregset_t; 3335 3336 typedef struct { 3337 gregset_t gregs; 3338 fpregset_t fpregs; 3339 unsigned long int oldmask; 3340 unsigned long int cr2; 3341 } mcontext_t; 3342 3343 typedef struct ucontext { 3344 unsigned long int uc_flags; 3345 struct ucontext *uc_link; 3346 stack_t uc_stack; 3347 mcontext_t uc_mcontext; 3348 sigset_t uc_sigmask; 3349 struct _libc_fpstate __fpregs_mem; 3350 } ucontext_t; 3351 __________________________________________________________ 3352 3353 11.3.61. ulimit.h 3354 3355 /* 3356 * This header is architecture neutral 3357 * Please refer to the generic specification for details 3358 */ 3359 __________________________________________________________ 3360 3361 11.3.62. unistd.h 3362 3363 /* 3364 * This header is architecture neutral 3365 * Please refer to the generic specification for details 3366 */ 3367 __________________________________________________________ 3368 3369 11.3.63. utime.h 3370 3371 /* 3372 * This header is architecture neutral 3373 * Please refer to the generic specification for details 3374 */ 3375 __________________________________________________________ 3376 3377 11.3.64. utmp.h 3378 3379 struct lastlog { 3380 time_t ll_time; 3381 char ll_line[UT_LINESIZE]; 3382 char ll_host[UT_HOSTSIZE]; 3383 }; 3384 3385 struct utmp { 3386 short ut_type; 3387 pid_t ut_pid; 3388 char ut_line[UT_LINESIZE]; 3389 char ut_id[4]; 3390 char ut_user[UT_NAMESIZE]; 3391 char ut_host[UT_HOSTSIZE]; 3392 struct exit_status ut_exit; 3393 long int ut_session; 3394 struct timeval ut_tv; 3395 int32_t ut_addr_v6[4]; 3396 char __unused[20]; 3397 }; 3398 __________________________________________________________ 3399 3400 11.3.65. utmpx.h 3401 3402 struct utmpx { 3403 short ut_type; 3404 pid_t ut_pid; 3405 char ut_line[UT_LINESIZE]; 3406 char ut_id[4]; 3407 char ut_user[UT_NAMESIZE]; 3408 char ut_host[UT_HOSTSIZE]; 3409 struct exit_status ut_exit; 3410 long int ut_session; 3411 struct timeval ut_tv; 3412 int32_t ut_addr_v6[4]; 3413 char __unused[20]; 3414 }; 3415 __________________________________________________________ 3416 3417 11.3.66. wctype.h 3418 3419 /* 3420 * This header is architecture neutral 3421 * Please refer to the generic specification for details 3422 */ 3423 __________________________________________________________ 3424 3425 11.3.67. wordexp.h 3426 3427 /* 3428 * This header is architecture neutral 3429 * Please refer to the generic specification for details 3430 */ 3431 __________________________________________________________ 3432 3433 11.4. Interfaces for libm 3434 3435 Table 11-33 defines the library name and shared object name for 3436 the libm library 3437 3438 Table 11-33. libm Definition 3439 Library: libm 3440 SONAME: libm.so.6 3441 3442 The behavior of the interfaces in this library is specified by 3443 the following specifications: 3444 3445 [ISOC99] ISO C (1999) 3446 [LSB] ISO/IEC 23360 Part 1 3447 [SUSv3] ISO POSIX (2003) 3448 [SVID.3] SVID Issue 3 3449 __________________________________________________________ 3450 3451 11.4.1. Math 3452 __________________________________________________________ 3453 3454 11.4.1.1. Interfaces for Math 3455 3456 An LSB conforming implementation shall provide the architecture 3457 specific functions for Math specified in Table 11-34, with the 3458 full mandatory functionality as described in the referenced 3459 underlying specification. 3460 3461 Table 11-34. libm - Math Function Interfaces 3462 __finite(GLIBC_2.1) [LSB] __finitef(GLIBC_2.1) [LSB] 3463 __finitel(GLIBC_2.1) [LSB] __fpclassify(GLIBC_2.1) [LSB] 3464 __fpclassifyf(GLIBC_2.1) [LSB] __fpclassifyl(GLIBC_2.1) [LSB] 3465 __signbit(GLIBC_2.1) [LSB] __signbitf(GLIBC_2.1) [LSB] 3466 __signbitl(GLIBC_2.1) [ISOC99] acos(GLIBC_2.0) [SUSv3] 3467 acosf(GLIBC_2.0) [SUSv3] acosh(GLIBC_2.0) [SUSv3] 3468 acoshf(GLIBC_2.0) [SUSv3] acoshl(GLIBC_2.0) [SUSv3] 3469 acosl(GLIBC_2.0) [SUSv3] asin(GLIBC_2.0) [SUSv3] 3470 asinf(GLIBC_2.0) [SUSv3] asinh(GLIBC_2.0) [SUSv3] 3471 asinhf(GLIBC_2.0) [SUSv3] asinhl(GLIBC_2.0) [SUSv3] 3472 asinl(GLIBC_2.0) [SUSv3] atan(GLIBC_2.0) [SUSv3] 3473 atan2(GLIBC_2.0) [SUSv3] atan2f(GLIBC_2.0) [SUSv3] 3474 atan2l(GLIBC_2.0) [SUSv3] atanf(GLIBC_2.0) [SUSv3] 3475 atanh(GLIBC_2.0) [SUSv3] atanhf(GLIBC_2.0) [SUSv3] 3476 atanhl(GLIBC_2.0) [SUSv3] atanl(GLIBC_2.0) [SUSv3] 3477 cabs(GLIBC_2.1) [SUSv3] cabsf(GLIBC_2.1) [SUSv3] 3478 cabsl(GLIBC_2.1) [SUSv3] cacos(GLIBC_2.1) [SUSv3] 3479 cacosf(GLIBC_2.1) [SUSv3] cacosh(GLIBC_2.1) [SUSv3] 3480 cacoshf(GLIBC_2.1) [SUSv3] cacoshl(GLIBC_2.1) [SUSv3] 3481 cacosl(GLIBC_2.1) [SUSv3] carg(GLIBC_2.1) [SUSv3] 3482 cargf(GLIBC_2.1) [SUSv3] cargl(GLIBC_2.1) [SUSv3] 3483 casin(GLIBC_2.1) [SUSv3] casinf(GLIBC_2.1) [SUSv3] 3484 casinh(GLIBC_2.1) [SUSv3] casinhf(GLIBC_2.1) [SUSv3] 3485 casinhl(GLIBC_2.1) [SUSv3] casinl(GLIBC_2.1) [SUSv3] 3486 catan(GLIBC_2.1) [SUSv3] catanf(GLIBC_2.1) [SUSv3] 3487 catanh(GLIBC_2.1) [SUSv3] catanhf(GLIBC_2.1) [SUSv3] 3488 catanhl(GLIBC_2.1) [SUSv3] catanl(GLIBC_2.1) [SUSv3] 3489 cbrt(GLIBC_2.0) [SUSv3] cbrtf(GLIBC_2.0) [SUSv3] 3490 cbrtl(GLIBC_2.0) [SUSv3] ccos(GLIBC_2.1) [SUSv3] 3491 ccosf(GLIBC_2.1) [SUSv3] ccosh(GLIBC_2.1) [SUSv3] 3492 ccoshf(GLIBC_2.1) [SUSv3] ccoshl(GLIBC_2.1) [SUSv3] 3493 ccosl(GLIBC_2.1) [SUSv3] ceil(GLIBC_2.0) [SUSv3] 3494 ceilf(GLIBC_2.0) [SUSv3] ceill(GLIBC_2.0) [SUSv3] 3495 cexp(GLIBC_2.1) [SUSv3] cexpf(GLIBC_2.1) [SUSv3] 3496 cexpl(GLIBC_2.1) [SUSv3] cimag(GLIBC_2.1) [SUSv3] 3497 cimagf(GLIBC_2.1) [SUSv3] cimagl(GLIBC_2.1) [SUSv3] 3498 clog(GLIBC_2.1) [SUSv3] clog10(GLIBC_2.1) [LSB] 3499 clog10f(GLIBC_2.1) [LSB] clog10l(GLIBC_2.1) [LSB] 3500 clogf(GLIBC_2.1) [SUSv3] clogl(GLIBC_2.1) [SUSv3] 3501 conj(GLIBC_2.1) [SUSv3] conjf(GLIBC_2.1) [SUSv3] 3502 conjl(GLIBC_2.1) [SUSv3] copysign(GLIBC_2.0) [SUSv3] 3503 copysignf(GLIBC_2.0) [SUSv3] copysignl(GLIBC_2.0) [SUSv3] 3504 cos(GLIBC_2.0) [SUSv3] cosf(GLIBC_2.0) [SUSv3] cosh(GLIBC_2.0) 3505 [SUSv3] coshf(GLIBC_2.0) [SUSv3] 3506 coshl(GLIBC_2.0) [SUSv3] cosl(GLIBC_2.0) [SUSv3] 3507 cpow(GLIBC_2.1) [SUSv3] cpowf(GLIBC_2.1) [SUSv3] 3508 cpowl(GLIBC_2.1) [SUSv3] cproj(GLIBC_2.1) [SUSv3] 3509 cprojf(GLIBC_2.1) [SUSv3] cprojl(GLIBC_2.1) [SUSv3] 3510 creal(GLIBC_2.1) [SUSv3] crealf(GLIBC_2.1) [SUSv3] 3511 creall(GLIBC_2.1) [SUSv3] csin(GLIBC_2.1) [SUSv3] 3512 csinf(GLIBC_2.1) [SUSv3] csinh(GLIBC_2.1) [SUSv3] 3513 csinhf(GLIBC_2.1) [SUSv3] csinhl(GLIBC_2.1) [SUSv3] 3514 csinl(GLIBC_2.1) [SUSv3] csqrt(GLIBC_2.1) [SUSv3] 3515 csqrtf(GLIBC_2.1) [SUSv3] csqrtl(GLIBC_2.1) [SUSv3] 3516 ctan(GLIBC_2.1) [SUSv3] ctanf(GLIBC_2.1) [SUSv3] 3517 ctanh(GLIBC_2.1) [SUSv3] ctanhf(GLIBC_2.1) [SUSv3] 3518 ctanhl(GLIBC_2.1) [SUSv3] ctanl(GLIBC_2.1) [SUSv3] 3519 drem(GLIBC_2.0) [LSB] dremf(GLIBC_2.0) [LSB] 3520 dreml(GLIBC_2.0) [LSB] erf(GLIBC_2.0) [SUSv3] erfc(GLIBC_2.0) 3521 [SUSv3] erfcf(GLIBC_2.0) [SUSv3] 3522 erfcl(GLIBC_2.0) [SUSv3] erff(GLIBC_2.0) [SUSv3] 3523 erfl(GLIBC_2.0) [SUSv3] exp(GLIBC_2.0) [SUSv3] 3524 exp10(GLIBC_2.1) [LSB] exp10f(GLIBC_2.1) [LSB] 3525 exp10l(GLIBC_2.1) [LSB] exp2(GLIBC_2.1) [SUSv3] 3526 exp2f(GLIBC_2.1) [SUSv3] exp2l(GLIBC_2.1) [SUSv3] 3527 expf(GLIBC_2.0) [SUSv3] expl(GLIBC_2.0) [SUSv3] 3528 expm1(GLIBC_2.0) [SUSv3] expm1f(GLIBC_2.0) [SUSv3] 3529 expm1l(GLIBC_2.0) [SUSv3] fabs(GLIBC_2.0) [SUSv3] 3530 fabsf(GLIBC_2.0) [SUSv3] fabsl(GLIBC_2.0) [SUSv3] 3531 fdim(GLIBC_2.1) [SUSv3] fdimf(GLIBC_2.1) [SUSv3] 3532 fdiml(GLIBC_2.1) [SUSv3] feclearexcept(GLIBC_2.2) [SUSv3] 3533 fedisableexcept(GLIBC_2.2) [LSB] feenableexcept(GLIBC_2.2) 3534 [LSB] 3535 fegetenv(GLIBC_2.2) [SUSv3] fegetexcept(GLIBC_2.2) [LSB] 3536 fegetexceptflag(GLIBC_2.2) [SUSv3] fegetround(GLIBC_2.1) 3537 [SUSv3] 3538 feholdexcept(GLIBC_2.1) [SUSv3] feraiseexcept(GLIBC_2.2) 3539 [SUSv3] fesetenv(GLIBC_2.2) [SUSv3] fesetexceptflag(GLIBC_2.2) 3540 [SUSv3] 3541 fesetround(GLIBC_2.1) [SUSv3] fetestexcept(GLIBC_2.1) [SUSv3] 3542 feupdateenv(GLIBC_2.2) [SUSv3] finite(GLIBC_2.0) [LSB] 3543 finitef(GLIBC_2.0) [LSB] finitel(GLIBC_2.0) [LSB] 3544 floor(GLIBC_2.0) [SUSv3] floorf(GLIBC_2.0) [SUSv3] 3545 floorl(GLIBC_2.0) [SUSv3] fma(GLIBC_2.1) [SUSv3] 3546 fmaf(GLIBC_2.1) [SUSv3] fmal(GLIBC_2.1) [SUSv3] 3547 fmax(GLIBC_2.1) [SUSv3] fmaxf(GLIBC_2.1) [SUSv3] 3548 fmaxl(GLIBC_2.1) [SUSv3] fmin(GLIBC_2.1) [SUSv3] 3549 fminf(GLIBC_2.1) [SUSv3] fminl(GLIBC_2.1) [SUSv3] 3550 fmod(GLIBC_2.0) [SUSv3] fmodf(GLIBC_2.0) [SUSv3] 3551 fmodl(GLIBC_2.0) [SUSv3] frexp(GLIBC_2.0) [SUSv3] 3552 frexpf(GLIBC_2.0) [SUSv3] frexpl(GLIBC_2.0) [SUSv3] 3553 gamma(GLIBC_2.0) [LSB] gammaf(GLIBC_2.0) [LSB] 3554 gammal(GLIBC_2.0) [LSB] hypot(GLIBC_2.0) [SUSv3] 3555 hypotf(GLIBC_2.0) [SUSv3] hypotl(GLIBC_2.0) [SUSv3] 3556 ilogb(GLIBC_2.0) [SUSv3] ilogbf(GLIBC_2.0) [SUSv3] 3557 ilogbl(GLIBC_2.0) [SUSv3] j0(GLIBC_2.0) [SUSv3] j0f(GLIBC_2.0) 3558 [LSB] j0l(GLIBC_2.0) [LSB] 3559 j1(GLIBC_2.0) [SUSv3] j1f(GLIBC_2.0) [LSB] j1l(GLIBC_2.0) [LSB] 3560 jn(GLIBC_2.0) [SUSv3] 3561 jnf(GLIBC_2.0) [LSB] jnl(GLIBC_2.0) [LSB] ldexp(GLIBC_2.0) 3562 [SUSv3] ldexpf(GLIBC_2.0) [SUSv3] 3563 ldexpl(GLIBC_2.0) [SUSv3] lgamma(GLIBC_2.0) [SUSv3] 3564 lgamma_r(GLIBC_2.0) [LSB] lgammaf(GLIBC_2.0) [SUSv3] 3565 lgammaf_r(GLIBC_2.0) [LSB] lgammal(GLIBC_2.0) [SUSv3] 3566 lgammal_r(GLIBC_2.0) [LSB] llrint(GLIBC_2.1) [SUSv3] 3567 llrintf(GLIBC_2.1) [SUSv3] llrintl(GLIBC_2.1) [SUSv3] 3568 llround(GLIBC_2.1) [SUSv3] llroundf(GLIBC_2.1) [SUSv3] 3569 llroundl(GLIBC_2.1) [SUSv3] log(GLIBC_2.0) [SUSv3] 3570 log10(GLIBC_2.0) [SUSv3] log10f(GLIBC_2.0) [SUSv3] 3571 log10l(GLIBC_2.0) [SUSv3] log1p(GLIBC_2.0) [SUSv3] 3572 log1pf(GLIBC_2.0) [SUSv3] log1pl(GLIBC_2.0) [SUSv3] 3573 log2(GLIBC_2.1) [SUSv3] log2f(GLIBC_2.1) [SUSv3] 3574 log2l(GLIBC_2.1) [SUSv3] logb(GLIBC_2.0) [SUSv3] 3575 logbf(GLIBC_2.0) [SUSv3] logbl(GLIBC_2.0) [SUSv3] 3576 logf(GLIBC_2.0) [SUSv3] logl(GLIBC_2.0) [SUSv3] 3577 lrint(GLIBC_2.1) [SUSv3] lrintf(GLIBC_2.1) [SUSv3] 3578 lrintl(GLIBC_2.1) [SUSv3] lround(GLIBC_2.1) [SUSv3] 3579 lroundf(GLIBC_2.1) [SUSv3] lroundl(GLIBC_2.1) [SUSv3] 3580 matherr(GLIBC_2.0) [SVID.3] modf(GLIBC_2.0) [SUSv3] 3581 modff(GLIBC_2.0) [SUSv3] modfl(GLIBC_2.0) [SUSv3] 3582 nan(GLIBC_2.1) [SUSv3] nanf(GLIBC_2.1) [SUSv3] 3583 nanl(GLIBC_2.1) [SUSv3] nearbyint(GLIBC_2.1) [SUSv3] 3584 nearbyintf(GLIBC_2.1) [SUSv3] nearbyintl(GLIBC_2.1) [SUSv3] 3585 nextafter(GLIBC_2.0) [SUSv3] nextafterf(GLIBC_2.0) [SUSv3] 3586 nextafterl(GLIBC_2.0) [SUSv3] nexttoward(GLIBC_2.1) [SUSv3] 3587 nexttowardf(GLIBC_2.1) [SUSv3] nexttowardl(GLIBC_2.1) [SUSv3] 3588 pow(GLIBC_2.0) [SUSv3] pow10(GLIBC_2.1) [LSB] 3589 pow10f(GLIBC_2.1) [LSB] pow10l(GLIBC_2.1) [LSB] powf(GLIBC_2.0) 3590 [SUSv3] powl(GLIBC_2.0) [SUSv3] 3591 remainder(GLIBC_2.0) [SUSv3] remainderf(GLIBC_2.0) [SUSv3] 3592 remainderl(GLIBC_2.0) [SUSv3] remquo(GLIBC_2.1) [SUSv3] 3593 remquof(GLIBC_2.1) [SUSv3] remquol(GLIBC_2.1) [SUSv3] 3594 rint(GLIBC_2.0) [SUSv3] rintf(GLIBC_2.0) [SUSv3] 3595 rintl(GLIBC_2.0) [SUSv3] round(GLIBC_2.1) [SUSv3] 3596 roundf(GLIBC_2.1) [SUSv3] roundl(GLIBC_2.1) [SUSv3] 3597 scalb(GLIBC_2.0) [SUSv3] scalbf(GLIBC_2.0) [ISOC99] 3598 scalbl(GLIBC_2.0) [ISOC99] scalbln(GLIBC_2.1) [SUSv3] 3599 scalblnf(GLIBC_2.1) [SUSv3] scalblnl(GLIBC_2.1) [SUSv3] 3600 scalbn(GLIBC_2.0) [SUSv3] scalbnf(GLIBC_2.0) [SUSv3] 3601 scalbnl(GLIBC_2.0) [SUSv3] significand(GLIBC_2.0) [LSB] 3602 significandf(GLIBC_2.0) [LSB] significandl(GLIBC_2.0) [LSB] 3603 sin(GLIBC_2.0) [SUSv3] sincos(GLIBC_2.1) [LSB] 3604 sincosf(GLIBC_2.1) [LSB] sincosl(GLIBC_2.1) [LSB] 3605 sinf(GLIBC_2.0) [SUSv3] sinh(GLIBC_2.0) [SUSv3] 3606 sinhf(GLIBC_2.0) [SUSv3] sinhl(GLIBC_2.0) [SUSv3] 3607 sinl(GLIBC_2.0) [SUSv3] sqrt(GLIBC_2.0) [SUSv3] 3608 sqrtf(GLIBC_2.0) [SUSv3] sqrtl(GLIBC_2.0) [SUSv3] 3609 tan(GLIBC_2.0) [SUSv3] tanf(GLIBC_2.0) [SUSv3] tanh(GLIBC_2.0) 3610 [SUSv3] tanhf(GLIBC_2.0) [SUSv3] 3611 tanhl(GLIBC_2.0) [SUSv3] tanl(GLIBC_2.0) [SUSv3] 3612 tgamma(GLIBC_2.1) [SUSv3] tgammaf(GLIBC_2.1) [SUSv3] 3613 tgammal(GLIBC_2.1) [SUSv3] trunc(GLIBC_2.1) [SUSv3] 3614 truncf(GLIBC_2.1) [SUSv3] truncl(GLIBC_2.1) [SUSv3] 3615 y0(GLIBC_2.0) [SUSv3] y0f(GLIBC_2.0) [LSB] y0l(GLIBC_2.0) [LSB] 3616 y1(GLIBC_2.0) [SUSv3] 3617 y1f(GLIBC_2.0) [LSB] y1l(GLIBC_2.0) [LSB] yn(GLIBC_2.0) [SUSv3] 3618 ynf(GLIBC_2.0) [LSB] 3619 ynl(GLIBC_2.0) [LSB] 3620 3621 An LSB conforming implementation shall provide the architecture 3622 specific deprecated functions for Math specified in Table 3623 11-35, with the full mandatory functionality as described in 3624 the referenced underlying specification. 3625 3626 Note: These interfaces are deprecated, and applications 3627 should avoid using them. These interfaces may be withdrawn 3628 in future releases of this specification. 3629 3630 Table 11-35. libm - Math Deprecated Function Interfaces 3631 drem(GLIBC_2.0) [LSB] dremf(GLIBC_2.0) [LSB] dreml(GLIBC_2.0) 3632 [LSB] finite(GLIBC_2.0) [LSB] 3633 finitef(GLIBC_2.0) [LSB] finitel(GLIBC_2.0) [LSB] 3634 gamma(GLIBC_2.0) [LSB] gammaf(GLIBC_2.0) [LSB] 3635 gammal(GLIBC_2.0) [LSB] matherr(GLIBC_2.0) [SVID.3] 3636 3637 An LSB conforming implementation shall provide the architecture 3638 specific data interfaces for Math specified in Table 11-36, 3639 with the full mandatory functionality as described in the 3640 referenced underlying specification. 3641 3642 Table 11-36. libm - Math Data Interfaces 3643 signgam(GLIBC_2.0) [SUSv3] 3644 __________________________________________________________ 3645 3646 11.5. Data Definitions for libm 3647 3648 This section defines global identifiers and their values that 3649 are associated with interfaces contained in libm. These 3650 definitions are organized into groups that correspond to system 3651 headers. This convention is used as a convenience for the 3652 reader, and does not imply the existence of these headers, or 3653 their content. Where an interface is defined as requiring a 3654 particular system header file all of the data definitions for 3655 that system header file presented here shall be in effect. 3656 3657 This section gives data definitions to promote binary 3658 application portability, not to repeat source interface 3659 definitions available elsewhere. System providers and 3660 application developers should use this ABI to supplement - not 3661 to replace - source interface definition specifications. 3662 3663 This specification uses the ISO C (1999) C Language as the 3664 reference programming language, and data definitions are 3665 specified in ISO C format. The C language is used here as a 3666 convenient notation. Using a C language description of these 3667 data objects does not preclude their use by other programming 3668 languages. 3669 __________________________________________________________ 3670 3671 11.5.1. complex.h 3672 3673 /* 3674 * This header is architecture neutral 3675 * Please refer to the generic specification for details 3676 */ 3677 __________________________________________________________ 3678 3679 11.5.2. fenv.h 3680 3681 #define FE_INVALID 0x01 3682 #define FE_DIVBYZERO 0x04 3683 #define FE_OVERFLOW 0x08 3684 #define FE_UNDERFLOW 0x10 3685 #define FE_INEXACT 0x20 3686 3687 #define FE_ALL_EXCEPT \ 3688 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) 3689 3690 #define FE_TONEAREST 0 3691 #define FE_DOWNWARD 0x400 3692 #define FE_UPWARD 0x800 3693 #define FE_TOWARDZERO 0xc00 3694 3695 typedef unsigned short fexcept_t; 3696 3697 typedef struct { 3698 unsigned short __control_word; 3699 unsigned short __unused1; 3700 unsigned short __status_word; 3701 unsigned short __unused2; 3702 unsigned short __tags; 3703 unsigned short __unused3; 3704 unsigned int __eip; 3705 unsigned short __cs_selector; 3706 unsigned int __opcode:11; 3707 unsigned int __unused4:5; 3708 unsigned int __data_offset; 3709 unsigned short __data_selector; 3710 unsigned short __unused5; 3711 } fenv_t; 3712 3713 #define FE_DFL_ENV ((__const fenv_t *) -1) 3714 __________________________________________________________ 3715 3716 11.5.3. math.h 3717 3718 #define fpclassify(x) \ 3719 (sizeof (x) == sizeof (float) ? __fpclassifyf (x) :sizeof (x) == sizeof (double) ? __fpclassify (x) : __fpclassifyl (x)) 3720 #define signbit(x) \ 3721 (sizeof (x) == sizeof (float)? __signbitf (x): sizeof (x) == sizeof (double)? __signbit (x) : __signbitl (x)) 3722 #define isfinite(x) \ 3723 (sizeof (x) == sizeof (float) ? __finitef (x) : sizeof (x) == sizeof (double)? __finite (x) : __finitel (x)) 3724 #define isinf(x) \ 3725 (sizeof (x) == sizeof (float) ? __isinff (x): sizeof (x) == sizeof(double) ? __isinf (x) : __isinfl (x)) 3726 #define isnan(x) \ 3727 (sizeof (x) == sizeof (float) ? __isnanf (x) : sizeof (x) == sizeof (double) ? __isnan (x) : __isnanl (x)) 3728 3729 #define HUGE_VALL 0x1.0p32767L 3730 3731 #define FP_ILOGB0 (-2147483647 - 1) 3732 #define FP_ILOGBNAN (-2147483647 - 1) 3733 3734 extern int __fpclassifyl(long double); 3735 extern long double exp2l(long double); 3736 extern int __signbitl(long double); 3737 __________________________________________________________ 3738 3739 11.6. Interface Definitions for libm 3740 3741 Table of Contents 3742 __fpclassifyl -- Classify real floating type 3743 3744 The interfaces defined on the following pages are included in 3745 libm and are defined by this specification. Unless otherwise 3746 noted, these interfaces shall be included in the source 3747 standard. 3748 3749 Other interfaces listed in Section 11.4 shall behave as 3750 described in the referenced base document. For interfaces 3751 referencing LSB and not listed below, please see the generic 3752 part of the specification. 3753 3754 __fpclassifyl 3755 3756 Name 3757 3758 __fpclassifyl -- Classify real floating type 3759 3760 Synopsis 3761 3762 int __fpclassifyl(long double arg); 3763 3764 Description 3765 3766 __fpclassifyl() has the same specification as fpclassify() in 3767 ISO POSIX (2003), except that the argument type for 3768 __fpclassifyl() is known to be long double. 3769 3770 __fpclassifyl() is not in the source standard; it is only in 3771 the binary standard. 3772 __________________________________________________________ 3773 3774 11.7. Interfaces for libpthread 3775 3776 Table 11-37 defines the library name and shared object name for 3777 the libpthread library 3778 3779 Table 11-37. libpthread Definition 3780 Library: libpthread 3781 SONAME: libpthread.so.0 3782 3783 The behavior of the interfaces in this library is specified by 3784 the following specifications: 3785 3786 [LFS] Large File Support 3787 [LSB] ISO/IEC 23360 Part 1 3788 [SUSv3] ISO POSIX (2003) 3789 __________________________________________________________ 3790 3791 11.7.1. Realtime Threads 3792 __________________________________________________________ 3793 3794 11.7.1.1. Interfaces for Realtime Threads 3795 3796 An LSB conforming implementation shall provide the architecture 3797 specific functions for Realtime Threads specified in Table 3798 11-38, with the full mandatory functionality as described in 3799 the referenced underlying specification. 3800 3801 Table 11-38. libpthread - Realtime Threads Function Interfaces 3802 pthread_attr_getinheritsched(GLIBC_2.0) [SUSv3] 3803 pthread_attr_getschedpolicy(GLIBC_2.0) [SUSv3] 3804 pthread_attr_getscope(GLIBC_2.0) [SUSv3] 3805 pthread_attr_setinheritsched(GLIBC_2.0) [SUSv3] 3806 pthread_attr_setschedpolicy(GLIBC_2.0) [SUSv3] 3807 pthread_attr_setscope(GLIBC_2.0) [SUSv3] 3808 pthread_getschedparam(GLIBC_2.0) [SUSv3] 3809 pthread_setschedparam(GLIBC_2.0) [SUSv3] 3810 __________________________________________________________ 3811 3812 11.7.2. Advanced Realtime Threads 3813 __________________________________________________________ 3814 3815 11.7.2.1. Interfaces for Advanced Realtime Threads 3816 3817 An LSB conforming implementation shall provide the architecture 3818 specific functions for Advanced Realtime Threads specified in 3819 Table 11-39, with the full mandatory functionality as described 3820 in the referenced underlying specification. 3821 3822 Table 11-39. libpthread - Advanced Realtime Threads Function 3823 Interfaces 3824 pthread_barrier_destroy(GLIBC_2.2) [SUSv3] 3825 pthread_barrier_init(GLIBC_2.2) [SUSv3] 3826 pthread_barrier_wait(GLIBC_2.2) [SUSv3] 3827 pthread_barrierattr_destroy(GLIBC_2.2) [SUSv3] 3828 pthread_barrierattr_init(GLIBC_2.2) [SUSv3] 3829 pthread_barrierattr_setpshared(GLIBC_2.2) [SUSv3] 3830 pthread_getcpuclockid(GLIBC_2.2) [SUSv3] 3831 pthread_spin_destroy(GLIBC_2.2) [SUSv3] 3832 pthread_spin_init(GLIBC_2.2) [SUSv3] 3833 pthread_spin_lock(GLIBC_2.2) [SUSv3] 3834 pthread_spin_trylock(GLIBC_2.2) [SUSv3] 3835 pthread_spin_unlock(GLIBC_2.2) [SUSv3] 3836 __________________________________________________________ 3837 3838 11.7.3. Posix Threads 3839 __________________________________________________________ 3840 3841 11.7.3.1. Interfaces for Posix Threads 3842 3843 An LSB conforming implementation shall provide the architecture 3844 specific functions for Posix Threads specified in Table 11-40, 3845 with the full mandatory functionality as described in the 3846 referenced underlying specification. 3847 3848 Table 11-40. libpthread - Posix Threads Function Interfaces 3849 _pthread_cleanup_pop(GLIBC_2.0) [LSB] 3850 _pthread_cleanup_push(GLIBC_2.0) [LSB] 3851 pthread_attr_destroy(GLIBC_2.0) [SUSv3] 3852 pthread_attr_getdetachstate(GLIBC_2.0) [SUSv3] 3853 pthread_attr_getguardsize(GLIBC_2.1) [SUSv3] 3854 pthread_attr_getschedparam(GLIBC_2.0) [SUSv3] 3855 pthread_attr_getstack(GLIBC_2.2) [SUSv3] 3856 pthread_attr_getstackaddr(GLIBC_2.1) [SUSv3] 3857 pthread_attr_getstacksize(GLIBC_2.1) [SUSv3] 3858 pthread_attr_init(GLIBC_2.1) [SUSv3] 3859 pthread_attr_setdetachstate(GLIBC_2.0) [SUSv3] 3860 pthread_attr_setguardsize(GLIBC_2.1) [SUSv3] 3861 pthread_attr_setschedparam(GLIBC_2.0) [SUSv3] 3862 pthread_attr_setstack(GLIBC_2.2) [SUSv3] 3863 pthread_attr_setstackaddr(GLIBC_2.1) [SUSv3] 3864 pthread_attr_setstacksize(GLIBC_2.1) [SUSv3] 3865 pthread_cancel(GLIBC_2.0) [SUSv3] 3866 pthread_cond_broadcast(GLIBC_2.3.2) [SUSv3] 3867 pthread_cond_destroy(GLIBC_2.3.2) [SUSv3] 3868 pthread_cond_init(GLIBC_2.3.2) [SUSv3] 3869 pthread_cond_signal(GLIBC_2.3.2) [SUSv3] 3870 pthread_cond_timedwait(GLIBC_2.3.2) [SUSv3] 3871 pthread_cond_wait(GLIBC_2.3.2) [SUSv3] 3872 pthread_condattr_destroy(GLIBC_2.0) [SUSv3] 3873 pthread_condattr_getpshared(GLIBC_2.2) [SUSv3] 3874 pthread_condattr_init(GLIBC_2.0) [SUSv3] 3875 pthread_condattr_setpshared(GLIBC_2.2) [SUSv3] 3876 pthread_create(GLIBC_2.1) [SUSv3] 3877 pthread_detach(GLIBC_2.0) [SUSv3] pthread_equal(GLIBC_2.0) 3878 [SUSv3] pthread_exit(GLIBC_2.0) [SUSv3] 3879 pthread_getconcurrency(GLIBC_2.1) [SUSv3] 3880 pthread_getspecific(GLIBC_2.0) [SUSv3] pthread_join(GLIBC_2.0) 3881 [SUSv3] pthread_key_create(GLIBC_2.0) [SUSv3] 3882 pthread_key_delete(GLIBC_2.0) [SUSv3] 3883 pthread_kill(GLIBC_2.0) [SUSv3] 3884 pthread_mutex_destroy(GLIBC_2.0) [SUSv3] 3885 pthread_mutex_init(GLIBC_2.0) [SUSv3] 3886 pthread_mutex_lock(GLIBC_2.0) [SUSv3] 3887 pthread_mutex_timedlock(GLIBC_2.2) [SUSv3] 3888 pthread_mutex_trylock(GLIBC_2.0) [SUSv3] 3889 pthread_mutex_unlock(GLIBC_2.0) [SUSv3] 3890 pthread_mutexattr_destroy(GLIBC_2.0) [SUSv3] 3891 pthread_mutexattr_getpshared(GLIBC_2.2) [SUSv3] 3892 pthread_mutexattr_gettype(GLIBC_2.1) [SUSv3] 3893 pthread_mutexattr_init(GLIBC_2.0) [SUSv3] 3894 pthread_mutexattr_setpshared(GLIBC_2.2) [SUSv3] 3895 pthread_mutexattr_settype(GLIBC_2.1) [SUSv3] 3896 pthread_once(GLIBC_2.0) [SUSv3] 3897 pthread_rwlock_destroy(GLIBC_2.1) [SUSv3] 3898 pthread_rwlock_init(GLIBC_2.1) [SUSv3] 3899 pthread_rwlock_rdlock(GLIBC_2.1) [SUSv3] 3900 pthread_rwlock_timedrdlock(GLIBC_2.2) [SUSv3] 3901 pthread_rwlock_timedwrlock(GLIBC_2.2) [SUSv3] 3902 pthread_rwlock_tryrdlock(GLIBC_2.1) [SUSv3] 3903 pthread_rwlock_trywrlock(GLIBC_2.1) [SUSv3] 3904 pthread_rwlock_unlock(GLIBC_2.1) [SUSv3] 3905 pthread_rwlock_wrlock(GLIBC_2.1) [SUSv3] 3906 pthread_rwlockattr_destroy(GLIBC_2.1) [SUSv3] 3907 pthread_rwlockattr_getpshared(GLIBC_2.1) [SUSv3] 3908 pthread_rwlockattr_init(GLIBC_2.1) [SUSv3] 3909 pthread_rwlockattr_setpshared(GLIBC_2.1) [SUSv3] 3910 pthread_self(GLIBC_2.0) [SUSv3] 3911 pthread_setcancelstate(GLIBC_2.0) [SUSv3] 3912 pthread_setcanceltype(GLIBC_2.0) [SUSv3] 3913 pthread_setconcurrency(GLIBC_2.1) [SUSv3] 3914 pthread_setspecific(GLIBC_2.0) [SUSv3] 3915 pthread_sigmask(GLIBC_2.0) [SUSv3] 3916 pthread_testcancel(GLIBC_2.0) [SUSv3] sem_close(GLIBC_2.1.1) 3917 [SUSv3] sem_destroy(GLIBC_2.1) [SUSv3] 3918 sem_getvalue(GLIBC_2.1) [SUSv3] sem_init(GLIBC_2.1) [SUSv3] 3919 sem_open(GLIBC_2.1.1) [SUSv3] sem_post(GLIBC_2.1) [SUSv3] 3920 sem_timedwait(GLIBC_2.2) [SUSv3] sem_trywait(GLIBC_2.1) [SUSv3] 3921 sem_unlink(GLIBC_2.1.1) [SUSv3] sem_wait(GLIBC_2.1) [SUSv3] 3922 3923 An LSB conforming implementation shall provide the architecture 3924 specific deprecated functions for Posix Threads specified in 3925 Table 11-41, with the full mandatory functionality as described 3926 in the referenced underlying specification. 3927 3928 Note: These interfaces are deprecated, and applications 3929 should avoid using them. These interfaces may be withdrawn 3930 in future releases of this specification. 3931 3932 Table 11-41. libpthread - Posix Threads Deprecated Function 3933 Interfaces 3934 pthread_attr_getstackaddr(GLIBC_2.1) [SUSv3] 3935 pthread_attr_setstackaddr(GLIBC_2.1) [SUSv3] 3936 __________________________________________________________ 3937 3938 11.7.4. Thread aware versions of libc interfaces 3939 __________________________________________________________ 3940 3941 11.7.4.1. Interfaces for Thread aware versions of libc interfaces 3942 3943 An LSB conforming implementation shall provide the architecture 3944 specific functions for Thread aware versions of libc interfaces 3945 specified in Table 11-42, with the full mandatory functionality 3946 as described in the referenced underlying specification. 3947 3948 Table 11-42. libpthread - Thread aware versions of libc 3949 interfaces Function Interfaces 3950 lseek64(GLIBC_2.2) [LFS] open64(GLIBC_2.2) [LFS] 3951 pread(GLIBC_2.2) [SUSv3] pread64(GLIBC_2.2) [LFS] 3952 pwrite(GLIBC_2.2) [SUSv3] pwrite64(GLIBC_2.2) [LFS] 3953 __________________________________________________________ 3954 3955 11.8. Data Definitions for libpthread 3956 3957 This section defines global identifiers and their values that 3958 are associated with interfaces contained in libpthread. These 3959 definitions are organized into groups that correspond to system 3960 headers. This convention is used as a convenience for the 3961 reader, and does not imply the existence of these headers, or 3962 their content. Where an interface is defined as requiring a 3963 particular system header file all of the data definitions for 3964 that system header file presented here shall be in effect. 3965 3966 This section gives data definitions to promote binary 3967 application portability, not to repeat source interface 3968 definitions available elsewhere. System providers and 3969 application developers should use this ABI to supplement - not 3970 to replace - source interface definition specifications. 3971 3972 This specification uses the ISO C (1999) C Language as the 3973 reference programming language, and data definitions are 3974 specified in ISO C format. The C language is used here as a 3975 convenient notation. Using a C language description of these 3976 data objects does not preclude their use by other programming 3977 languages. 3978 __________________________________________________________ 3979 3980 11.8.1. pthread.h 3981 3982 #define __SIZEOF_PTHREAD_BARRIER_T 20 3983 3984 typedef union { 3985 char __size[__SIZEOF_PTHREAD_BARRIER_T]; 3986 long int __align; 3987 } pthread_barrier_t; 3988 __________________________________________________________ 3989 3990 11.8.2. semaphore.h 3991 3992 /* 3993 * This header is architecture neutral 3994 * Please refer to the generic specification for details 3995 */ 3996 __________________________________________________________ 3997 3998 11.9. Interfaces for libgcc_s 3999 4000 Table 11-43 defines the library name and shared object name for 4001 the libgcc_s library 4002 4003 Table 11-43. libgcc_s Definition 4004 Library: libgcc_s 4005 SONAME: libgcc_s.so.1 4006 4007 The behavior of the interfaces in this library is specified by 4008 the following specifications: 4009 4010 [LSB] ISO/IEC 23360 Part 1 4011 __________________________________________________________ 4012 4013 11.9.1. Unwind Library 4014 __________________________________________________________ 4015 4016 11.9.1.1. Interfaces for Unwind Library 4017 4018 An LSB conforming implementation shall provide the architecture 4019 specific functions for Unwind Library specified in Table 11-44, 4020 with the full mandatory functionality as described in the 4021 referenced underlying specification. 4022 4023 Table 11-44. libgcc_s - Unwind Library Function Interfaces 4024 _Unwind_Backtrace(GCC_3.3) [LSB] 4025 _Unwind_DeleteException(GCC_3.0) [LSB] 4026 _Unwind_FindEnclosingFunction(GCC_3.3) [LSB] 4027 _Unwind_Find_FDE(GCC_3.0) [LSB] 4028 _Unwind_ForcedUnwind(GCC_3.0) [LSB] _Unwind_GetCFA(GCC_3.3) 4029 [LSB] _Unwind_GetDataRelBase(GCC_3.0) [LSB] 4030 _Unwind_GetGR(GCC_3.0) [LSB] 4031 _Unwind_GetIP(GCC_3.0) [LSB] 4032 _Unwind_GetLanguageSpecificData(GCC_3.0) [LSB] 4033 _Unwind_GetRegionStart(GCC_3.0) [LSB] 4034 _Unwind_GetTextRelBase(GCC_3.0) [LSB] 4035 _Unwind_RaiseException(GCC_3.0) [LSB] _Unwind_Resume(GCC_3.0) 4036 [LSB] _Unwind_Resume_or_Rethrow(GCC_3.3) [LSB] 4037 _Unwind_SetGR(GCC_3.0) [LSB] 4038 _Unwind_SetIP(GCC_3.0) [LSB] 4039 __________________________________________________________ 4040 4041 11.10. Data Definitions for libgcc_s 4042 4043 This section defines global identifiers and their values that 4044 are associated with interfaces contained in libgcc_s. These 4045 definitions are organized into groups that correspond to system 4046 headers. This convention is used as a convenience for the 4047 reader, and does not imply the existence of these headers, or 4048 their content. Where an interface is defined as requiring a 4049 particular system header file all of the data definitions for 4050 that system header file presented here shall be in effect. 4051 4052 This section gives data definitions to promote binary 4053 application portability, not to repeat source interface 4054 definitions available elsewhere. System providers and 4055 application developers should use this ABI to supplement - not 4056 to replace - source interface definition specifications. 4057 4058 This specification uses the ISO C (1999) C Language as the 4059 reference programming language, and data definitions are 4060 specified in ISO C format. The C language is used here as a 4061 convenient notation. Using a C language description of these 4062 data objects does not preclude their use by other programming 4063 languages. 4064 __________________________________________________________ 4065 4066 11.10.1. unwind.h 4067 4068 typedef _Unwind_Reason_Code(*_Unwind_Stop_Fn) (int version, 4069 _Unwind_Action actions, 4070 _Unwind_Exception_Class 4071 exceptionClass, 4072 struct _Unwind_Exception* 4073 exceptionObject, 4074 struct _Unwind_Context * 4075 context, 4076 void *stop_parameter); 4077 4078 typedef _Unwind_Reason_Code(*_Unwind_Trace_Fn) (struct _Unwind_Context *, 4079 void *); 4080 extern void _Unwind_DeleteException(struct _Unwind_Exception *); 4081 extern fde *_Unwind_Find_FDE(void *, struct dwarf_eh_base *); 4082 extern _Unwind_Ptr _Unwind_GetDataRelBase(struct _Unwind_Context *); 4083 extern _Unwind_Word _Unwind_GetGR(struct _Unwind_Context *, int); 4084 extern _Unwind_Ptr _Unwind_GetIP(struct _Unwind_Context *); 4085 extern _Unwind_Ptr _Unwind_GetLanguageSpecificData(struct _Unwind_Context 4086 *, unsigned int); 4087 extern _Unwind_Ptr _Unwind_GetRegionStart(struct _Unwind_Context *); 4088 extern _Unwind_Reason_Code _Unwind_RaiseException(struct _Unwind_Exception 4089 *); 4090 extern void _Unwind_SetIP(struct _Unwind_Context *, unsigned int); 4091 extern void _Unwind_Resume(struct _Unwind_Exception *); 4092 extern void _Unwind_SetGR(struct _Unwind_Context *, int, u_int64_t); 4093 extern _Unwind_Ptr _Unwind_GetTextRelBase(struct _Unwind_Context *); 4094 extern _Unwind_Ptr _Unwind_ForcedUnwind(struct _Unwind_Exception *, 4095 _Unwind_Stop_Fn, void *); 4096 extern _Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, void *); 4097 extern _Unwind_Reason_Code _Unwind_GetCFA(struct _Unwind_Context *); 4098 extern _Unwind_Reason_Code _Unwind_Resume_or_Rethrow(struct 4099 _Unwind_Exception *); 4100 extern void *_Unwind_FindEnclosingFunction(void *); 4101 __________________________________________________________ 4102 4103 11.11. Interface Definitions for libgcc_s 4104 4105 Table of Contents 4106 _Unwind_DeleteException -- private C++ error handling method 4107 _Unwind_Find_FDE -- private C++ error handling method 4108 _Unwind_ForcedUnwind -- private C++ error handling method 4109 _Unwind_GetDataRelBase -- private IA64 C++ error handling 4110 method 4111 4112 _Unwind_GetGR -- private C++ error handling method 4113 _Unwind_GetIP -- private C++ error handling method 4114 _Unwind_GetLanguageSpecificData -- private C++ error handling 4115 method 4116 4117 _Unwind_GetRegionStart -- private C++ error handling method 4118 _Unwind_GetTextRelBase -- private IA64 C++ error handling 4119 method 4120 4121 _Unwind_RaiseException -- private C++ error handling method 4122 _Unwind_Resume -- private C++ error handling method 4123 _Unwind_SetGR -- private C++ error handling method 4124 _Unwind_SetIP -- private C++ error handling method 4125 4126 The interfaces defined on the following pages are included in 4127 libgcc_s and are defined by this specification. Unless 4128 otherwise noted, these interfaces shall be included in the 4129 source standard. 4130 4131 Other interfaces listed in Section 11.9 shall behave as 4132 described in the referenced base document. For interfaces 4133 referencing LSB and not listed below, please see the generic 4134 part of the specification. 4135 4136 _Unwind_DeleteException 4137 4138 Name 4139 4140 _Unwind_DeleteException -- private C++ error handling method 4141 4142 Synopsis 4143 4144 void _Unwind_DeleteException(struct _Unwind_Exception * 4145 object); 4146 4147 Description 4148 4149 _Unwind_DeleteException() deletes the given exception object. 4150 If a given runtime resumes normal execution after catching a 4151 foreign exception, it will not know how to delete that 4152 exception. Such an exception shall be deleted by calling 4153 _Unwind_DeleteException(). This is a convenience function that 4154 calls the function pointed to by the exception_cleanup field of 4155 the exception header. 4156 4157 _Unwind_Find_FDE 4158 4159 Name 4160 4161 _Unwind_Find_FDE -- private C++ error handling method 4162 4163 Synopsis 4164 4165 fde * _Unwind_Find_FDE(void * pc, struct dwarf_eh_bases * 4166 bases); 4167 4168 Description 4169 4170 _Unwind_Find_FDE() looks for the object containing pc, then 4171 inserts into bases. 4172 4173 _Unwind_ForcedUnwind 4174 4175 Name 4176 4177 _Unwind_ForcedUnwind -- private C++ error handling method 4178 4179 Synopsis 4180 4181 _Unwind_Reason_Code _Unwind_ForcedUnwind(struct 4182 _Unwind_Exception * object, _Unwind_Stop_Fn stop, void * 4183 stop_parameter); 4184 4185 Description 4186 4187 _Unwind_ForcedUnwind() raises an exception for forced 4188 unwinding, passing along the given exception object, which 4189 should have its exception_class and exception_cleanup fields 4190 set. The exception object has been allocated by the 4191 language-specific runtime, and has a language-specific format, 4192 except that it shall contain an _Unwind_Exception struct. 4193 4194 Forced unwinding is a single-phase process. stop and 4195 stop_parameter control the termination of the unwind process 4196 instead of the usual personality routine query. stop is called 4197 for each unwind frame, with the parameteres described for the 4198 usual personality routine below, plus an additional 4199 stop_parameter. 4200 4201 Return Value 4202 4203 When stop identifies the destination frame, it transfers 4204 control to the user code as appropriate without returning, 4205 normally after calling _Unwind_DeleteException(). If not, then 4206 it should return an _Unwind_Reason_Code value. 4207 4208 If stop returns any reason code other than _URC_NO_REASON, then 4209 the stack state is indeterminate from the point of view of the 4210 caller of _Unwind_ForcedUnwind(). Rather than attempt to 4211 return, therefore, the unwind library should use the 4212 exception_cleanup entry in the exception, and then call 4213 abort(). 4214 4215 _URC_NO_REASON 4216 This is not the destination from. The unwind runtime 4217 will call frame's personality routine with the 4218 _UA_FORCE_UNWIND and _UA_CLEANUP_PHASE flag set in 4219 actions, and then unwind to the next frame and call the 4220 stop() function again. 4221 4222 _URC_END_OF_STACK 4223 In order to allow _Unwind_ForcedUnwind() to perform 4224 special processing when it reaches the end of the stack, 4225 the unwind runtime will call it after the last frame is 4226 rejected, with a NULL stack pointer in the context, and 4227 the stop() function shall catch this condition. It may 4228 return this code if it cannot handle end-of-stack. 4229 4230 _URC_FATAL_PHASE2_ERROR 4231 The stop() function may return this code for other fatal 4232 conditions like stack corruption. 4233 4234 _Unwind_GetDataRelBase 4235 4236 Name 4237 4238 _Unwind_GetDataRelBase -- private IA64 C++ error handling 4239 method 4240 4241 Synopsis 4242 4243 _Unwind_Ptr _Unwind_GetDataRelBase(struct _Unwind_Context * 4244 context); 4245 4246 Description 4247 4248 _Unwind_GetDataRelBase() returns the global pointer in register 4249 one for context. 4250 4251 _Unwind_GetGR 4252 4253 Name 4254 4255 _Unwind_GetGR -- private C++ error handling method 4256 4257 Synopsis 4258 4259 _Unwind_Word _Unwind_GetGR(struct _Unwind_Context * context, 4260 int index); 4261 4262 Description 4263 4264 _Unwind_GetGR() returns data at index found in context. The 4265 register is identified by its index: 0 to 31 are for the fixed 4266 registers, and 32 to 127 are for the stacked registers. 4267 4268 During the two phases of unwinding, only GR1 has a guaranteed 4269 value, which is the global pointer of the frame referenced by 4270 the unwind context. If the register has its NAT bit set, the 4271 behavior is unspecified. 4272 4273 _Unwind_GetIP 4274 4275 Name 4276 4277 _Unwind_GetIP -- private C++ error handling method 4278 4279 Synopsis 4280 4281 _Unwind_Ptr _Unwind_GetIP(struct _Unwind_Context * context); 4282 4283 Description 4284 4285 _Unwind_GetIP() returns the instruction pointer value for the 4286 routine identified by the unwind context. 4287 4288 _Unwind_GetLanguageSpecificData 4289 4290 Name 4291 4292 _Unwind_GetLanguageSpecificData -- private C++ error handling 4293 method 4294 4295 Synopsis 4296 4297 _Unwind_Ptr _Unwind_GetLanguageSpecificData(struct 4298 _Unwind_Context * context, uint value); 4299 4300 Description 4301 4302 _Unwind_GetLanguageSpecificData() returns the address of the 4303 language specific data area for the current stack frame. 4304 4305 _Unwind_GetRegionStart 4306 4307 Name 4308 4309 _Unwind_GetRegionStart -- private C++ error handling method 4310 4311 Synopsis 4312 4313 _Unwind_Ptr _Unwind_GetRegionStart(struct _Unwind_Context * 4314 context); 4315 4316 Description 4317 4318 _Unwind_GetRegionStart() routine returns the address (i.e., 0) 4319 of the beginning of the procedure or code fragment described by 4320 the current unwind descriptor block. 4321 4322 _Unwind_GetTextRelBase 4323 4324 Name 4325 4326 _Unwind_GetTextRelBase -- private IA64 C++ error handling 4327 method 4328 4329 Synopsis 4330 4331 _Unwind_Ptr _Unwind_GetTextRelBase(struct _Unwind_Context * 4332 context); 4333 4334 Description 4335 4336 _Unwind_GetTextRelBase() calls the abort method, then returns. 4337 4338 _Unwind_RaiseException 4339 4340 Name 4341 4342 _Unwind_RaiseException -- private C++ error handling method 4343 4344 Synopsis 4345 4346 _Unwind_Reason_Code _Unwind_RaiseException(struct 4347 _Unwind_Exception * object); 4348 4349 Description 4350 4351 _Unwind_RaiseException() raises an exception, passing along the 4352 given exception object, which should have its exception_class 4353 and exception_cleanup fields set. The exception object has been 4354 allocated by the language-specific runtime, and has a 4355 language-specific format, exception that it shall contain an 4356 _Unwind_Exception. 4357 4358 Return Value 4359 4360 _Unwind_RaiseException() does not return unless an error 4361 condition is found. If an error condition occurs, an 4362 _Unwind_Reason_Code is returnd: 4363 4364 _URC_END_OF_STACK 4365 The unwinder encountered the end of the stack during 4366 phase one without finding a handler. The unwind runtime 4367 will not have modified the stack. The C++ runtime will 4368 normally call uncaught_exception() in this case. 4369 4370 _URC_FATAL_PHASE1_ERROR 4371 The unwinder encountered an unexpected error during 4372 phase one, because of something like stack corruption. 4373 The unwind runtime will not have modified the stack. The 4374 C++ runtime will normally call terminate() in this case. 4375 4376 _URC_FATAL_PHASE2_ERROR 4377 The unwinder encountered an unexpected error during 4378 phase two. This is usually a throw, which will call 4379 terminate(). 4380 4381 _Unwind_Resume 4382 4383 Name 4384 4385 _Unwind_Resume -- private C++ error handling method 4386 4387 Synopsis 4388 4389 void _Unwind_Resume(struct _Unwind_Exception * object); 4390 4391 Description 4392 4393 _Unwind_Resume() resumes propagation of an existing exception 4394 object. A call to this routine is inserted as the end of a 4395 landing pad that performs cleanup, but does not resume normal 4396 execution. It causes unwinding to proceed further. 4397 4398 _Unwind_SetGR 4399 4400 Name 4401 4402 _Unwind_SetGR -- private C++ error handling method 4403 4404 Synopsis 4405 4406 void _Unwind_SetGR(struct _Unwind_Context * context, int index, 4407 uint value); 4408 4409 Description 4410 4411 _Unwind_SetGR() sets the value of the register indexed for the 4412 routine identified by the unwind context. 4413 4414 _Unwind_SetIP 4415 4416 Name 4417 4418 _Unwind_SetIP -- private C++ error handling method 4419 4420 Synopsis 4421 4422 void _Unwind_SetIP(struct _Unwind_Context * context, uint 4423 value); 4424 4425 Description 4426 4427 _Unwind_SetIP() sets the value of the instruction pointer for 4428 the routine identified by the unwind context 4429 __________________________________________________________ 4430 4431 11.12. Interfaces for libdl 4432 4433 Table 11-45 defines the library name and shared object name for 4434 the libdl library 4435 4436 Table 11-45. libdl Definition 4437 Library: libdl 4438 SONAME: libdl.so.2 4439 4440 The behavior of the interfaces in this library is specified by 4441 the following specifications: 4442 4443 [LSB] ISO/IEC 23360 Part 1 4444 [SUSv3] ISO POSIX (2003) 4445 __________________________________________________________ 4446 4447 11.12.1. Dynamic Loader 4448 __________________________________________________________ 4449 4450 11.12.1.1. Interfaces for Dynamic Loader 4451 4452 An LSB conforming implementation shall provide the architecture 4453 specific functions for Dynamic Loader specified in Table 11-46, 4454 with the full mandatory functionality as described in the 4455 referenced underlying specification. 4456 4457 Table 11-46. libdl - Dynamic Loader Function Interfaces 4458 dladdr(GLIBC_2.0) [LSB] dlclose(GLIBC_2.0) [SUSv3] 4459 dlerror(GLIBC_2.0) [SUSv3] dlopen(GLIBC_2.1) [LSB] 4460 dlsym(GLIBC_2.0) [LSB] 4461 __________________________________________________________ 4462 4463 11.13. Data Definitions for libdl 4464 4465 This section defines global identifiers and their values that 4466 are associated with interfaces contained in libdl. These 4467 definitions are organized into groups that correspond to system 4468 headers. This convention is used as a convenience for the 4469 reader, and does not imply the existence of these headers, or 4470 their content. Where an interface is defined as requiring a 4471 particular system header file all of the data definitions for 4472 that system header file presented here shall be in effect. 4473 4474 This section gives data definitions to promote binary 4475 application portability, not to repeat source interface 4476 definitions available elsewhere. System providers and 4477 application developers should use this ABI to supplement - not 4478 to replace - source interface definition specifications. 4479 4480 This specification uses the ISO C (1999) C Language as the 4481 reference programming language, and data definitions are 4482 specified in ISO C format. The C language is used here as a 4483 convenient notation. Using a C language description of these 4484 data objects does not preclude their use by other programming 4485 languages. 4486 __________________________________________________________ 4487 4488 11.13.1. dlfcn.h 4489 4490 /* 4491 * This header is architecture neutral 4492 * Please refer to the generic specification for details 4493 */ 4494 __________________________________________________________ 4495 4496 11.14. Interfaces for libcrypt 4497 4498 Table 11-47 defines the library name and shared object name for 4499 the libcrypt library 4500 4501 Table 11-47. libcrypt Definition 4502 Library: libcrypt 4503 SONAME: libcrypt.so.1 4504 4505 The behavior of the interfaces in this library is specified by 4506 the following specifications: 4507 4508 [SUSv3] ISO POSIX (2003) 4509 __________________________________________________________ 4510 4511 11.14.1. Encryption 4512 __________________________________________________________ 4513 4514 11.14.1.1. Interfaces for Encryption 4515 4516 An LSB conforming implementation shall provide the architecture 4517 specific functions for Encryption specified in Table 11-48, 4518 with the full mandatory functionality as described in the 4519 referenced underlying specification. 4520 4521 Table 11-48. libcrypt - Encryption Function Interfaces 4522 crypt(GLIBC_2.0) [SUSv3] encrypt(GLIBC_2.0) [SUSv3] 4523 setkey(GLIBC_2.0) [SUSv3] 4524 4525 IV. Utility Libraries 4526 4527 Table of Contents 4528 12. Libraries 4529 4530 12.1. Interfaces for libz 4531 4532 12.1.1. Compression Library 4533 4534 12.2. Data Definitions for libz 4535 4536 12.2.1. zlib.h 4537 4538 12.3. Interfaces for libncurses 4539 4540 12.3.1. Curses 4541 4542 12.4. Data Definitions for libncurses 4543 4544 12.4.1. curses.h 4545 4546 12.5. Interfaces for libutil 4547 4548 12.5.1. Utility Functions 4549 __________________________________________________________ 4550 4551 Chapter 12. Libraries 4552 4553 An LSB-conforming implementation shall also support some 4554 utility libraries which are built on top of the interfaces 4555 provided by the base libraries. These libraries implement 4556 common functionality, and hide additional system dependent 4557 information such as file formats and device names. 4558 __________________________________________________________ 4559 4560 12.1. Interfaces for libz 4561 4562 Table 12-1 defines the library name and shared object name for 4563 the libz library 4564 4565 Table 12-1. libz Definition 4566 Library: libz 4567 SONAME: libz.so.1 4568 __________________________________________________________ 4569 4570 12.1.1. Compression Library 4571 __________________________________________________________ 4572 4573 12.1.1.1. Interfaces for Compression Library 4574 4575 No external functions are defined for libz - Compression 4576 Library in this part of the specification. See also the generic 4577 specification. 4578 __________________________________________________________ 4579 4580 12.2. Data Definitions for libz 4581 4582 This section defines global identifiers and their values that 4583 are associated with interfaces contained in libz. These 4584 definitions are organized into groups that correspond to system 4585 headers. This convention is used as a convenience for the 4586 reader, and does not imply the existence of these headers, or 4587 their content. Where an interface is defined as requiring a 4588 particular system header file all of the data definitions for 4589 that system header file presented here shall be in effect. 4590 4591 This section gives data definitions to promote binary 4592 application portability, not to repeat source interface 4593 definitions available elsewhere. System providers and 4594 application developers should use this ABI to supplement - not 4595 to replace - source interface definition specifications. 4596 4597 This specification uses the ISO C (1999) C Language as the 4598 reference programming language, and data definitions are 4599 specified in ISO C format. The C language is used here as a 4600 convenient notation. Using a C language description of these 4601 data objects does not preclude their use by other programming 4602 languages. 4603 __________________________________________________________ 4604 4605 12.2.1. zlib.h 4606 4607 /* 4608 * This header is architecture neutral 4609 * Please refer to the generic specification for details 4610 */ 4611 __________________________________________________________ 4612 4613 12.3. Interfaces for libncurses 4614 4615 Table 12-2 defines the library name and shared object name for 4616 the libncurses library 4617 4618 Table 12-2. libncurses Definition 4619 Library: libncurses 4620 SONAME: libncurses.so.5 4621 __________________________________________________________ 4622 4623 12.3.1. Curses 4624 __________________________________________________________ 4625 4626 12.3.1.1. Interfaces for Curses 4627 4628 No external functions are defined for libncurses - Curses in 4629 this part of the specification. See also the generic 4630 specification. 4631 __________________________________________________________ 4632 4633 12.4. Data Definitions for libncurses 4634 4635 This section defines global identifiers and their values that 4636 are associated with interfaces contained in libncurses. These 4637 definitions are organized into groups that correspond to system 4638 headers. This convention is used as a convenience for the 4639 reader, and does not imply the existence of these headers, or 4640 their content. Where an interface is defined as requiring a 4641 particular system header file all of the data definitions for 4642 that system header file presented here shall be in effect. 4643 4644 This section gives data definitions to promote binary 4645 application portability, not to repeat source interface 4646 definitions available elsewhere. System providers and 4647 application developers should use this ABI to supplement - not 4648 to replace - source interface definition specifications. 4649 4650 This specification uses the ISO C (1999) C Language as the 4651 reference programming language, and data definitions are 4652 specified in ISO C format. The C language is used here as a 4653 convenient notation. Using a C language description of these 4654 data objects does not preclude their use by other programming 4655 languages. 4656 __________________________________________________________ 4657 4658 12.4.1. curses.h 4659 4660 /* 4661 * This header is architecture neutral 4662 * Please refer to the generic specification for details 4663 */ 4664 __________________________________________________________ 4665 4666 12.5. Interfaces for libutil 4667 4668 Table 12-3 defines the library name and shared object name for 4669 the libutil library 4670 4671 Table 12-3. libutil Definition 4672 Library: libutil 4673 SONAME: libutil.so.1 4674 4675 The behavior of the interfaces in this library is specified by 4676 the following specifications: 4677 4678 [LSB] ISO/IEC 23360 Part 1 4679 __________________________________________________________ 4680 4681 12.5.1. Utility Functions 4682 __________________________________________________________ 4683 4684 12.5.1.1. Interfaces for Utility Functions 4685 4686 An LSB conforming implementation shall provide the architecture 4687 specific functions for Utility Functions specified in Table 4688 12-4, with the full mandatory functionality as described in the 4689 referenced underlying specification. 4690 4691 Table 12-4. libutil - Utility Functions Function Interfaces 4692 forkpty(GLIBC_2.0) [LSB] login(GLIBC_2.0) [LSB] 4693 login_tty(GLIBC_2.0) [LSB] logout(GLIBC_2.0) [LSB] 4694 logwtmp(GLIBC_2.0) [LSB] openpty(GLIBC_2.0) [LSB] 4695 4696 V. Package Format and Installation 4697 4698 Table of Contents 4699 13. Software Installation 4700 4701 13.1. Package Dependencies 4702 13.2. Package Architecture Considerations 4703 __________________________________________________________ 4704 4705 Chapter 13. Software Installation 4706 __________________________________________________________ 4707 4708 13.1. Package Dependencies 4709 4710 The LSB runtime environment shall provide the following 4711 dependencies. 4712 4713 lsb-core-ia32 4714 4715 This dependency is used to indicate that the application is 4716 dependent on features contained in the LSB-Core specification. 4717 4718 This dependency shall have a version of 3.0. 4719 4720 Other LSB modules may add additional dependencies; such 4721 dependencies shall have the format lsb-module-ia32. 4722 __________________________________________________________ 4723 4724 13.2. Package Architecture Considerations 4725 4726 All packages must specify an architecture of i486. A LSB 4727 runtime environment must accept an architecture of i486 even if 4728 the native architecture is different. 4729 4730 The archnum value in the Lead Section shall be 0x0001. 4731 __________________________________________________________ 4732 4733 Appendix A. Alphabetical Listing of Interfaces 4734 __________________________________________________________ 4735 4736 A.1. libc 4737 4738 The behavior of the interfaces in this library is specified by 4739 the following Standards. 4740 4741 Large File Support [LFS] 4742 ISO/IEC 23360 Part 1 [LSB] 4743 SUSv2 [SUSv2] 4744 ISO POSIX (2003) [SUSv3] 4745 SVID Issue 3 [SVID.3] 4746 SVID Issue 4 [SVID.4] 4747 4748 Table A-1. libc Function Interfaces 4749 _Exit(GLIBC_2.1.1)[SUSv3] getsid(GLIBC_2.0)[SUSv3] 4750 setutent(GLIBC_2.0)[LSB] 4751 _IO_feof(GLIBC_2.0)[LSB] getsockname(GLIBC_2.0)[SUSv3] 4752 setutxent(GLIBC_2.1)[SUSv3] 4753 _IO_getc(GLIBC_2.0)[LSB] getsockopt(GLIBC_2.0)[LSB] 4754 setvbuf(GLIBC_2.0)[SUSv3] 4755 _IO_putc(GLIBC_2.0)[LSB] getsubopt(GLIBC_2.0)[SUSv3] 4756 shmat(GLIBC_2.0)[SUSv3] 4757 _IO_puts(GLIBC_2.0)[LSB] gettext(GLIBC_2.0)[LSB] 4758 shmctl(GLIBC_2.2)[SUSv3] 4759 __assert_fail(GLIBC_2.0)[LSB] gettimeofday(GLIBC_2.0)[SUSv3] 4760 shmdt(GLIBC_2.0)[SUSv3] 4761 __ctype_get_mb_cur_max(GLIBC_2.0)[LSB] getuid(GLIBC_2.0)[SUSv3] 4762 shmget(GLIBC_2.0)[SUSv3] 4763 __cxa_atexit(GLIBC_2.1.3)[LSB] getutent(GLIBC_2.0)[LSB] 4764 shutdown(GLIBC_2.0)[SUSv3] 4765 __cxa_finalize(GLIBC_2.1.3)[LSB] getutent_r(GLIBC_2.0)[LSB] 4766 sigaction(GLIBC_2.0)[SUSv3] 4767 __errno_location(GLIBC_2.0)[LSB] getutxent(GLIBC_2.1)[SUSv3] 4768 sigaddset(GLIBC_2.0)[SUSv3] 4769 __fpending(GLIBC_2.2)[LSB] getutxid(GLIBC_2.1)[SUSv3] 4770 sigaltstack(GLIBC_2.0)[SUSv3] 4771 __fxstat(GLIBC_2.0)[LSB] getutxline(GLIBC_2.1)[SUSv3] 4772 sigandset(GLIBC_2.0)[LSB] 4773 __fxstat64(GLIBC_2.2)[LSB] getw(GLIBC_2.0)[SUSv2] 4774 sigdelset(GLIBC_2.0)[SUSv3] 4775 __getpagesize(GLIBC_2.0)[LSB] getwc(GLIBC_2.2)[SUSv3] 4776 sigemptyset(GLIBC_2.0)[SUSv3] 4777 __getpgid(GLIBC_2.0)[LSB] getwchar(GLIBC_2.2)[SUSv3] 4778 sigfillset(GLIBC_2.0)[SUSv3] 4779 __h_errno_location(GLIBC_2.0)[LSB] getwd(GLIBC_2.0)[SUSv3] 4780 sighold(GLIBC_2.1)[SUSv3] 4781 __isinf(GLIBC_2.0)[LSB] glob(GLIBC_2.0)[SUSv3] 4782 sigignore(GLIBC_2.1)[SUSv3] 4783 __isinff(GLIBC_2.0)[LSB] glob64(GLIBC_2.2)[LSB] 4784 siginterrupt(GLIBC_2.0)[SUSv3] 4785 __isinfl(GLIBC_2.0)[LSB] globfree(GLIBC_2.0)[SUSv3] 4786 sigisemptyset(GLIBC_2.0)[LSB] 4787 __isnan(GLIBC_2.0)[LSB] globfree64(GLIBC_2.1)[LSB] 4788 sigismember(GLIBC_2.0)[SUSv3] 4789 __isnanf(GLIBC_2.0)[LSB] gmtime(GLIBC_2.0)[SUSv3] 4790 siglongjmp(GLIBC_2.0)[SUSv3] 4791 __isnanl(GLIBC_2.0)[LSB] gmtime_r(GLIBC_2.0)[SUSv3] 4792 signal(GLIBC_2.0)[SUSv3] 4793 __libc_current_sigrtmax(GLIBC_2.1)[LSB] 4794 grantpt(GLIBC_2.1)[SUSv3] sigorset(GLIBC_2.0)[LSB] 4795 __libc_current_sigrtmin(GLIBC_2.1)[LSB] 4796 hcreate(GLIBC_2.0)[SUSv3] sigpause(GLIBC_2.0)[LSB] 4797 __libc_start_main(GLIBC_2.0)[LSB] hdestroy(GLIBC_2.0)[SUSv3] 4798 sigpending(GLIBC_2.0)[SUSv3] 4799 __lxstat(GLIBC_2.0)[LSB] hsearch(GLIBC_2.0)[SUSv3] 4800 sigprocmask(GLIBC_2.0)[SUSv3] 4801 __lxstat64(GLIBC_2.2)[LSB] htonl(GLIBC_2.0)[SUSv3] 4802 sigqueue(GLIBC_2.1)[SUSv3] 4803 __mempcpy(GLIBC_2.0)[LSB] htons(GLIBC_2.0)[SUSv3] 4804 sigrelse(GLIBC_2.1)[SUSv3] 4805 __rawmemchr(GLIBC_2.1)[LSB] iconv(GLIBC_2.1)[SUSv3] 4806 sigreturn(GLIBC_2.0)[LSB] 4807 __sigsetjmp(GLIBC_2.0)[LSB] iconv_close(GLIBC_2.1)[SUSv3] 4808 sigset(GLIBC_2.1)[SUSv3] 4809 __stpcpy(GLIBC_2.0)[LSB] iconv_open(GLIBC_2.1)[SUSv3] 4810 sigsuspend(GLIBC_2.0)[SUSv3] 4811 __strdup(GLIBC_2.0)[LSB] if_freenameindex(GLIBC_2.1)[SUSv3] 4812 sigtimedwait(GLIBC_2.1)[SUSv3] 4813 __strtod_internal(GLIBC_2.0)[LSB] 4814 if_indextoname(GLIBC_2.1)[SUSv3] sigwait(GLIBC_2.0)[SUSv3] 4815 __strtof_internal(GLIBC_2.0)[LSB] 4816 if_nameindex(GLIBC_2.1)[SUSv3] sigwaitinfo(GLIBC_2.1)[SUSv3] 4817 __strtok_r(GLIBC_2.0)[LSB] if_nametoindex(GLIBC_2.1)[SUSv3] 4818 sleep(GLIBC_2.0)[SUSv3] 4819 __strtol_internal(GLIBC_2.0)[LSB] imaxabs(GLIBC_2.1.1)[SUSv3] 4820 snprintf(GLIBC_2.0)[SUSv3] 4821 __strtold_internal(GLIBC_2.0)[LSB] imaxdiv(GLIBC_2.1.1)[SUSv3] 4822 sockatmark(GLIBC_2.2.4)[SUSv3] 4823 __strtoll_internal(GLIBC_2.0)[LSB] index(GLIBC_2.0)[SUSv3] 4824 socket(GLIBC_2.0)[SUSv3] 4825 __strtoul_internal(GLIBC_2.0)[LSB] inet_addr(GLIBC_2.0)[SUSv3] 4826 socketpair(GLIBC_2.0)[SUSv3] 4827 __strtoull_internal(GLIBC_2.0)[LSB] inet_aton(GLIBC_2.0)[LSB] 4828 sprintf(GLIBC_2.0)[SUSv3] 4829 __sysconf(GLIBC_2.2)[LSB] inet_ntoa(GLIBC_2.0)[SUSv3] 4830 srand(GLIBC_2.0)[SUSv3] 4831 __sysv_signal(GLIBC_2.0)[LSB] inet_ntop(GLIBC_2.0)[SUSv3] 4832 srand48(GLIBC_2.0)[SUSv3] 4833 __wcstod_internal(GLIBC_2.0)[LSB] inet_pton(GLIBC_2.0)[SUSv3] 4834 srandom(GLIBC_2.0)[SUSv3] 4835 __wcstof_internal(GLIBC_2.0)[LSB] initgroups(GLIBC_2.0)[LSB] 4836 sscanf(GLIBC_2.0)[LSB] 4837 __wcstol_internal(GLIBC_2.0)[LSB] initstate(GLIBC_2.0)[SUSv3] 4838 statfs(GLIBC_2.0)[LSB] 4839 __wcstold_internal(GLIBC_2.0)[LSB] insque(GLIBC_2.0)[SUSv3] 4840 statfs64(GLIBC_2.1)[LSB] 4841 __wcstoul_internal(GLIBC_2.0)[LSB] ioctl(GLIBC_2.0)[LSB] 4842 statvfs(GLIBC_2.1)[SUSv3] 4843 __xmknod(GLIBC_2.0)[LSB] isalnum(GLIBC_2.0)[SUSv3] 4844 statvfs64(GLIBC_2.1)[LFS] 4845 __xpg_basename(GLIBC_2.0)[LSB] isalpha(GLIBC_2.0)[SUSv3] 4846 stime(GLIBC_2.0)[LSB] 4847 __xpg_sigpause(GLIBC_2.2)[LSB] isascii(GLIBC_2.0)[SUSv3] 4848 stpcpy(GLIBC_2.0)[LSB] 4849 __xpg_strerror_r(GLIBC_2.3.4)[LSB] isatty(GLIBC_2.0)[SUSv3] 4850 stpncpy(GLIBC_2.0)[LSB] 4851 __xstat(GLIBC_2.0)[LSB] isblank(GLIBC_2.0)[SUSv3] 4852 strcasecmp(GLIBC_2.0)[SUSv3] 4853 __xstat64(GLIBC_2.2)[LSB] iscntrl(GLIBC_2.0)[SUSv3] 4854 strcasestr(GLIBC_2.1)[LSB] 4855 _exit(GLIBC_2.0)[SUSv3] isdigit(GLIBC_2.0)[SUSv3] 4856 strcat(GLIBC_2.0)[SUSv3] 4857 _longjmp(GLIBC_2.0)[SUSv3] isgraph(GLIBC_2.0)[SUSv3] 4858 strchr(GLIBC_2.0)[SUSv3] 4859 _setjmp(GLIBC_2.0)[SUSv3] islower(GLIBC_2.0)[SUSv3] 4860 strcmp(GLIBC_2.0)[SUSv3] 4861 _tolower(GLIBC_2.0)[SUSv3] isprint(GLIBC_2.0)[SUSv3] 4862 strcoll(GLIBC_2.0)[SUSv3] 4863 _toupper(GLIBC_2.0)[SUSv3] ispunct(GLIBC_2.0)[SUSv3] 4864 strcpy(GLIBC_2.0)[SUSv3] 4865 a64l(GLIBC_2.0)[SUSv3] isspace(GLIBC_2.0)[SUSv3] 4866 strcspn(GLIBC_2.0)[SUSv3] 4867 abort(GLIBC_2.0)[SUSv3] isupper(GLIBC_2.0)[SUSv3] 4868 strdup(GLIBC_2.0)[SUSv3] 4869 abs(GLIBC_2.0)[SUSv3] iswalnum(GLIBC_2.0)[SUSv3] 4870 strerror(GLIBC_2.0)[SUSv3] 4871 accept(GLIBC_2.0)[SUSv3] iswalpha(GLIBC_2.0)[SUSv3] 4872 strerror_r(GLIBC_2.0)[LSB] 4873 access(GLIBC_2.0)[SUSv3] iswblank(GLIBC_2.1)[SUSv3] 4874 strfmon(GLIBC_2.0)[SUSv3] 4875 acct(GLIBC_2.0)[LSB] iswcntrl(GLIBC_2.0)[SUSv3] 4876 strftime(GLIBC_2.0)[SUSv3] 4877 adjtime(GLIBC_2.0)[LSB] iswctype(GLIBC_2.0)[SUSv3] 4878 strlen(GLIBC_2.0)[SUSv3] 4879 alarm(GLIBC_2.0)[SUSv3] iswdigit(GLIBC_2.0)[SUSv3] 4880 strncasecmp(GLIBC_2.0)[SUSv3] 4881 asctime(GLIBC_2.0)[SUSv3] iswgraph(GLIBC_2.0)[SUSv3] 4882 strncat(GLIBC_2.0)[SUSv3] 4883 asctime_r(GLIBC_2.0)[SUSv3] iswlower(GLIBC_2.0)[SUSv3] 4884 strncmp(GLIBC_2.0)[SUSv3] 4885 asprintf(GLIBC_2.0)[LSB] iswprint(GLIBC_2.0)[SUSv3] 4886 strncpy(GLIBC_2.0)[SUSv3] 4887 atof(GLIBC_2.0)[SUSv3] iswpunct(GLIBC_2.0)[SUSv3] 4888 strndup(GLIBC_2.0)[LSB] 4889 atoi(GLIBC_2.0)[SUSv3] iswspace(GLIBC_2.0)[SUSv3] 4890 strnlen(GLIBC_2.0)[LSB] 4891 atol(GLIBC_2.0)[SUSv3] iswupper(GLIBC_2.0)[SUSv3] 4892 strpbrk(GLIBC_2.0)[SUSv3] 4893 atoll(GLIBC_2.0)[SUSv3] iswxdigit(GLIBC_2.0)[SUSv3] 4894 strptime(GLIBC_2.0)[LSB] 4895 authnone_create(GLIBC_2.0)[SVID.4] isxdigit(GLIBC_2.0)[SUSv3] 4896 strrchr(GLIBC_2.0)[SUSv3] 4897 basename(GLIBC_2.0)[LSB] jrand48(GLIBC_2.0)[SUSv3] 4898 strsep(GLIBC_2.0)[LSB] 4899 bcmp(GLIBC_2.0)[SUSv3] key_decryptsession(GLIBC_2.1)[SVID.3] 4900 strsignal(GLIBC_2.0)[LSB] 4901 bcopy(GLIBC_2.0)[SUSv3] kill(GLIBC_2.0)[LSB] 4902 strspn(GLIBC_2.0)[SUSv3] 4903 bind(GLIBC_2.0)[SUSv3] killpg(GLIBC_2.0)[SUSv3] 4904 strstr(GLIBC_2.0)[SUSv3] 4905 bind_textdomain_codeset(GLIBC_2.2)[LSB] l64a(GLIBC_2.0)[SUSv3] 4906 strtod(GLIBC_2.0)[SUSv3] 4907 bindresvport(GLIBC_2.0)[LSB] labs(GLIBC_2.0)[SUSv3] 4908 strtof(GLIBC_2.0)[SUSv3] 4909 bindtextdomain(GLIBC_2.0)[LSB] lchown(GLIBC_2.0)[SUSv3] 4910 strtoimax(GLIBC_2.1)[SUSv3] 4911 brk(GLIBC_2.0)[SUSv2] lcong48(GLIBC_2.0)[SUSv3] 4912 strtok(GLIBC_2.0)[SUSv3] 4913 bsd_signal(GLIBC_2.0)[SUSv3] ldiv(GLIBC_2.0)[SUSv3] 4914 strtok_r(GLIBC_2.0)[SUSv3] 4915 bsearch(GLIBC_2.0)[SUSv3] lfind(GLIBC_2.0)[SUSv3] 4916 strtol(GLIBC_2.0)[SUSv3] 4917 btowc(GLIBC_2.0)[SUSv3] link(GLIBC_2.0)[LSB] 4918 strtold(GLIBC_2.0)[SUSv3] 4919 bzero(GLIBC_2.0)[SUSv3] listen(GLIBC_2.0)[SUSv3] 4920 strtoll(GLIBC_2.0)[SUSv3] 4921 calloc(GLIBC_2.0)[SUSv3] llabs(GLIBC_2.0)[SUSv3] 4922 strtoq(GLIBC_2.0)[LSB] 4923 catclose(GLIBC_2.0)[SUSv3] lldiv(GLIBC_2.0)[SUSv3] 4924 strtoul(GLIBC_2.0)[SUSv3] 4925 catgets(GLIBC_2.0)[SUSv3] localeconv(GLIBC_2.2)[SUSv3] 4926 strtoull(GLIBC_2.0)[SUSv3] 4927 catopen(GLIBC_2.0)[SUSv3] localtime(GLIBC_2.0)[SUSv3] 4928 strtoumax(GLIBC_2.1)[SUSv3] 4929 cfgetispeed(GLIBC_2.0)[SUSv3] localtime_r(GLIBC_2.0)[SUSv3] 4930 strtouq(GLIBC_2.0)[LSB] 4931 cfgetospeed(GLIBC_2.0)[SUSv3] lockf(GLIBC_2.0)[SUSv3] 4932 strxfrm(GLIBC_2.0)[SUSv3] 4933 cfmakeraw(GLIBC_2.0)[LSB] lockf64(GLIBC_2.1)[LFS] 4934 svc_getreqset(GLIBC_2.0)[SVID.3] 4935 cfsetispeed(GLIBC_2.0)[SUSv3] longjmp(GLIBC_2.0)[SUSv3] 4936 svc_register(GLIBC_2.0)[LSB] 4937 cfsetospeed(GLIBC_2.0)[SUSv3] lrand48(GLIBC_2.0)[SUSv3] 4938 svc_run(GLIBC_2.0)[LSB] 4939 cfsetspeed(GLIBC_2.0)[LSB] lsearch(GLIBC_2.0)[SUSv3] 4940 svc_sendreply(GLIBC_2.0)[LSB] 4941 chdir(GLIBC_2.0)[SUSv3] lseek(GLIBC_2.0)[SUSv3] 4942 svcerr_auth(GLIBC_2.0)[SVID.3] 4943 chmod(GLIBC_2.0)[SUSv3] makecontext(GLIBC_2.1)[SUSv3] 4944 svcerr_decode(GLIBC_2.0)[SVID.3] 4945 chown(GLIBC_2.1)[SUSv3] malloc(GLIBC_2.0)[SUSv3] 4946 svcerr_noproc(GLIBC_2.0)[SVID.3] 4947 chroot(GLIBC_2.0)[SUSv2] mblen(GLIBC_2.0)[SUSv3] 4948 svcerr_noprog(GLIBC_2.0)[SVID.3] 4949 clearerr(GLIBC_2.0)[SUSv3] mbrlen(GLIBC_2.0)[SUSv3] 4950 svcerr_progvers(GLIBC_2.0)[SVID.3] 4951 clnt_create(GLIBC_2.0)[SVID.4] mbrtowc(GLIBC_2.0)[SUSv3] 4952 svcerr_systemerr(GLIBC_2.0)[SVID.3] 4953 clnt_pcreateerror(GLIBC_2.0)[SVID.4] mbsinit(GLIBC_2.0)[SUSv3] 4954 svcerr_weakauth(GLIBC_2.0)[SVID.3] 4955 clnt_perrno(GLIBC_2.0)[SVID.4] mbsnrtowcs(GLIBC_2.0)[LSB] 4956 svctcp_create(GLIBC_2.0)[LSB] 4957 clnt_perror(GLIBC_2.0)[SVID.4] mbsrtowcs(GLIBC_2.0)[SUSv3] 4958 svcudp_create(GLIBC_2.0)[LSB] 4959 clnt_spcreateerror(GLIBC_2.0)[SVID.4] 4960 mbstowcs(GLIBC_2.0)[SUSv3] swab(GLIBC_2.0)[SUSv3] 4961 clnt_sperrno(GLIBC_2.0)[SVID.4] mbtowc(GLIBC_2.0)[SUSv3] 4962 swapcontext(GLIBC_2.1)[SUSv3] 4963 clnt_sperror(GLIBC_2.0)[SVID.4] memccpy(GLIBC_2.0)[SUSv3] 4964 swprintf(GLIBC_2.2)[SUSv3] 4965 clock(GLIBC_2.0)[SUSv3] memchr(GLIBC_2.0)[SUSv3] 4966 swscanf(GLIBC_2.2)[LSB] 4967 close(GLIBC_2.0)[SUSv3] memcmp(GLIBC_2.0)[SUSv3] 4968 symlink(GLIBC_2.0)[SUSv3] 4969 closedir(GLIBC_2.0)[SUSv3] memcpy(GLIBC_2.0)[SUSv3] 4970 sync(GLIBC_2.0)[SUSv3] 4971 closelog(GLIBC_2.0)[SUSv3] memmem(GLIBC_2.0)[LSB] 4972 sysconf(GLIBC_2.0)[LSB] 4973 confstr(GLIBC_2.0)[SUSv3] memmove(GLIBC_2.0)[SUSv3] 4974 syslog(GLIBC_2.0)[SUSv3] 4975 connect(GLIBC_2.0)[SUSv3] memrchr(GLIBC_2.2)[LSB] 4976 system(GLIBC_2.0)[LSB] 4977 creat(GLIBC_2.0)[SUSv3] memset(GLIBC_2.0)[SUSv3] 4978 tcdrain(GLIBC_2.0)[SUSv3] 4979 creat64(GLIBC_2.1)[LFS] mkdir(GLIBC_2.0)[SUSv3] 4980 tcflow(GLIBC_2.0)[SUSv3] 4981 ctermid(GLIBC_2.0)[SUSv3] mkfifo(GLIBC_2.0)[SUSv3] 4982 tcflush(GLIBC_2.0)[SUSv3] 4983 ctime(GLIBC_2.0)[SUSv3] mkstemp(GLIBC_2.0)[SUSv3] 4984 tcgetattr(GLIBC_2.0)[SUSv3] 4985 ctime_r(GLIBC_2.0)[SUSv3] mkstemp64(GLIBC_2.2)[LFS] 4986 tcgetpgrp(GLIBC_2.0)[SUSv3] 4987 cuserid(GLIBC_2.0)[SUSv2] mktemp(GLIBC_2.0)[SUSv3] 4988 tcgetsid(GLIBC_2.1)[SUSv3] 4989 daemon(GLIBC_2.0)[LSB] mktime(GLIBC_2.0)[SUSv3] 4990 tcsendbreak(GLIBC_2.0)[SUSv3] 4991 dcgettext(GLIBC_2.0)[LSB] mlock(GLIBC_2.0)[SUSv3] 4992 tcsetattr(GLIBC_2.0)[SUSv3] 4993 dcngettext(GLIBC_2.2)[LSB] mlockall(GLIBC_2.0)[SUSv3] 4994 tcsetpgrp(GLIBC_2.0)[SUSv3] 4995 dgettext(GLIBC_2.0)[LSB] mmap(GLIBC_2.0)[SUSv3] 4996 tdelete(GLIBC_2.0)[SUSv3] 4997 difftime(GLIBC_2.0)[SUSv3] mmap64(GLIBC_2.1)[LFS] 4998 telldir(GLIBC_2.0)[SUSv3] 4999 dirname(GLIBC_2.0)[SUSv3] mprotect(GLIBC_2.0)[SUSv3] 5000 tempnam(GLIBC_2.0)[SUSv3] 5001 div(GLIBC_2.0)[SUSv3] mrand48(GLIBC_2.0)[SUSv3] 5002 textdomain(GLIBC_2.0)[LSB] 5003 dngettext(GLIBC_2.2)[LSB] mremap(GLIBC_2.0)[LSB] 5004 tfind(GLIBC_2.0)[SUSv3] 5005 drand48(GLIBC_2.0)[SUSv3] msgctl(GLIBC_2.2)[SUSv3] 5006 time(GLIBC_2.0)[SUSv3] 5007 dup(GLIBC_2.0)[SUSv3] msgget(GLIBC_2.0)[SUSv3] 5008 times(GLIBC_2.0)[SUSv3] 5009 dup2(GLIBC_2.0)[SUSv3] msgrcv(GLIBC_2.0)[SUSv3] 5010 tmpfile(GLIBC_2.1)[SUSv3] 5011 ecvt(GLIBC_2.0)[SUSv3] msgsnd(GLIBC_2.0)[SUSv3] 5012 tmpfile64(GLIBC_2.1)[LFS] 5013 endgrent(GLIBC_2.0)[SUSv3] msync(GLIBC_2.0)[SUSv3] 5014 tmpnam(GLIBC_2.0)[SUSv3] 5015 endprotoent(GLIBC_2.0)[SUSv3] munlock(GLIBC_2.0)[SUSv3] 5016 toascii(GLIBC_2.0)[SUSv3] 5017 endpwent(GLIBC_2.0)[SUSv3] munlockall(GLIBC_2.0)[SUSv3] 5018 tolower(GLIBC_2.0)[SUSv3] 5019 endservent(GLIBC_2.0)[SUSv3] munmap(GLIBC_2.0)[SUSv3] 5020 toupper(GLIBC_2.0)[SUSv3] 5021 endutent(GLIBC_2.0)[LSB] nanosleep(GLIBC_2.0)[SUSv3] 5022 towctrans(GLIBC_2.0)[SUSv3] 5023 endutxent(GLIBC_2.1)[SUSv3] nftw(GLIBC_2.3.3)[SUSv3] 5024 towlower(GLIBC_2.0)[SUSv3] 5025 erand48(GLIBC_2.0)[SUSv3] nftw64(GLIBC_2.3.3)[LFS] 5026 towupper(GLIBC_2.0)[SUSv3] 5027 err(GLIBC_2.0)[LSB] ngettext(GLIBC_2.2)[LSB] 5028 truncate(GLIBC_2.0)[SUSv3] 5029 error(GLIBC_2.0)[LSB] nice(GLIBC_2.0)[SUSv3] 5030 truncate64(GLIBC_2.1)[LFS] 5031 errx(GLIBC_2.0)[LSB] nl_langinfo(GLIBC_2.0)[SUSv3] 5032 tsearch(GLIBC_2.0)[SUSv3] 5033 execl(GLIBC_2.0)[SUSv3] nrand48(GLIBC_2.0)[SUSv3] 5034 ttyname(GLIBC_2.0)[SUSv3] 5035 execle(GLIBC_2.0)[SUSv3] ntohl(GLIBC_2.0)[SUSv3] 5036 ttyname_r(GLIBC_2.0)[SUSv3] 5037 execlp(GLIBC_2.0)[SUSv3] ntohs(GLIBC_2.0)[SUSv3] 5038 twalk(GLIBC_2.0)[SUSv3] 5039 execv(GLIBC_2.0)[SUSv3] open(GLIBC_2.0)[SUSv3] 5040 tzset(GLIBC_2.0)[SUSv3] 5041 execve(GLIBC_2.0)[SUSv3] opendir(GLIBC_2.0)[SUSv3] 5042 ualarm(GLIBC_2.0)[SUSv3] 5043 execvp(GLIBC_2.0)[SUSv3] openlog(GLIBC_2.0)[SUSv3] 5044 ulimit(GLIBC_2.0)[SUSv3] 5045 exit(GLIBC_2.0)[SUSv3] pathconf(GLIBC_2.0)[SUSv3] 5046 umask(GLIBC_2.0)[SUSv3] 5047 fchdir(GLIBC_2.0)[SUSv3] pause(GLIBC_2.0)[SUSv3] 5048 uname(GLIBC_2.0)[SUSv3] 5049 fchmod(GLIBC_2.0)[SUSv3] pclose(GLIBC_2.1)[SUSv3] 5050 ungetc(GLIBC_2.0)[SUSv3] 5051 fchown(GLIBC_2.0)[SUSv3] perror(GLIBC_2.0)[SUSv3] 5052 ungetwc(GLIBC_2.2)[SUSv3] 5053 fclose(GLIBC_2.1)[SUSv3] pipe(GLIBC_2.0)[SUSv3] 5054 unlink(GLIBC_2.0)[LSB] 5055 fcntl(GLIBC_2.0)[LSB] pmap_getport(GLIBC_2.0)[LSB] 5056 unlockpt(GLIBC_2.1)[SUSv3] 5057 fcvt(GLIBC_2.0)[SUSv3] pmap_set(GLIBC_2.0)[LSB] 5058 unsetenv(GLIBC_2.0)[SUSv3] 5059 fdatasync(GLIBC_2.0)[SUSv3] pmap_unset(GLIBC_2.0)[LSB] 5060 usleep(GLIBC_2.0)[SUSv3] 5061 fdopen(GLIBC_2.1)[SUSv3] poll(GLIBC_2.0)[SUSv3] 5062 utime(GLIBC_2.0)[SUSv3] 5063 feof(GLIBC_2.0)[SUSv3] popen(GLIBC_2.1)[SUSv3] 5064 utimes(GLIBC_2.0)[SUSv3] 5065 ferror(GLIBC_2.0)[SUSv3] posix_fadvise(GLIBC_2.2)[SUSv3] 5066 utmpname(GLIBC_2.0)[LSB] 5067 fflush(GLIBC_2.0)[SUSv3] posix_fadvise64(GLIBC_2.3.3)[LSB] 5068 vasprintf(GLIBC_2.0)[LSB] 5069 fflush_unlocked(GLIBC_2.0)[LSB] 5070 posix_fallocate(GLIBC_2.2)[SUSv3] vdprintf(GLIBC_2.0)[LSB] 5071 ffs(GLIBC_2.0)[SUSv3] posix_fallocate64(GLIBC_2.3.3)[LSB] 5072 verrx(GLIBC_2.0)[LSB] 5073 fgetc(GLIBC_2.0)[SUSv3] posix_madvise(GLIBC_2.2)[SUSv3] 5074 vfork(GLIBC_2.0)[SUSv3] 5075 fgetpos(GLIBC_2.2)[SUSv3] posix_memalign(GLIBC_2.2)[SUSv3] 5076 vfprintf(GLIBC_2.0)[SUSv3] 5077 fgetpos64(GLIBC_2.2)[LFS] posix_openpt(GLIBC_2.2.1)[SUSv3] 5078 vfscanf(GLIBC_2.0)[LSB] 5079 fgets(GLIBC_2.0)[SUSv3] posix_spawn(GLIBC_2.2)[SUSv3] 5080 vfwprintf(GLIBC_2.2)[SUSv3] 5081 fgetwc(GLIBC_2.2)[SUSv3] 5082 posix_spawn_file_actions_addclose(GLIBC_2.2)[SUSv3] 5083 vfwscanf(GLIBC_2.2)[LSB] 5084 fgetwc_unlocked(GLIBC_2.2)[LSB] 5085 posix_spawn_file_actions_adddup2(GLIBC_2.2)[SUSv3] 5086 vprintf(GLIBC_2.0)[SUSv3] 5087 fgetws(GLIBC_2.2)[SUSv3] 5088 posix_spawn_file_actions_addopen(GLIBC_2.2)[SUSv3] 5089 vscanf(GLIBC_2.0)[LSB] 5090 fileno(GLIBC_2.0)[SUSv3] 5091 posix_spawn_file_actions_destroy(GLIBC_2.2)[SUSv3] 5092 vsnprintf(GLIBC_2.0)[SUSv3] 5093 flock(GLIBC_2.0)[LSB] 5094 posix_spawn_file_actions_init(GLIBC_2.2)[SUSv3] 5095 vsprintf(GLIBC_2.0)[SUSv3] 5096 flockfile(GLIBC_2.0)[SUSv3] 5097 posix_spawnattr_destroy(GLIBC_2.2)[SUSv3] 5098 vsscanf(GLIBC_2.0)[LSB] 5099 fmtmsg(GLIBC_2.1)[SUSv3] 5100 posix_spawnattr_getflags(GLIBC_2.2)[SUSv3] 5101 vswprintf(GLIBC_2.2)[SUSv3] 5102 fnmatch(GLIBC_2.2.3)[SUSv3] 5103 posix_spawnattr_getpgroup(GLIBC_2.2)[SUSv3] 5104 vswscanf(GLIBC_2.2)[LSB] 5105 fopen(GLIBC_2.1)[SUSv3] 5106 posix_spawnattr_getschedparam(GLIBC_2.2)[SUSv3] 5107 vsyslog(GLIBC_2.0)[LSB] 5108 fopen64(GLIBC_2.1)[LFS] 5109 posix_spawnattr_getschedpolicy(GLIBC_2.2)[SUSv3] 5110 vwprintf(GLIBC_2.2)[SUSv3] 5111 fork(GLIBC_2.0)[SUSv3] 5112 posix_spawnattr_getsigdefault(GLIBC_2.2)[SUSv3] 5113 vwscanf(GLIBC_2.2)[LSB] 5114 fpathconf(GLIBC_2.0)[SUSv3] 5115 posix_spawnattr_getsigmask(GLIBC_2.2)[SUSv3] 5116 wait(GLIBC_2.0)[SUSv3] 5117 fprintf(GLIBC_2.0)[SUSv3] 5118 posix_spawnattr_init(GLIBC_2.2)[SUSv3] wait4(GLIBC_2.0)[LSB] 5119 fputc(GLIBC_2.0)[SUSv3] 5120 posix_spawnattr_setflags(GLIBC_2.2)[SUSv3] 5121 waitid(GLIBC_2.1)[SUSv3] 5122 fputs(GLIBC_2.0)[SUSv3] 5123 posix_spawnattr_setpgroup(GLIBC_2.2)[SUSv3] 5124 waitpid(GLIBC_2.0)[LSB] 5125 fputwc(GLIBC_2.2)[SUSv3] 5126 posix_spawnattr_setschedparam(GLIBC_2.2)[SUSv3] 5127 warn(GLIBC_2.0)[LSB] 5128 fputws(GLIBC_2.2)[SUSv3] 5129 posix_spawnattr_setschedpolicy(GLIBC_2.2)[SUSv3] 5130 warnx(GLIBC_2.0)[LSB] 5131 fread(GLIBC_2.0)[SUSv3] 5132 posix_spawnattr_setsigdefault(GLIBC_2.2)[SUSv3] 5133 wcpcpy(GLIBC_2.0)[LSB] 5134 free(GLIBC_2.0)[SUSv3] 5135 posix_spawnattr_setsigmask(GLIBC_2.2)[SUSv3] 5136 wcpncpy(GLIBC_2.0)[LSB] 5137 freeaddrinfo(GLIBC_2.0)[SUSv3] posix_spawnp(GLIBC_2.2)[SUSv3] 5138 wcrtomb(GLIBC_2.0)[SUSv3] 5139 freopen(GLIBC_2.0)[SUSv3] printf(GLIBC_2.0)[SUSv3] 5140 wcscasecmp(GLIBC_2.1)[LSB] 5141 freopen64(GLIBC_2.1)[LFS] pselect(GLIBC_2.0)[SUSv3] 5142 wcscat(GLIBC_2.0)[SUSv3] 5143 fscanf(GLIBC_2.0)[LSB] psignal(GLIBC_2.0)[LSB] 5144 wcschr(GLIBC_2.0)[SUSv3] 5145 fseek(GLIBC_2.0)[SUSv3] ptsname(GLIBC_2.1)[SUSv3] 5146 wcscmp(GLIBC_2.0)[SUSv3] 5147 fseeko(GLIBC_2.1)[SUSv3] putc(GLIBC_2.0)[SUSv3] 5148 wcscoll(GLIBC_2.0)[SUSv3] 5149 fseeko64(GLIBC_2.1)[LFS] putc_unlocked(GLIBC_2.0)[SUSv3] 5150 wcscpy(GLIBC_2.0)[SUSv3] 5151 fsetpos(GLIBC_2.2)[SUSv3] putchar(GLIBC_2.0)[SUSv3] 5152 wcscspn(GLIBC_2.0)[SUSv3] 5153 fsetpos64(GLIBC_2.2)[LFS] putchar_unlocked(GLIBC_2.0)[SUSv3] 5154 wcsdup(GLIBC_2.0)[LSB] 5155 fstatfs(GLIBC_2.0)[LSB] putenv(GLIBC_2.0)[SUSv3] 5156 wcsftime(GLIBC_2.2)[SUSv3] 5157 fstatfs64(GLIBC_2.1)[LSB] puts(GLIBC_2.0)[SUSv3] 5158 wcslen(GLIBC_2.0)[SUSv3] 5159 fstatvfs(GLIBC_2.1)[SUSv3] pututxline(GLIBC_2.1)[SUSv3] 5160 wcsncasecmp(GLIBC_2.1)[LSB] 5161 fstatvfs64(GLIBC_2.1)[LFS] putw(GLIBC_2.0)[SUSv2] 5162 wcsncat(GLIBC_2.0)[SUSv3] 5163 fsync(GLIBC_2.0)[SUSv3] putwc(GLIBC_2.2)[SUSv3] 5164 wcsncmp(GLIBC_2.0)[SUSv3] 5165 ftell(GLIBC_2.0)[SUSv3] putwchar(GLIBC_2.2)[SUSv3] 5166 wcsncpy(GLIBC_2.0)[SUSv3] 5167 ftello(GLIBC_2.1)[SUSv3] qsort(GLIBC_2.0)[SUSv3] 5168 wcsnlen(GLIBC_2.1)[LSB] 5169 ftello64(GLIBC_2.1)[LFS] raise(GLIBC_2.0)[SUSv3] 5170 wcsnrtombs(GLIBC_2.0)[LSB] 5171 ftime(GLIBC_2.0)[SUSv3] rand(GLIBC_2.0)[SUSv3] 5172 wcspbrk(GLIBC_2.0)[SUSv3] 5173 ftok(GLIBC_2.0)[SUSv3] rand_r(GLIBC_2.0)[SUSv3] 5174 wcsrchr(GLIBC_2.0)[SUSv3] 5175 ftruncate(GLIBC_2.0)[SUSv3] random(GLIBC_2.0)[SUSv3] 5176 wcsrtombs(GLIBC_2.0)[SUSv3] 5177 ftruncate64(GLIBC_2.1)[LFS] read(GLIBC_2.0)[SUSv3] 5178 wcsspn(GLIBC_2.0)[SUSv3] 5179 ftrylockfile(GLIBC_2.0)[SUSv3] readdir(GLIBC_2.0)[SUSv3] 5180 wcsstr(GLIBC_2.0)[SUSv3] 5181 ftw(GLIBC_2.0)[SUSv3] readdir64(GLIBC_2.2)[LFS] 5182 wcstod(GLIBC_2.0)[SUSv3] 5183 ftw64(GLIBC_2.1)[LFS] readdir64_r(GLIBC_2.2)[LSB] 5184 wcstof(GLIBC_2.0)[SUSv3] 5185 funlockfile(GLIBC_2.0)[SUSv3] readdir_r(GLIBC_2.0)[SUSv3] 5186 wcstoimax(GLIBC_2.1)[SUSv3] 5187 fwide(GLIBC_2.2)[SUSv3] readlink(GLIBC_2.0)[SUSv3] 5188 wcstok(GLIBC_2.0)[SUSv3] 5189 fwprintf(GLIBC_2.2)[SUSv3] readv(GLIBC_2.0)[SUSv3] 5190 wcstol(GLIBC_2.0)[SUSv3] 5191 fwrite(GLIBC_2.0)[SUSv3] realloc(GLIBC_2.0)[SUSv3] 5192 wcstold(GLIBC_2.0)[SUSv3] 5193 fwscanf(GLIBC_2.2)[LSB] realpath(GLIBC_2.3)[SUSv3] 5194 wcstoll(GLIBC_2.1)[SUSv3] 5195 gai_strerror(GLIBC_2.1)[SUSv3] recv(GLIBC_2.0)[SUSv3] 5196 wcstombs(GLIBC_2.0)[SUSv3] 5197 gcvt(GLIBC_2.0)[SUSv3] recvfrom(GLIBC_2.0)[SUSv3] 5198 wcstoq(GLIBC_2.0)[LSB] 5199 getaddrinfo(GLIBC_2.0)[SUSv3] recvmsg(GLIBC_2.0)[SUSv3] 5200 wcstoul(GLIBC_2.0)[SUSv3] 5201 getc(GLIBC_2.0)[SUSv3] regcomp(GLIBC_2.0)[SUSv3] 5202 wcstoull(GLIBC_2.1)[SUSv3] 5203 getc_unlocked(GLIBC_2.0)[SUSv3] regerror(GLIBC_2.0)[SUSv3] 5204 wcstoumax(GLIBC_2.1)[SUSv3] 5205 getchar(GLIBC_2.0)[SUSv3] regexec(GLIBC_2.3.4)[LSB] 5206 wcstouq(GLIBC_2.0)[LSB] 5207 getchar_unlocked(GLIBC_2.0)[SUSv3] regfree(GLIBC_2.0)[SUSv3] 5208 wcswcs(GLIBC_2.1)[SUSv3] 5209 getcontext(GLIBC_2.1)[SUSv3] remove(GLIBC_2.0)[SUSv3] 5210 wcswidth(GLIBC_2.0)[SUSv3] 5211 getcwd(GLIBC_2.0)[SUSv3] remque(GLIBC_2.0)[SUSv3] 5212 wcsxfrm(GLIBC_2.0)[SUSv3] 5213 getdate(GLIBC_2.1)[SUSv3] rename(GLIBC_2.0)[SUSv3] 5214 wctob(GLIBC_2.0)[SUSv3] 5215 getdomainname(GLIBC_2.0)[LSB] rewind(GLIBC_2.0)[SUSv3] 5216 wctomb(GLIBC_2.0)[SUSv3] 5217 getdtablesize(GLIBC_2.0)[LSB] rewinddir(GLIBC_2.0)[SUSv3] 5218 wctrans(GLIBC_2.0)[SUSv3] 5219 getegid(GLIBC_2.0)[SUSv3] rindex(GLIBC_2.0)[SUSv3] 5220 wctype(GLIBC_2.0)[SUSv3] 5221 getenv(GLIBC_2.0)[SUSv3] rmdir(GLIBC_2.0)[SUSv3] 5222 wcwidth(GLIBC_2.0)[SUSv3] 5223 geteuid(GLIBC_2.0)[SUSv3] sbrk(GLIBC_2.0)[SUSv2] 5224 wmemchr(GLIBC_2.0)[SUSv3] 5225 getgid(GLIBC_2.0)[SUSv3] scanf(GLIBC_2.0)[LSB] 5226 wmemcmp(GLIBC_2.0)[SUSv3] 5227 getgrent(GLIBC_2.0)[SUSv3] 5228 sched_get_priority_max(GLIBC_2.0)[SUSv3] 5229 wmemcpy(GLIBC_2.0)[SUSv3] 5230 getgrgid(GLIBC_2.0)[SUSv3] 5231 sched_get_priority_min(GLIBC_2.0)[SUSv3] 5232 wmemmove(GLIBC_2.0)[SUSv3] 5233 getgrgid_r(GLIBC_2.1.2)[SUSv3] sched_getparam(GLIBC_2.0)[SUSv3] 5234 wmemset(GLIBC_2.0)[SUSv3] 5235 getgrnam(GLIBC_2.0)[SUSv3] sched_getscheduler(GLIBC_2.0)[SUSv3] 5236 wordexp(GLIBC_2.1)[SUSv3] 5237 getgrnam_r(GLIBC_2.1.2)[SUSv3] 5238 sched_rr_get_interval(GLIBC_2.0)[SUSv3] 5239 wordfree(GLIBC_2.1)[SUSv3] 5240 getgrouplist(GLIBC_2.2.4)[LSB] sched_setparam(GLIBC_2.0)[SUSv3] 5241 wprintf(GLIBC_2.2)[SUSv3] 5242 getgroups(GLIBC_2.0)[SUSv3] sched_setscheduler(GLIBC_2.0)[LSB] 5243 write(GLIBC_2.0)[SUSv3] 5244 gethostbyaddr(GLIBC_2.0)[SUSv3] sched_yield(GLIBC_2.0)[SUSv3] 5245 writev(GLIBC_2.0)[SUSv3] 5246 gethostbyaddr_r(GLIBC_2.1.2)[LSB] seed48(GLIBC_2.0)[SUSv3] 5247 wscanf(GLIBC_2.2)[LSB] 5248 gethostbyname(GLIBC_2.0)[SUSv3] seekdir(GLIBC_2.0)[SUSv3] 5249 xdr_accepted_reply(GLIBC_2.0)[SVID.3] 5250 gethostbyname2(GLIBC_2.0)[LSB] select(GLIBC_2.0)[SUSv3] 5251 xdr_array(GLIBC_2.0)[SVID.3] 5252 gethostbyname2_r(GLIBC_2.1.2)[LSB] semctl(GLIBC_2.2)[SUSv3] 5253 xdr_bool(GLIBC_2.0)[SVID.3] 5254 gethostbyname_r(GLIBC_2.1.2)[LSB] semget(GLIBC_2.0)[SUSv3] 5255 xdr_bytes(GLIBC_2.0)[SVID.3] 5256 gethostid(GLIBC_2.0)[SUSv3] semop(GLIBC_2.0)[SUSv3] 5257 xdr_callhdr(GLIBC_2.0)[SVID.3] 5258 gethostname(GLIBC_2.0)[SUSv3] send(GLIBC_2.0)[SUSv3] 5259 xdr_callmsg(GLIBC_2.0)[SVID.3] 5260 getitimer(GLIBC_2.0)[SUSv3] sendmsg(GLIBC_2.0)[SUSv3] 5261 xdr_char(GLIBC_2.0)[SVID.3] 5262 getloadavg(GLIBC_2.2)[LSB] sendto(GLIBC_2.0)[SUSv3] 5263 xdr_double(GLIBC_2.0)[SVID.3] 5264 getlogin(GLIBC_2.0)[SUSv3] setbuf(GLIBC_2.0)[SUSv3] 5265 xdr_enum(GLIBC_2.0)[SVID.3] 5266 getlogin_r(GLIBC_2.0)[SUSv3] setbuffer(GLIBC_2.0)[LSB] 5267 xdr_float(GLIBC_2.0)[SVID.3] 5268 getnameinfo(GLIBC_2.1)[SUSv3] setcontext(GLIBC_2.0)[SUSv3] 5269 xdr_free(GLIBC_2.0)[SVID.3] 5270 getopt(GLIBC_2.0)[LSB] setegid(GLIBC_2.0)[SUSv3] 5271 xdr_int(GLIBC_2.0)[SVID.3] 5272 getopt_long(GLIBC_2.0)[LSB] setenv(GLIBC_2.0)[SUSv3] 5273 xdr_long(GLIBC_2.0)[SVID.3] 5274 getopt_long_only(GLIBC_2.0)[LSB] seteuid(GLIBC_2.0)[SUSv3] 5275 xdr_opaque(GLIBC_2.0)[SVID.3] 5276 getpagesize(GLIBC_2.0)[LSB] setgid(GLIBC_2.0)[SUSv3] 5277 xdr_opaque_auth(GLIBC_2.0)[SVID.3] 5278 getpeername(GLIBC_2.0)[SUSv3] setgrent(GLIBC_2.0)[SUSv3] 5279 xdr_pointer(GLIBC_2.0)[SVID.3] 5280 getpgid(GLIBC_2.0)[SUSv3] setgroups(GLIBC_2.0)[LSB] 5281 xdr_reference(GLIBC_2.0)[SVID.3] 5282 getpgrp(GLIBC_2.0)[SUSv3] sethostname(GLIBC_2.0)[LSB] 5283 xdr_rejected_reply(GLIBC_2.0)[SVID.3] 5284 getpid(GLIBC_2.0)[SUSv3] setitimer(GLIBC_2.0)[SUSv3] 5285 xdr_replymsg(GLIBC_2.0)[SVID.3] 5286 getppid(GLIBC_2.0)[SUSv3] setlocale(GLIBC_2.0)[SUSv3] 5287 xdr_short(GLIBC_2.0)[SVID.3] 5288 getpriority(GLIBC_2.0)[SUSv3] setlogmask(GLIBC_2.0)[SUSv3] 5289 xdr_string(GLIBC_2.0)[SVID.3] 5290 getprotobyname(GLIBC_2.0)[SUSv3] setpgid(GLIBC_2.0)[SUSv3] 5291 xdr_u_char(GLIBC_2.0)[SVID.3] 5292 getprotobynumber(GLIBC_2.0)[SUSv3] setpgrp(GLIBC_2.0)[SUSv3] 5293 xdr_u_int(GLIBC_2.0)[LSB] 5294 getprotoent(GLIBC_2.0)[SUSv3] setpriority(GLIBC_2.0)[SUSv3] 5295 xdr_u_long(GLIBC_2.0)[SVID.3] 5296 getpwent(GLIBC_2.0)[SUSv3] setprotoent(GLIBC_2.0)[SUSv3] 5297 xdr_u_short(GLIBC_2.0)[SVID.3] 5298 getpwnam(GLIBC_2.0)[SUSv3] setpwent(GLIBC_2.0)[SUSv3] 5299 xdr_union(GLIBC_2.0)[SVID.3] 5300 getpwnam_r(GLIBC_2.1.2)[SUSv3] setregid(GLIBC_2.0)[SUSv3] 5301 xdr_vector(GLIBC_2.0)[SVID.3] 5302 getpwuid(GLIBC_2.0)[SUSv3] setreuid(GLIBC_2.0)[SUSv3] 5303 xdr_void(GLIBC_2.0)[SVID.3] 5304 getpwuid_r(GLIBC_2.1.2)[SUSv3] setrlimit(GLIBC_2.2)[SUSv3] 5305 xdr_wrapstring(GLIBC_2.0)[SVID.3] 5306 getrlimit(GLIBC_2.2)[SUSv3] setrlimit64(GLIBC_2.1)[LFS] 5307 xdrmem_create(GLIBC_2.0)[SVID.3] 5308 getrlimit64(GLIBC_2.2)[LFS] setservent(GLIBC_2.0)[SUSv3] 5309 xdrrec_create(GLIBC_2.0)[SVID.3] 5310 getrusage(GLIBC_2.0)[SUSv3] setsid(GLIBC_2.0)[SUSv3] 5311 xdrrec_eof(GLIBC_2.0)[SVID.3] 5312 getservbyname(GLIBC_2.0)[SUSv3] setsockopt(GLIBC_2.0)[LSB] 5313 xdrstdio_create(GLIBC_2.0)[LSB] 5314 getservbyport(GLIBC_2.0)[SUSv3] setstate(GLIBC_2.0)[SUSv3] 5315 getservent(GLIBC_2.0)[SUSv3] setuid(GLIBC_2.0)[SUSv3] 5316 5317 Table A-2. libc Data Interfaces 5318 __daylight[LSB] __tzname[LSB] in6addr_loopback[SUSv3] 5319 __environ[LSB] _sys_errlist[LSB] 5320 __timezone[LSB] in6addr_any[SUSv3] 5321 __________________________________________________________ 5322 5323 A.2. libcrypt 5324 5325 The behavior of the interfaces in this library is specified by 5326 the following Standards. 5327 5328 ISO POSIX (2003) [SUSv3] 5329 5330 Table A-3. libcrypt Function Interfaces 5331 crypt(GLIBC_2.0)[SUSv3] encrypt(GLIBC_2.0)[SUSv3] 5332 setkey(GLIBC_2.0)[SUSv3] 5333 __________________________________________________________ 5334 5335 A.3. libdl 5336 5337 The behavior of the interfaces in this library is specified by 5338 the following Standards. 5339 5340 ISO/IEC 23360 Part 1 [LSB] 5341 ISO POSIX (2003) [SUSv3] 5342 5343 Table A-4. libdl Function Interfaces 5344 dladdr(GLIBC_2.0)[LSB] dlerror(GLIBC_2.0)[SUSv3] 5345 dlsym(GLIBC_2.0)[LSB] 5346 dlclose(GLIBC_2.0)[SUSv3] dlopen(GLIBC_2.1)[LSB] 5347 __________________________________________________________ 5348 5349 A.4. libgcc_s 5350 5351 The behavior of the interfaces in this library is specified by 5352 the following Standards. 5353 5354 ISO/IEC 23360 Part 1 [LSB] 5355 5356 Table A-5. libgcc_s Function Interfaces 5357 _Unwind_Backtrace(GCC_3.3)[LSB] 5358 _Unwind_GetDataRelBase(GCC_3.0)[LSB] 5359 _Unwind_RaiseException(GCC_3.0)[LSB] 5360 _Unwind_DeleteException(GCC_3.0)[LSB] 5361 _Unwind_GetGR(GCC_3.0)[LSB] _Unwind_Resume(GCC_3.0)[LSB] 5362 _Unwind_FindEnclosingFunction(GCC_3.3)[LSB] 5363 _Unwind_GetIP(GCC_3.0)[LSB] 5364 _Unwind_Resume_or_Rethrow(GCC_3.3)[LSB] 5365 _Unwind_Find_FDE(GCC_3.0)[LSB] 5366 _Unwind_GetLanguageSpecificData(GCC_3.0)[LSB] 5367 _Unwind_SetGR(GCC_3.0)[LSB] 5368 _Unwind_ForcedUnwind(GCC_3.0)[LSB] 5369 _Unwind_GetRegionStart(GCC_3.0)[LSB] 5370 _Unwind_SetIP(GCC_3.0)[LSB] 5371 _Unwind_GetCFA(GCC_3.3)[LSB] 5372 _Unwind_GetTextRelBase(GCC_3.0)[LSB] 5373 __________________________________________________________ 5374 5375 A.5. libm 5376 5377 The behavior of the interfaces in this library is specified by 5378 the following Standards. 5379 5380 ISO C (1999) [ISOC99] 5381 ISO/IEC 23360 Part 1 [LSB] 5382 ISO POSIX (2003) [SUSv3] 5383 SVID Issue 3 [SVID.3] 5384 5385 Table A-6. libm Function Interfaces 5386 __finite(GLIBC_2.1)[LSB] csinhl(GLIBC_2.1)[SUSv3] 5387 llround(GLIBC_2.1)[SUSv3] 5388 __finitef(GLIBC_2.1)[LSB] csinl(GLIBC_2.1)[SUSv3] 5389 llroundf(GLIBC_2.1)[SUSv3] 5390 __finitel(GLIBC_2.1)[LSB] csqrt(GLIBC_2.1)[SUSv3] 5391 llroundl(GLIBC_2.1)[SUSv3] 5392 __fpclassify(GLIBC_2.1)[LSB] csqrtf(GLIBC_2.1)[SUSv3] 5393 log(GLIBC_2.0)[SUSv3] 5394 __fpclassifyf(GLIBC_2.1)[LSB] csqrtl(GLIBC_2.1)[SUSv3] 5395 log10(GLIBC_2.0)[SUSv3] 5396 __fpclassifyl(GLIBC_2.1)[LSB] ctan(GLIBC_2.1)[SUSv3] 5397 log10f(GLIBC_2.0)[SUSv3] 5398 __signbit(GLIBC_2.1)[LSB] ctanf(GLIBC_2.1)[SUSv3] 5399 log10l(GLIBC_2.0)[SUSv3] 5400 __signbitf(GLIBC_2.1)[LSB] ctanh(GLIBC_2.1)[SUSv3] 5401 log1p(GLIBC_2.0)[SUSv3] 5402 __signbitl(GLIBC_2.1)[ISOC99] ctanhf(GLIBC_2.1)[SUSv3] 5403 log1pf(GLIBC_2.0)[SUSv3] 5404 acos(GLIBC_2.0)[SUSv3] ctanhl(GLIBC_2.1)[SUSv3] 5405 log1pl(GLIBC_2.0)[SUSv3] 5406 acosf(GLIBC_2.0)[SUSv3] ctanl(GLIBC_2.1)[SUSv3] 5407 log2(GLIBC_2.1)[SUSv3] 5408 acosh(GLIBC_2.0)[SUSv3] drem(GLIBC_2.0)[LSB] 5409 log2f(GLIBC_2.1)[SUSv3] 5410 acoshf(GLIBC_2.0)[SUSv3] dremf(GLIBC_2.0)[LSB] 5411 log2l(GLIBC_2.1)[SUSv3] 5412 acoshl(GLIBC_2.0)[SUSv3] dreml(GLIBC_2.0)[LSB] 5413 logb(GLIBC_2.0)[SUSv3] 5414 acosl(GLIBC_2.0)[SUSv3] erf(GLIBC_2.0)[SUSv3] 5415 logbf(GLIBC_2.0)[SUSv3] 5416 asin(GLIBC_2.0)[SUSv3] erfc(GLIBC_2.0)[SUSv3] 5417 logbl(GLIBC_2.0)[SUSv3] 5418 asinf(GLIBC_2.0)[SUSv3] erfcf(GLIBC_2.0)[SUSv3] 5419 logf(GLIBC_2.0)[SUSv3] 5420 asinh(GLIBC_2.0)[SUSv3] erfcl(GLIBC_2.0)[SUSv3] 5421 logl(GLIBC_2.0)[SUSv3] 5422 asinhf(GLIBC_2.0)[SUSv3] erff(GLIBC_2.0)[SUSv3] 5423 lrint(GLIBC_2.1)[SUSv3] 5424 asinhl(GLIBC_2.0)[SUSv3] erfl(GLIBC_2.0)[SUSv3] 5425 lrintf(GLIBC_2.1)[SUSv3] 5426 asinl(GLIBC_2.0)[SUSv3] exp(GLIBC_2.0)[SUSv3] 5427 lrintl(GLIBC_2.1)[SUSv3] 5428 atan(GLIBC_2.0)[SUSv3] exp10(GLIBC_2.1)[LSB] 5429 lround(GLIBC_2.1)[SUSv3] 5430 atan2(GLIBC_2.0)[SUSv3] exp10f(GLIBC_2.1)[LSB] 5431 lroundf(GLIBC_2.1)[SUSv3] 5432 atan2f(GLIBC_2.0)[SUSv3] exp10l(GLIBC_2.1)[LSB] 5433 lroundl(GLIBC_2.1)[SUSv3] 5434 atan2l(GLIBC_2.0)[SUSv3] exp2(GLIBC_2.1)[SUSv3] 5435 matherr(GLIBC_2.0)[SVID.3] 5436 atanf(GLIBC_2.0)[SUSv3] exp2f(GLIBC_2.1)[SUSv3] 5437 modf(GLIBC_2.0)[SUSv3] 5438 atanh(GLIBC_2.0)[SUSv3] exp2l(GLIBC_2.1)[SUSv3] 5439 modff(GLIBC_2.0)[SUSv3] 5440 atanhf(GLIBC_2.0)[SUSv3] expf(GLIBC_2.0)[SUSv3] 5441 modfl(GLIBC_2.0)[SUSv3] 5442 atanhl(GLIBC_2.0)[SUSv3] expl(GLIBC_2.0)[SUSv3] 5443 nan(GLIBC_2.1)[SUSv3] 5444 atanl(GLIBC_2.0)[SUSv3] expm1(GLIBC_2.0)[SUSv3] 5445 nanf(GLIBC_2.1)[SUSv3] 5446 cabs(GLIBC_2.1)[SUSv3] expm1f(GLIBC_2.0)[SUSv3] 5447 nanl(GLIBC_2.1)[SUSv3] 5448 cabsf(GLIBC_2.1)[SUSv3] expm1l(GLIBC_2.0)[SUSv3] 5449 nearbyint(GLIBC_2.1)[SUSv3] 5450 cabsl(GLIBC_2.1)[SUSv3] fabs(GLIBC_2.0)[SUSv3] 5451 nearbyintf(GLIBC_2.1)[SUSv3] 5452 cacos(GLIBC_2.1)[SUSv3] fabsf(GLIBC_2.0)[SUSv3] 5453 nearbyintl(GLIBC_2.1)[SUSv3] 5454 cacosf(GLIBC_2.1)[SUSv3] fabsl(GLIBC_2.0)[SUSv3] 5455 nextafter(GLIBC_2.0)[SUSv3] 5456 cacosh(GLIBC_2.1)[SUSv3] fdim(GLIBC_2.1)[SUSv3] 5457 nextafterf(GLIBC_2.0)[SUSv3] 5458 cacoshf(GLIBC_2.1)[SUSv3] fdimf(GLIBC_2.1)[SUSv3] 5459 nextafterl(GLIBC_2.0)[SUSv3] 5460 cacoshl(GLIBC_2.1)[SUSv3] fdiml(GLIBC_2.1)[SUSv3] 5461 nexttoward(GLIBC_2.1)[SUSv3] 5462 cacosl(GLIBC_2.1)[SUSv3] feclearexcept(GLIBC_2.2)[SUSv3] 5463 nexttowardf(GLIBC_2.1)[SUSv3] 5464 carg(GLIBC_2.1)[SUSv3] fedisableexcept(GLIBC_2.2)[LSB] 5465 nexttowardl(GLIBC_2.1)[SUSv3] 5466 cargf(GLIBC_2.1)[SUSv3] feenableexcept(GLIBC_2.2)[LSB] 5467 pow(GLIBC_2.0)[SUSv3] 5468 cargl(GLIBC_2.1)[SUSv3] fegetenv(GLIBC_2.2)[SUSv3] 5469 pow10(GLIBC_2.1)[LSB] 5470 casin(GLIBC_2.1)[SUSv3] fegetexcept(GLIBC_2.2)[LSB] 5471 pow10f(GLIBC_2.1)[LSB] 5472 casinf(GLIBC_2.1)[SUSv3] fegetexceptflag(GLIBC_2.2)[SUSv3] 5473 pow10l(GLIBC_2.1)[LSB] 5474 casinh(GLIBC_2.1)[SUSv3] fegetround(GLIBC_2.1)[SUSv3] 5475 powf(GLIBC_2.0)[SUSv3] 5476 casinhf(GLIBC_2.1)[SUSv3] feholdexcept(GLIBC_2.1)[SUSv3] 5477 powl(GLIBC_2.0)[SUSv3] 5478 casinhl(GLIBC_2.1)[SUSv3] feraiseexcept(GLIBC_2.2)[SUSv3] 5479 remainder(GLIBC_2.0)[SUSv3] 5480 casinl(GLIBC_2.1)[SUSv3] fesetenv(GLIBC_2.2)[SUSv3] 5481 remainderf(GLIBC_2.0)[SUSv3] 5482 catan(GLIBC_2.1)[SUSv3] fesetexceptflag(GLIBC_2.2)[SUSv3] 5483 remainderl(GLIBC_2.0)[SUSv3] 5484 catanf(GLIBC_2.1)[SUSv3] fesetround(GLIBC_2.1)[SUSv3] 5485 remquo(GLIBC_2.1)[SUSv3] 5486 catanh(GLIBC_2.1)[SUSv3] fetestexcept(GLIBC_2.1)[SUSv3] 5487 remquof(GLIBC_2.1)[SUSv3] 5488 catanhf(GLIBC_2.1)[SUSv3] feupdateenv(GLIBC_2.2)[SUSv3] 5489 remquol(GLIBC_2.1)[SUSv3] 5490 catanhl(GLIBC_2.1)[SUSv3] finite(GLIBC_2.0)[LSB] 5491 rint(GLIBC_2.0)[SUSv3] 5492 catanl(GLIBC_2.1)[SUSv3] finitef(GLIBC_2.0)[LSB] 5493 rintf(GLIBC_2.0)[SUSv3] 5494 cbrt(GLIBC_2.0)[SUSv3] finitel(GLIBC_2.0)[LSB] 5495 rintl(GLIBC_2.0)[SUSv3] 5496 cbrtf(GLIBC_2.0)[SUSv3] floor(GLIBC_2.0)[SUSv3] 5497 round(GLIBC_2.1)[SUSv3] 5498 cbrtl(GLIBC_2.0)[SUSv3] floorf(GLIBC_2.0)[SUSv3] 5499 roundf(GLIBC_2.1)[SUSv3] 5500 ccos(GLIBC_2.1)[SUSv3] floorl(GLIBC_2.0)[SUSv3] 5501 roundl(GLIBC_2.1)[SUSv3] 5502 ccosf(GLIBC_2.1)[SUSv3] fma(GLIBC_2.1)[SUSv3] 5503 scalb(GLIBC_2.0)[SUSv3] 5504 ccosh(GLIBC_2.1)[SUSv3] fmaf(GLIBC_2.1)[SUSv3] 5505 scalbf(GLIBC_2.0)[ISOC99] 5506 ccoshf(GLIBC_2.1)[SUSv3] fmal(GLIBC_2.1)[SUSv3] 5507 scalbl(GLIBC_2.0)[ISOC99] 5508 ccoshl(GLIBC_2.1)[SUSv3] fmax(GLIBC_2.1)[SUSv3] 5509 scalbln(GLIBC_2.1)[SUSv3] 5510 ccosl(GLIBC_2.1)[SUSv3] fmaxf(GLIBC_2.1)[SUSv3] 5511 scalblnf(GLIBC_2.1)[SUSv3] 5512 ceil(GLIBC_2.0)[SUSv3] fmaxl(GLIBC_2.1)[SUSv3] 5513 scalblnl(GLIBC_2.1)[SUSv3] 5514 ceilf(GLIBC_2.0)[SUSv3] fmin(GLIBC_2.1)[SUSv3] 5515 scalbn(GLIBC_2.0)[SUSv3] 5516 ceill(GLIBC_2.0)[SUSv3] fminf(GLIBC_2.1)[SUSv3] 5517 scalbnf(GLIBC_2.0)[SUSv3] 5518 cexp(GLIBC_2.1)[SUSv3] fminl(GLIBC_2.1)[SUSv3] 5519 scalbnl(GLIBC_2.0)[SUSv3] 5520 cexpf(GLIBC_2.1)[SUSv3] fmod(GLIBC_2.0)[SUSv3] 5521 significand(GLIBC_2.0)[LSB] 5522 cexpl(GLIBC_2.1)[SUSv3] fmodf(GLIBC_2.0)[SUSv3] 5523 significandf(GLIBC_2.0)[LSB] 5524 cimag(GLIBC_2.1)[SUSv3] fmodl(GLIBC_2.0)[SUSv3] 5525 significandl(GLIBC_2.0)[LSB] 5526 cimagf(GLIBC_2.1)[SUSv3] frexp(GLIBC_2.0)[SUSv3] 5527 sin(GLIBC_2.0)[SUSv3] 5528 cimagl(GLIBC_2.1)[SUSv3] frexpf(GLIBC_2.0)[SUSv3] 5529 sincos(GLIBC_2.1)[LSB] 5530 clog(GLIBC_2.1)[SUSv3] frexpl(GLIBC_2.0)[SUSv3] 5531 sincosf(GLIBC_2.1)[LSB] 5532 clog10(GLIBC_2.1)[LSB] gamma(GLIBC_2.0)[LSB] 5533 sincosl(GLIBC_2.1)[LSB] 5534 clog10f(GLIBC_2.1)[LSB] gammaf(GLIBC_2.0)[LSB] 5535 sinf(GLIBC_2.0)[SUSv3] 5536 clog10l(GLIBC_2.1)[LSB] gammal(GLIBC_2.0)[LSB] 5537 sinh(GLIBC_2.0)[SUSv3] 5538 clogf(GLIBC_2.1)[SUSv3] hypot(GLIBC_2.0)[SUSv3] 5539 sinhf(GLIBC_2.0)[SUSv3] 5540 clogl(GLIBC_2.1)[SUSv3] hypotf(GLIBC_2.0)[SUSv3] 5541 sinhl(GLIBC_2.0)[SUSv3] 5542 conj(GLIBC_2.1)[SUSv3] hypotl(GLIBC_2.0)[SUSv3] 5543 sinl(GLIBC_2.0)[SUSv3] 5544 conjf(GLIBC_2.1)[SUSv3] ilogb(GLIBC_2.0)[SUSv3] 5545 sqrt(GLIBC_2.0)[SUSv3] 5546 conjl(GLIBC_2.1)[SUSv3] ilogbf(GLIBC_2.0)[SUSv3] 5547 sqrtf(GLIBC_2.0)[SUSv3] 5548 copysign(GLIBC_2.0)[SUSv3] ilogbl(GLIBC_2.0)[SUSv3] 5549 sqrtl(GLIBC_2.0)[SUSv3] 5550 copysignf(GLIBC_2.0)[SUSv3] j0(GLIBC_2.0)[SUSv3] 5551 tan(GLIBC_2.0)[SUSv3] 5552 copysignl(GLIBC_2.0)[SUSv3] j0f(GLIBC_2.0)[LSB] 5553 tanf(GLIBC_2.0)[SUSv3] 5554 cos(GLIBC_2.0)[SUSv3] j0l(GLIBC_2.0)[LSB] 5555 tanh(GLIBC_2.0)[SUSv3] 5556 cosf(GLIBC_2.0)[SUSv3] j1(GLIBC_2.0)[SUSv3] 5557 tanhf(GLIBC_2.0)[SUSv3] 5558 cosh(GLIBC_2.0)[SUSv3] j1f(GLIBC_2.0)[LSB] 5559 tanhl(GLIBC_2.0)[SUSv3] 5560 coshf(GLIBC_2.0)[SUSv3] j1l(GLIBC_2.0)[LSB] 5561 tanl(GLIBC_2.0)[SUSv3] 5562 coshl(GLIBC_2.0)[SUSv3] jn(GLIBC_2.0)[SUSv3] 5563 tgamma(GLIBC_2.1)[SUSv3] 5564 cosl(GLIBC_2.0)[SUSv3] jnf(GLIBC_2.0)[LSB] 5565 tgammaf(GLIBC_2.1)[SUSv3] 5566 cpow(GLIBC_2.1)[SUSv3] jnl(GLIBC_2.0)[LSB] 5567 tgammal(GLIBC_2.1)[SUSv3] 5568 cpowf(GLIBC_2.1)[SUSv3] ldexp(GLIBC_2.0)[SUSv3] 5569 trunc(GLIBC_2.1)[SUSv3] 5570 cpowl(GLIBC_2.1)[SUSv3] ldexpf(GLIBC_2.0)[SUSv3] 5571 truncf(GLIBC_2.1)[SUSv3] 5572 cproj(GLIBC_2.1)[SUSv3] ldexpl(GLIBC_2.0)[SUSv3] 5573 truncl(GLIBC_2.1)[SUSv3] 5574 cprojf(GLIBC_2.1)[SUSv3] lgamma(GLIBC_2.0)[SUSv3] 5575 y0(GLIBC_2.0)[SUSv3] 5576 cprojl(GLIBC_2.1)[SUSv3] lgamma_r(GLIBC_2.0)[LSB] 5577 y0f(GLIBC_2.0)[LSB] 5578 creal(GLIBC_2.1)[SUSv3] lgammaf(GLIBC_2.0)[SUSv3] 5579 y0l(GLIBC_2.0)[LSB] 5580 crealf(GLIBC_2.1)[SUSv3] lgammaf_r(GLIBC_2.0)[LSB] 5581 y1(GLIBC_2.0)[SUSv3] 5582 creall(GLIBC_2.1)[SUSv3] lgammal(GLIBC_2.0)[SUSv3] 5583 y1f(GLIBC_2.0)[LSB] 5584 csin(GLIBC_2.1)[SUSv3] lgammal_r(GLIBC_2.0)[LSB] 5585 y1l(GLIBC_2.0)[LSB] 5586 csinf(GLIBC_2.1)[SUSv3] llrint(GLIBC_2.1)[SUSv3] 5587 yn(GLIBC_2.0)[SUSv3] 5588 csinh(GLIBC_2.1)[SUSv3] llrintf(GLIBC_2.1)[SUSv3] 5589 ynf(GLIBC_2.0)[LSB] 5590 csinhf(GLIBC_2.1)[SUSv3] llrintl(GLIBC_2.1)[SUSv3] 5591 ynl(GLIBC_2.0)[LSB] 5592 5593 Table A-7. libm Data Interfaces 5594 signgam[SUSv3] 5595 __________________________________________________________ 5596 5597 A.6. libpthread 5598 5599 The behavior of the interfaces in this library is specified by 5600 the following Standards. 5601 5602 Large File Support [LFS] 5603 ISO/IEC 23360 Part 1 [LSB] 5604 ISO POSIX (2003) [SUSv3] 5605 5606 Table A-8. libpthread Function Interfaces 5607 _pthread_cleanup_pop(GLIBC_2.0)[LSB] 5608 pthread_cond_signal(GLIBC_2.3.2)[SUSv3] 5609 pthread_rwlock_timedwrlock(GLIBC_2.2)[SUSv3] 5610 _pthread_cleanup_push(GLIBC_2.0)[LSB] 5611 pthread_cond_timedwait(GLIBC_2.3.2)[SUSv3] 5612 pthread_rwlock_tryrdlock(GLIBC_2.1)[SUSv3] 5613 lseek64(GLIBC_2.2)[LFS] pthread_cond_wait(GLIBC_2.3.2)[SUSv3] 5614 pthread_rwlock_trywrlock(GLIBC_2.1)[SUSv3] 5615 open64(GLIBC_2.2)[LFS] 5616 pthread_condattr_destroy(GLIBC_2.0)[SUSv3] 5617 pthread_rwlock_unlock(GLIBC_2.1)[SUSv3] 5618 pread(GLIBC_2.2)[SUSv3] 5619 pthread_condattr_getpshared(GLIBC_2.2)[SUSv3] 5620 pthread_rwlock_wrlock(GLIBC_2.1)[SUSv3] 5621 pread64(GLIBC_2.2)[LFS] pthread_condattr_init(GLIBC_2.0)[SUSv3] 5622 pthread_rwlockattr_destroy(GLIBC_2.1)[SUSv3] 5623 pthread_attr_destroy(GLIBC_2.0)[SUSv3] 5624 pthread_condattr_setpshared(GLIBC_2.2)[SUSv3] 5625 pthread_rwlockattr_getpshared(GLIBC_2.1)[SUSv3] 5626 pthread_attr_getdetachstate(GLIBC_2.0)[SUSv3] 5627 pthread_create(GLIBC_2.1)[SUSv3] 5628 pthread_rwlockattr_init(GLIBC_2.1)[SUSv3] 5629 pthread_attr_getguardsize(GLIBC_2.1)[SUSv3] 5630 pthread_detach(GLIBC_2.0)[SUSv3] 5631 pthread_rwlockattr_setpshared(GLIBC_2.1)[SUSv3] 5632 pthread_attr_getinheritsched(GLIBC_2.0)[SUSv3] 5633 pthread_equal(GLIBC_2.0)[SUSv3] pthread_self(GLIBC_2.0)[SUSv3] 5634 pthread_attr_getschedparam(GLIBC_2.0)[SUSv3] 5635 pthread_exit(GLIBC_2.0)[SUSv3] 5636 pthread_setcancelstate(GLIBC_2.0)[SUSv3] 5637 pthread_attr_getschedpolicy(GLIBC_2.0)[SUSv3] 5638 pthread_getconcurrency(GLIBC_2.1)[SUSv3] 5639 pthread_setcanceltype(GLIBC_2.0)[SUSv3] 5640 pthread_attr_getscope(GLIBC_2.0)[SUSv3] 5641 pthread_getcpuclockid(GLIBC_2.2)[SUSv3] 5642 pthread_setconcurrency(GLIBC_2.1)[SUSv3] 5643 pthread_attr_getstack(GLIBC_2.2)[SUSv3] 5644 pthread_getschedparam(GLIBC_2.0)[SUSv3] 5645 pthread_setschedparam(GLIBC_2.0)[SUSv3] 5646 pthread_attr_getstackaddr(GLIBC_2.1)[SUSv3] 5647 pthread_getspecific(GLIBC_2.0)[SUSv3] 5648 pthread_setspecific(GLIBC_2.0)[SUSv3] 5649 pthread_attr_getstacksize(GLIBC_2.1)[SUSv3] 5650 pthread_join(GLIBC_2.0)[SUSv3] 5651 pthread_sigmask(GLIBC_2.0)[SUSv3] 5652 pthread_attr_init(GLIBC_2.1)[SUSv3] 5653 pthread_key_create(GLIBC_2.0)[SUSv3] 5654 pthread_spin_destroy(GLIBC_2.2)[SUSv3] 5655 pthread_attr_setdetachstate(GLIBC_2.0)[SUSv3] 5656 pthread_key_delete(GLIBC_2.0)[SUSv3] 5657 pthread_spin_init(GLIBC_2.2)[SUSv3] 5658 pthread_attr_setguardsize(GLIBC_2.1)[SUSv3] 5659 pthread_kill(GLIBC_2.0)[SUSv3] 5660 pthread_spin_lock(GLIBC_2.2)[SUSv3] 5661 pthread_attr_setinheritsched(GLIBC_2.0)[SUSv3] 5662 pthread_mutex_destroy(GLIBC_2.0)[SUSv3] 5663 pthread_spin_trylock(GLIBC_2.2)[SUSv3] 5664 pthread_attr_setschedparam(GLIBC_2.0)[SUSv3] 5665 pthread_mutex_init(GLIBC_2.0)[SUSv3] 5666 pthread_spin_unlock(GLIBC_2.2)[SUSv3] 5667 pthread_attr_setschedpolicy(GLIBC_2.0)[SUSv3] 5668 pthread_mutex_lock(GLIBC_2.0)[SUSv3] 5669 pthread_testcancel(GLIBC_2.0)[SUSv3] 5670 pthread_attr_setscope(GLIBC_2.0)[SUSv3] 5671 pthread_mutex_timedlock(GLIBC_2.2)[SUSv3] 5672 pwrite(GLIBC_2.2)[SUSv3] 5673 pthread_attr_setstack(GLIBC_2.2)[SUSv3] 5674 pthread_mutex_trylock(GLIBC_2.0)[SUSv3] 5675 pwrite64(GLIBC_2.2)[LFS] 5676 pthread_attr_setstackaddr(GLIBC_2.1)[SUSv3] 5677 pthread_mutex_unlock(GLIBC_2.0)[SUSv3] 5678 sem_close(GLIBC_2.1.1)[SUSv3] 5679 pthread_attr_setstacksize(GLIBC_2.1)[SUSv3] 5680 pthread_mutexattr_destroy(GLIBC_2.0)[SUSv3] 5681 sem_destroy(GLIBC_2.1)[SUSv3] 5682 pthread_barrier_destroy(GLIBC_2.2)[SUSv3] 5683 pthread_mutexattr_getpshared(GLIBC_2.2)[SUSv3] 5684 sem_getvalue(GLIBC_2.1)[SUSv3] 5685 pthread_barrier_init(GLIBC_2.2)[SUSv3] 5686 pthread_mutexattr_gettype(GLIBC_2.1)[SUSv3] 5687 sem_init(GLIBC_2.1)[SUSv3] 5688 pthread_barrier_wait(GLIBC_2.2)[SUSv3] 5689 pthread_mutexattr_init(GLIBC_2.0)[SUSv3] 5690 sem_open(GLIBC_2.1.1)[SUSv3] 5691 pthread_barrierattr_destroy(GLIBC_2.2)[SUSv3] 5692 pthread_mutexattr_setpshared(GLIBC_2.2)[SUSv3] 5693 sem_post(GLIBC_2.1)[SUSv3] 5694 pthread_barrierattr_init(GLIBC_2.2)[SUSv3] 5695 pthread_mutexattr_settype(GLIBC_2.1)[SUSv3] 5696 sem_timedwait(GLIBC_2.2)[SUSv3] 5697 pthread_barrierattr_setpshared(GLIBC_2.2)[SUSv3] 5698 pthread_once(GLIBC_2.0)[SUSv3] sem_trywait(GLIBC_2.1)[SUSv3] 5699 pthread_cancel(GLIBC_2.0)[SUSv3] 5700 pthread_rwlock_destroy(GLIBC_2.1)[SUSv3] 5701 sem_unlink(GLIBC_2.1.1)[SUSv3] 5702 pthread_cond_broadcast(GLIBC_2.3.2)[SUSv3] 5703 pthread_rwlock_init(GLIBC_2.1)[SUSv3] 5704 sem_wait(GLIBC_2.1)[SUSv3] 5705 pthread_cond_destroy(GLIBC_2.3.2)[SUSv3] 5706 pthread_rwlock_rdlock(GLIBC_2.1)[SUSv3] 5707 pthread_cond_init(GLIBC_2.3.2)[SUSv3] 5708 pthread_rwlock_timedrdlock(GLIBC_2.2)[SUSv3] 5709 __________________________________________________________ 5710 5711 A.7. librt 5712 5713 The behavior of the interfaces in this library is specified by 5714 the following Standards. 5715 5716 ISO POSIX (2003) [SUSv3] 5717 5718 Table A-9. librt Function Interfaces 5719 clock_getcpuclockid(GLIBC_2.2)[SUSv3] 5720 clock_settime(GLIBC_2.2)[SUSv3] timer_delete(GLIBC_2.2)[SUSv3] 5721 clock_getres(GLIBC_2.2)[SUSv3] shm_open(GLIBC_2.2)[SUSv3] 5722 timer_getoverrun(GLIBC_2.2)[SUSv3] 5723 clock_gettime(GLIBC_2.2)[SUSv3] shm_unlink(GLIBC_2.2)[SUSv3] 5724 timer_gettime(GLIBC_2.2)[SUSv3] 5725 clock_nanosleep(GLIBC_2.2)[SUSv3] 5726 timer_create(GLIBC_2.2)[SUSv3] timer_settime(GLIBC_2.2)[SUSv3] 5727 __________________________________________________________ 5728 5729 A.8. libutil 5730 5731 The behavior of the interfaces in this library is specified by 5732 the following Standards. 5733 5734 ISO/IEC 23360 Part 1 [LSB] 5735 5736 Table A-10. libutil Function Interfaces 5737 forkpty(GLIBC_2.0)[LSB] login_tty(GLIBC_2.0)[LSB] 5738 logwtmp(GLIBC_2.0)[LSB] 5739 login(GLIBC_2.0)[LSB] logout(GLIBC_2.0)[LSB] 5740 openpty(GLIBC_2.0)[LSB] 5741 __________________________________________________________ 5742 5743 Appendix B. GNU Free Documentation License (Informative) 5744 5745 This specification is published under the terms of the GNU Free 5746 Documentation License, Version 1.1, March 2000 5747 5748 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple 5749 Place, Suite 330, Boston, MA 02111-1307 USA Everyone is 5750 permitted to copy and distribute verbatim copies of this 5751 license document, but changing it is not allowed. 5752 __________________________________________________________ 5753 5754 B.1. PREAMBLE 5755 5756 The purpose of this License is to make a manual, textbook, or 5757 other written document "free" in the sense of freedom: to 5758 assure everyone the effective freedom to copy and redistribute 5759 it, with or without modifying it, either commercially or 5760 noncommercially. Secondarily, this License preserves for the 5761 author and publisher a way to get credit for their work, while 5762 not being considered responsible for modifications made by 5763 others. 5764 5765 This License is a kind of "copyleft", which means that 5766 derivative works of the document must themselves be free in the 5767 same sense. It complements the GNU General Public License, 5768 which is a copyleft license designed for free software. 5769 5770 We have designed this License in order to use it for manuals 5771 for free software, because free software needs free 5772 documentation: a free program should come with manuals 5773 providing the same freedoms that the software does. But this 5774 License is not limited to software manuals; it can be used for 5775 any textual work, regardless of subject matter or whether it is 5776 published as a printed book. We recommend this License 5777 principally for works whose purpose is instruction or 5778 reference. 5779 __________________________________________________________ 5780 5781 B.2. APPLICABILITY AND DEFINITIONS 5782 5783 This License applies to any manual or other work that contains 5784 a notice placed by the copyright holder saying it can be 5785 distributed under the terms of this License. The "Document", 5786 below, refers to any such manual or work. Any member of the 5787 public is a licensee, and is addressed as "you". 5788 5789 A "Modified Version" of the Document means any work containing 5790 the Document or a portion of it, either copied verbatim, or 5791 with modifications and/or translated into another language. 5792 5793 A "Secondary Section" is a named appendix or a front-matter 5794 section of the Document that deals exclusively with the 5795 relationship of the publishers or authors of the Document to 5796 the Document's overall subject (or to related matters) and 5797 contains nothing that could fall directly within that overall 5798 subject. (For example, if the Document is in part a textbook of 5799 mathematics, a Secondary Section may not explain any 5800 mathematics.) The relationship could be a matter of historical 5801 connection with the subject or with related matters, or of 5802 legal, commercial, philosophical, ethical or political position 5803 regarding them. 5804 5805 The "Invariant Sections" are certain Secondary Sections whose 5806 titles are designated, as being those of Invariant Sections, in 5807 the notice that says that the Document is released under this 5808 License. 5809 5810 The "Cover Texts" are certain short passages of text that are 5811 listed, as Front-Cover Texts or Back-Cover Texts, in the notice 5812 that says that the Document is released under this License. 5813 5814 A "Transparent" copy of the Document means a machine-readable 5815 copy, represented in a format whose specification is available 5816 to the general public, whose contents can be viewed and edited 5817 directly and straightforwardly with generic text editors or 5818 (for images composed of pixels) generic paint programs or (for 5819 drawings) some widely available drawing editor, and that is 5820 suitable for input to text formatters or for automatic 5821 translation to a variety of formats suitable for input to text 5822 formatters. A copy made in an otherwise Transparent file format 5823 whose markup has been designed to thwart or discourage 5824 subsequent modification by readers is not Transparent. A copy 5825 that is not "Transparent" is called "Opaque". 5826 5827 Examples of suitable formats for Transparent copies include 5828 plain ASCII without markup, Texinfo input format, LaTeX input 5829 format, SGML or XML using a publicly available DTD, and 5830 standard-conforming simple HTML designed for human 5831 modification. Opaque formats include PostScript, PDF, 5832 proprietary formats that can be read and edited only by 5833 proprietary word processors, SGML or XML for which the DTD 5834 and/or processing tools are not generally available, and the 5835 machine-generated HTML produced by some word processors for 5836 output purposes only. 5837 5838 The "Title Page" means, for a printed book, the title page 5839 itself, plus such following pages as are needed to hold, 5840 legibly, the material this License requires to appear in the 5841 title page. For works in formats which do not have any title 5842 page as such, "Title Page" means the text near the most 5843 prominent appearance of the work's title, preceding the 5844 beginning of the body of the text. 5845 __________________________________________________________ 5846 5847 B.3. VERBATIM COPYING 5848 5849 You may copy and distribute the Document in any medium, either 5850 commercially or noncommercially, provided that this License, 5851 the copyright notices, and the license notice saying this 5852 License applies to the Document are reproduced in all copies, 5853 and that you add no other conditions whatsoever to those of 5854 this License. You may not use technical measures to obstruct or 5855 control the reading or further copying of the copies you make 5856 or distribute. However, you may accept compensation in exchange 5857 for copies. If you distribute a large enough number of copies 5858 you must also follow the conditions in section 3. 5859 5860 You may also lend copies, under the same conditions stated 5861 above, and you may publicly display copies. 5862 __________________________________________________________ 5863 5864 B.4. COPYING IN QUANTITY 5865 5866 If you publish printed copies of the Document numbering more 5867 than 100, and the Document's license notice requires Cover 5868 Texts, you must enclose the copies in covers that carry, 5869 clearly and legibly, all these Cover Texts: Front-Cover Texts 5870 on the front cover, and Back-Cover Texts on the back cover. 5871 Both covers must also clearly and legibly identify you as the 5872 publisher of these copies. The front cover must present the 5873 full title with all words of the title equally prominent and 5874 visible. You may add other material on the covers in addition. 5875 Copying with changes limited to the covers, as long as they 5876 preserve the title of the Document and satisfy these 5877 conditions, can be treated as verbatim copying in other 5878 respects. 5879 5880 If the required texts for either cover are too voluminous to 5881 fit legibly, you should put the first ones listed (as many as 5882 fit reasonably) on the actual cover, and continue the rest onto 5883 adjacent pages. 5884 5885 If you publish or distribute Opaque copies of the Document 5886 numbering more than 100, you must either include a 5887 machine-readable Transparent copy along with each Opaque copy, 5888 or state in or with each Opaque copy a publicly-accessible 5889 computer-network location containing a complete Transparent 5890 copy of the Document, free of added material, which the general 5891 network-using public has access to download anonymously at no 5892 charge using public-standard network protocols. If you use the 5893 latter option, you must take reasonably prudent steps, when you 5894 begin distribution of Opaque copies in quantity, to ensure that 5895 this Transparent copy will remain thus accessible at the stated 5896 location until at least one year after the last time you 5897 distribute an Opaque copy (directly or through your agents or 5898 retailers) of that edition to the public. 5899 5900 It is requested, but not required, that you contact the authors 5901 of the Document well before redistributing any large number of 5902 copies, to give them a chance to provide you with an updated 5903 version of the Document. 5904 __________________________________________________________ 5905 5906 B.5. MODIFICATIONS 5907 5908 You may copy and distribute a Modified Version of the Document 5909 under the conditions of sections 2 and 3 above, provided that 5910 you release the Modified Version under precisely this License, 5911 with the Modified Version filling the role of the Document, 5912 thus licensing distribution and modification of the Modified 5913 Version to whoever possesses a copy of it. In addition, you 5914 must do these things in the Modified Version: 5915 5916 A. Use in the Title Page (and on the covers, if any) a title 5917 distinct from that of the Document, and from those of 5918 previous versions (which should, if there were any, be 5919 listed in the History section of the Document). You may use 5920 the same title as a previous version if the original 5921 publisher of that version gives permission. 5922 B. List on the Title Page, as authors, one or more persons or 5923 entities responsible for authorship of the modifications in 5924 the Modified Version, together with at least five of the 5925 principal authors of the Document (all of its principal 5926 authors, if it has less than five). 5927 C. State on the Title page the name of the publisher of the 5928 Modified Version, as the publisher. 5929 D. Preserve all the copyright notices of the Document. 5930 E. Add an appropriate copyright notice for your modifications 5931 adjacent to the other copyright notices. 5932 F. Include, immediately after the copyright notices, a license 5933 notice giving the public permission to use the Modified 5934 Version under the terms of this License, in the form shown 5935 in the Addendum below. 5936 G. Preserve in that license notice the full lists of Invariant 5937 Sections and required Cover Texts given in the Document's 5938 license notice. 5939 H. Include an unaltered copy of this License. 5940 I. Preserve the section entitled "History", and its title, and 5941 add to it an item stating at least the title, year, new 5942 authors, and publisher of the Modified Version as given on 5943 the Title Page. If there is no section entitled "History" 5944 in the Document, create one stating the title, year, 5945 authors, and publisher of the Document as given on its 5946 Title Page, then add an item describing the Modified 5947 Version as stated in the previous sentence. 5948 J. Preserve the network location, if any, given in the 5949 Document for public access to a Transparent copy of the 5950 Document, and likewise the network locations given in the 5951 Document for previous versions it was based on. These may 5952 be placed in the "History" section. You may omit a network 5953 location for a work that was published at least four years 5954 before the Document itself, or if the original publisher of 5955 the version it refers to gives permission. 5956 K. In any section entitled "Acknowledgements" or 5957 "Dedications", preserve the section's title, and preserve 5958 in the section all the substance and tone of each of the 5959 contributor acknowledgements and/or dedications given 5960 therein. 5961 L. Preserve all the Invariant Sections of the Document, 5962 unaltered in their text and in their titles. Section 5963 numbers or the equivalent are not considered part of the 5964 section titles. 5965 M. Delete any section entitled "Endorsements". Such a section 5966 may not be included in the Modified Version. 5967 N. Do not retitle any existing section as "Endorsements" or to 5968 conflict in title with any Invariant Section. 5969 5970 If the Modified Version includes new front-matter sections or 5971 appendices that qualify as Secondary Sections and contain no 5972 material copied from the Document, you may at your option 5973 designate some or all of these sections as invariant. To do 5974 this, add their titles to the list of Invariant Sections in the 5975 Modified Version's license notice. These titles must be 5976 distinct from any other section titles. 5977 5978 You may add a section entitled "Endorsements", provided it 5979 contains nothing but endorsements of your Modified Version by 5980 various parties--for example, statements of peer review or that 5981 the text has been approved by an organization as the 5982 authoritative definition of a standard. 5983 5984 You may add a passage of up to five words as a Front-Cover 5985 Text, and a passage of up to 25 words as a Back-Cover Text, to 5986 the end of the list of Cover Texts in the Modified Version. 5987 Only one passage of Front-Cover Text and one of Back-Cover Text 5988 may be added by (or through arrangements made by) any one 5989 entity. If the Document already includes a cover text for the 5990 same cover, previously added by you or by arrangement made by 5991 the same entity you are acting on behalf of, you may not add 5992 another; but you may replace the old one, on explicit 5993 permission from the previous publisher that added the old one. 5994 5995 The author(s) and publisher(s) of the Document do not by this 5996 License give permission to use their names for publicity for or 5997 to assert or imply endorsement of any Modified Version. 5998 __________________________________________________________ 5999 6000 B.6. COMBINING DOCUMENTS 6001 6002 You may combine the Document with other documents released 6003 under this License, under the terms defined in section 4 above 6004 for modified versions, provided that you include in the 6005 combination all of the Invariant Sections of all of the 6006 original documents, unmodified, and list them all as Invariant 6007 Sections of your combined work in its license notice. 6008 6009 The combined work need only contain one copy of this License, 6010 and multiple identical Invariant Sections may be replaced with 6011 a single copy. If there are multiple Invariant Sections with 6012 the same name but different contents, make the title of each 6013 such section unique by adding at the end of it, in parentheses, 6014 the name of the original author or publisher of that section if 6015 known, or else a unique number. Make the same adjustment to the 6016 section titles in the list of Invariant Sections in the license 6017 notice of the combined work. 6018 6019 In the combination, you must combine any sections entitled 6020 "History" in the various original documents, forming one 6021 section entitled "History"; likewise combine any sections 6022 entitled "Acknowledgements", and any sections entitled 6023 "Dedications". You must delete all sections entitled 6024 "Endorsements." 6025 __________________________________________________________ 6026 6027 B.7. COLLECTIONS OF DOCUMENTS 6028 6029 You may make a collection consisting of the Document and other 6030 documents released under this License, and replace the 6031 individual copies of this License in the various documents with 6032 a single copy that is included in the collection, provided that 6033 you follow the rules of this License for verbatim copying of 6034 each of the documents in all other respects. 6035 6036 You may extract a single document from such a collection, and 6037 distribute it individually under this License, provided you 6038 insert a copy of this License into the extracted document, and 6039 follow this License in all other respects regarding verbatim 6040 copying of that document. 6041 __________________________________________________________ 6042 6043 B.8. AGGREGATION WITH INDEPENDENT WORKS 6044 6045 A compilation of the Document or its derivatives with other 6046 separate and independent documents or works, in or on a volume 6047 of a storage or distribution medium, does not as a whole count 6048 as a Modified Version of the Document, provided no compilation 6049 copyright is claimed for the compilation. Such a compilation is 6050 called an "aggregate", and this License does not apply to the 6051 other self-contained works thus compiled with the Document, on 6052 account of their being thus compiled, if they are not 6053 themselves derivative works of the Document. 6054 6055 If the Cover Text requirement of section 3 is applicable to 6056 these copies of the Document, then if the Document is less than 6057 one quarter of the entire aggregate, the Document's Cover Texts 6058 may be placed on covers that surround only the Document within 6059 the aggregate. Otherwise they must appear on covers around the 6060 whole aggregate. 6061 __________________________________________________________ 6062 6063 B.9. TRANSLATION 6064 6065 Translation is considered a kind of modification, so you may 6066 distribute translations of the Document under the terms of 6067 section 4. Replacing Invariant Sections with translations 6068 requires special permission from their copyright holders, but 6069 you may include translations of some or all Invariant Sections 6070 in addition to the original versions of these Invariant 6071 Sections. You may include a translation of this License 6072 provided that you also include the original English version of 6073 this License. In case of a disagreement between the translation 6074 and the original English version of this License, the original 6075 English version will prevail. 6076 __________________________________________________________ 6077 6078 B.10. TERMINATION 6079 6080 You may not copy, modify, sublicense, or distribute the 6081 Document except as expressly provided for under this License. 6082 Any other attempt to copy, modify, sublicense or distribute the 6083 Document is void, and will automatically terminate your rights 6084 under this License. However, parties who have received copies, 6085 or rights, from you under this License will not have their 6086 licenses terminated so long as such parties remain in full 6087 compliance. 6088 __________________________________________________________ 6089 6090 B.11. FUTURE REVISIONS OF THIS LICENSE 6091 6092 The Free Software Foundation may publish new, revised versions 6093 of the GNU Free Documentation License from time to time. Such 6094 new versions will be similar in spirit to the present version, 6095 but may differ in detail to address new problems or concerns. 6096 See http://www.gnu.org/copyleft/. 6097 6098 Each version of the License is given a distinguishing version 6099 number. If the Document specifies that a particular numbered 6100 version of this License "or any later version" applies to it, 6101 you have the option of following the terms and conditions 6102 either of that specified version or of any later version that 6103 has been published (not as a draft) by the Free Software 6104 Foundation. If the Document does not specify a version number 6105 of this License, you may choose any version ever published (not 6106 as a draft) by the Free Software Foundation. 6107 __________________________________________________________ 6108 6109 B.12. How to use this License for your documents 6110 6111 To use this License in a document you have written, include a 6112 copy of the License in the document and put the following 6113 copyright and license notices just after the title page: 6114 6115 Copyright (c) YEAR YOUR NAME. Permission is granted to copy, 6116 distribute and/or modify this document under the terms of 6117 the GNU Free Documentation License, Version 1.1 or any later 6118 version published by the Free Software Foundation; with the 6119 Invariant Sections being LIST THEIR TITLES, with the 6120 Front-Cover Texts being LIST, and with the Back-Cover Texts 6121 being LIST. A copy of the license is included in the section 6122 entitled "GNU Free Documentation License". 6123 6124 If you have no Invariant Sections, write "with no Invariant 6125 Sections" instead of saying which ones are invariant. If you 6126 have no Front-Cover Texts, write "no Front-Cover Texts" instead 6127 of "Front-Cover Texts being LIST"; likewise for Back-Cover 6128 Texts. 6129 6130 If your document contains nontrivial examples of program code, 6131 we recommend releasing these examples in parallel under your 6132 choice of free software license, such as the GNU General Public 6133 License, to permit their use in free software.