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