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