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