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