1 2 Linux Standard Base Core Specification for PPC64 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 PPC64. 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 PPC64 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 64-bit PowerPC ELF ABI Supplement 64-bit PowerPC ELF ABI 215 Supplement, Version 1.7 216 http://www.linuxbase.org/spec/ELF/ppc64/ 217 DWARF Debugging Information Format DWARF Debugging Information 218 Format, Revision 2.0.0 (July 27, 1993) 219 http://www.eagercon.com/dwarf/dwarf-2.0.0.pdf 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 PAM Open Software Foundation, Request For Comments: 86.0 , 254 October 1995, V. Samar & R.Schemers (SunSoft) 255 http://www.opengroup.org/tech/rfc/mirror-rfc/rfc86.0.txt 256 RFC 1321: The MD5 Message-Digest Algorithm IETF RFC 1321: The 257 MD5 Message-Digest Algorithm 258 http://www.ietf.org/rfc/rfc1321.txt 259 RFC 1833: Binding Protocols for ONC RPC Version 2 IETF RFC 260 1833: Binding Protocols for ONC RPC Version 2 261 http://www.ietf.org/rfc/rfc1833.txt 262 RFC 1950: ZLIB Compressed Data Format Specication IETF RFC 263 1950: ZLIB Compressed Data Format Specification 264 http://www.ietf.org/rfc/rfc1950.txt 265 RFC 1951: DEFLATE Compressed Data Format Specification IETF 266 RFC 1951: DEFLATE Compressed Data Format Specification version 267 1.3 http://www.ietf.org/rfc/rfc1951.txt 268 RFC 1952: GZIP File Format Specification IETF RFC 1952: GZIP 269 file format specification version 4.3 270 http://www.ietf.org/rfc/rfc1952.txt 271 RFC 2440: OpenPGP Message Format IETF RFC 2440: OpenPGP 272 Message Format http://www.ietf.org/rfc/rfc2440.txt 273 SUSv2 CAE Specification, January 1997, System Interfaces and 274 Headers (XSH),Issue 5 (ISBN: 1-85912-181-0, C606) 275 http://www.opengroup.org/publications/catalog/un.htm 276 SUSv2 Command and Utilities The Single UNIX® 277 Specification(SUS) Version 2, Commands and Utilities (XCU), 278 Issue 5 (ISBN: 1-85912-191-8, C604) 279 http://www.opengroup.org/publications/catalog/un.htm 280 SVID Issue 3 American Telephone and Telegraph Company, System 281 V Interface Definition, Issue 3 ; Morristown, NJ, UNIX Press, 282 1989.(ISBN 0201566524) 283 SVID Issue 4 System V Interface Definition,Fourth Edition 284 System V ABI System V Application Binary Interface, Edition 285 4.1 http://www.caldera.com/developers/devspecs/gabi41.pdf 286 System V ABI Update System V Application Binary Interface - 287 DRAFT - 17 December 2003 288 http://www.caldera.com/developers/gabi/2003-12-17/contents.htm 289 l 290 The PowerPC (TM) Architecture The PowerPC (TM) Architecture: A 291 Specification for a new family of RISC processors 292 http://www.austin.ibm.com 293 The PowerPC (TM) Architecture, Book I Changes The PowerPC 294 Architecture Book I changes 295 http://www-1.ibm.com/servers/eserver/pseries/library/ppc_chg1. 296 html 297 The PowerPC (TM) Architecture, Book II Changes The PowerPC 298 Architecture Book II changes 299 http://www-1.ibm.com/servers/eserver/pseries/library/ppc_chg2. 300 html 301 The PowerPC (TM) Architecture, Book III Changes The PowerPC 302 Architecture Book III changes The PowerPC Architecture Book 303 III changes 304 http://www-1.ibm.com/servers/eserver/pseries/library/ppc_chg3. 305 html 306 this specification Linux Standard Base 307 http://www.linuxbase.org/spec/ 308 X/Open Curses CAE Specification, May 1996, X/Open Curses, 309 Issue 4, Version 2 (ISBN: 1-85912-171-3, C610), plus 310 Corrigendum U018 311 http://www.opengroup.org/publications/catalog/un.htm 312 _________________________________________________________ 313 314 Chapter 3. Requirements 315 316 3.1. Relevant Libraries 317 318 The libraries listed in Table 3-1 shall be available on PPC64 319 Linux Standard Base systems, with the specified runtime names. 320 These names override or supplement the names specified in the 321 generic LSB specification. The specified program interpreter, 322 referred to as proginterp in this table, shall be used to load 323 the shared libraries specified by DT_NEEDED entries at run 324 time. 325 326 Table 3-1. Standard Library Names 327 Library Runtime Name 328 libm libm.so.6 329 libdl libdl.so.2 330 libcrypt libcrypt.so.1 331 libz libz.so.1 332 libncurses libncurses.so.5 333 libutil libutil.so.1 334 libc libc.so.6 335 libpthread libpthread.so.0 336 proginterp /lib64/ld-lsb-ppc64.so.2 337 libgcc_s libgcc_s.so.1 338 339 These libraries will be in an implementation-defined directory 340 which the dynamic linker shall search by default. 341 _________________________________________________________ 342 343 3.2. LSB Implementation Conformance 344 345 A conforming implementation shall satisfy the following 346 requirements: 347 348 * The implementation shall implement fully the architecture 349 described in the hardware manual for the target processor 350 architecture. 351 * The implementation shall be capable of executing compiled 352 applications having the format and using the system 353 interfaces described in this document. 354 * The implementation shall provide libraries containing the 355 interfaces specified by this document, and shall provide a 356 dynamic linking mechanism that allows these interfaces to 357 be attached to applications at runtime. All the interfaces 358 shall behave as specified in this document. 359 * The map of virtual memory provided by the implementation 360 shall conform to the requirements of this document. 361 * The implementation's low-level behavior with respect to 362 function call linkage, system traps, signals, and other 363 such activities shall conform to the formats described in 364 this document. 365 * The implementation shall provide all of the mandatory 366 interfaces in their entirety. 367 * The implementation may provide one or more of the optional 368 interfaces. Each optional interface that is provided shall 369 be provided in its entirety. The product documentation 370 shall state which optional interfaces are provided. 371 * The implementation shall provide all files and utilities 372 specified as part of this document in the format defined 373 here and in other referenced documents. All commands and 374 utilities shall behave as required by this document. The 375 implementation shall also provide all mandatory components 376 of an application's runtime environment that are included 377 or referenced in this document. 378 * The implementation, when provided with standard data 379 formats and values at a named interface, shall provide the 380 behavior defined for those values and data formats at that 381 interface. However, a conforming implementation may 382 consist of components which are separately packaged and/or 383 sold. For example, a vendor of a conforming implementation 384 might sell the hardware, operating system, and windowing 385 system as separately packaged items. 386 * The implementation may provide additional interfaces with 387 different names. It may also provide additional behavior 388 corresponding to data values outside the standard ranges, 389 for standard named interfaces. 390 _________________________________________________________ 391 392 3.3. LSB Application Conformance 393 394 A conforming application shall satisfy the following 395 requirements: 396 397 * Its executable files are either shell scripts or object 398 files in the format defined for the Object File Format 399 system interface. 400 * Its object files participate in dynamic linking as defined 401 in the Program Loading and Linking System interface. 402 * It employs only the instructions, traps, and other 403 low-level facilities defined in the Low-Level System 404 interface as being for use by applications. 405 * If it requires any optional interface defined in this 406 document in order to be installed or to execute 407 successfully, the requirement for that optional interface 408 is stated in the application's documentation. 409 * It does not use any interface or data format that is not 410 required to be provided by a conforming implementation, 411 unless: 412 + If such an interface or data format is supplied by 413 another application through direct invocation of that 414 application during execution, that application is in 415 turn an LSB conforming application. 416 + The use of that interface or data format, as well as 417 its source, is identified in the documentation of the 418 application. 419 * It shall not use any values for a named interface that are 420 reserved for vendor extensions. 421 422 A strictly conforming application does not require or use any 423 interface, facility, or implementation-defined extension that 424 is not defined in this document in order to be installed or to 425 execute successfully. 426 _________________________________________________________ 427 428 Chapter 4. Definitions 429 430 For the purposes of this document, the following definitions, 431 as specified in the ISO/IEC Directives, Part 2, 2001, 4th 432 Edition, apply: 433 434 can 435 be able to; there is a possibility of; it is possible 436 to 437 438 cannot 439 be unable to; there is no possibilty of; it is not 440 possible to 441 442 may 443 is permitted; is allowed; is permissible 444 445 need not 446 it is not required that; no...is required 447 448 shall 449 is to; is required to; it is required that; has to; 450 only...is permitted; it is necessary 451 452 shall not 453 is not allowed [permitted] [acceptable] [permissible]; 454 is required to be not; is required that...be not; is 455 not to be 456 457 should 458 it is recommended that; ought to 459 460 should not 461 it is not recommended that; ought not to 462 _________________________________________________________ 463 464 Chapter 5. Terminology 465 466 For the purposes of this document, the following terms apply: 467 468 archLSB 469 The architectural part of the LSB Specification which 470 describes the specific parts of the interface that are 471 platform specific. The archLSB is complementary to the 472 gLSB. 473 474 Binary Standard 475 The total set of interfaces that are available to be 476 used in the compiled binary code of a conforming 477 application. 478 479 gLSB 480 The common part of the LSB Specification that describes 481 those parts of the interface that remain constant 482 across all hardware implementations of the LSB. 483 484 implementation-defined 485 Describes a value or behavior that is not defined by 486 this document but is selected by an implementor. The 487 value or behavior may vary among implementations that 488 conform to this document. An application should not 489 rely on the existence of the value or behavior. An 490 application that relies on such a value or behavior 491 cannot be assured to be portable across conforming 492 implementations. The implementor shall document such a 493 value or behavior so that it can be used correctly by 494 an application. 495 496 Shell Script 497 A file that is read by an interpreter (e.g., awk). The 498 first line of the shell script includes a reference to 499 its interpreter binary. 500 501 Source Standard 502 The set of interfaces that are available to be used in 503 the source code of a conforming application. 504 505 undefined 506 Describes the nature of a value or behavior not defined 507 by this document which results from use of an invalid 508 program construct or invalid data input. The value or 509 behavior may vary among implementations that conform to 510 this document. An application should not rely on the 511 existence or validity of the value or behavior. An 512 application that relies on any particular value or 513 behavior cannot be assured to be portable across 514 conforming implementations. 515 516 unspecified 517 Describes the nature of a value or behavior not 518 specified by this document which results from use of a 519 valid program construct or valid data input. The value 520 or behavior may vary among implementations that conform 521 to this document. An application should not rely on the 522 existence or validity of the value or behavior. An 523 application that relies on any particular value or 524 behavior cannot be assured to be portable across 525 conforming implementations. 526 527 Other terms and definitions used in this document shall have 528 the same meaning as defined in Chapter 3 of the Base 529 Definitions volume of ISO POSIX (2003). 530 _________________________________________________________ 531 532 Chapter 6. Documentation Conventions 533 534 Throughout this document, the following typographic 535 conventions are used: 536 537 function() 538 the name of a function 539 540 command 541 the name of a command or utility 542 543 CONSTANT 544 a constant value 545 546 parameter 547 a parameter 548 549 variable 550 a variable 551 552 Throughout this specification, several tables of interfaces 553 are presented. Each entry in these tables has the following 554 format: 555 556 name 557 the name of the interface 558 559 (symver) 560 An optional symbol version identifier, if required. 561 562 [refno] 563 A reference number indexing the table of referenced 564 specifications that follows this table. 565 566 For example, 567 568 forkpty(GLIBC_2.0) [1] 569 570 refers to the interface named forkpty() with symbol version 571 GLIBC_2.0 that is defined in the first of the listed 572 references below the table. 573 574 ELF Specification 575 _________________________________________________________ 576 577 Table of Contents 578 I. Low Level System Information 579 580 1. Machine Interface 581 582 1.1. Processor Architecture 583 1.2. Data Representation 584 1.3. Byte Ordering 585 1.4. Fundamental Types 586 1.5. Aggregates and Unions 587 1.6. Bit Fields 588 589 2. Function Calling Sequence 590 591 2.1. Registers 592 2.2. Stack Frame 593 2.3. Parameter Passing 594 2.4. Return Values 595 2.5. Function Descriptors 596 597 3. Traceback Tables 598 599 3.1. Mandatory Fields 600 3.2. Optional Fields 601 602 4. Process Initialization 603 604 4.1. Registers 605 4.2. Process Stack 606 607 5. Coding Examples 608 609 5.1. Code Model Overview 610 5.2. The TOC Section 611 5.3. TOC Assembly Language Syntax 612 5.4. Function Prologue and Epilogue 613 5.5. Register Saving and Restoring Functions 614 5.6. Saving General Registers Only 615 5.7. Saving General Registers and Floating Point 616 Registers 617 618 5.8. Saving Floating Point Registers Only 619 5.9. Save and Restore Services 620 5.10. Data Objects 621 5.11. Function Calls 622 5.12. Branching 623 5.13. Dynamic Stack Space Allocation 624 625 II. Object Format 626 627 6. ELF Header 628 7. Special Sections 629 8. TOC 630 9. Symbol Table 631 632 9.1. Symbol Values 633 634 10. Relocation 635 636 10.1. Relocation Types 637 638 III. Program Loading and Dynamic Linking 639 640 11. Program Loading 641 12. Dynamic Linking 642 643 12.1. Dynamic Section 644 12.2. Global Offset Table 645 12.3. Function Addresses 646 12.4. Procedure Linkage Table 647 648 List of Tables 649 7-1. ELF Special Sections 650 651 I. Low Level System Information 652 653 Table of Contents 654 1. Machine Interface 655 2. Function Calling Sequence 656 3. Traceback Tables 657 4. Process Initialization 658 5. Coding Examples 659 _________________________________________________________ 660 661 Chapter 1. Machine Interface 662 663 1.1. Processor Architecture 664 665 The PowerPC Architecture is specified by the following 666 documents: 667 668 * 64-bit PowerPC ELF ABI Supplement 669 * The PowerPC (TM) Architecture 670 * The PowerPC (TM) Architecture, Book I Changes 671 * The PowerPC (TM) Architecture, Book II Changes 672 * The PowerPC (TM) Architecture, Book III Changes 673 674 Only the features of the PowerPC processor instruction set may 675 be assumed to be present. An application is responsible for 676 determining if any additional instruction set features are 677 available before using those additional features. If a feature 678 is not present, then the application may not use it. 679 680 Only instructions which do not require elevated privileges may 681 be used. 682 683 Applications may not make system calls directly. The 684 interfaces in the C library must be used instead. 685 686 An implementation must support the 64-bit computation mode as 687 described in The PowerPC (TM) Architecture. 688 689 Applications conforming to this specification must provide 690 feedback to the user if a feature that is required for correct 691 execution of the application is not present. Applications 692 conforming to this specification should attempt to execute in 693 a diminished capacity if a required feature is not present. 694 695 This specification does not provide any performance guarantees 696 of a conforming system. A system conforming to this 697 specification may be implemented in either hardware or 698 software. 699 _________________________________________________________ 700 701 1.2. Data Representation 702 703 LSB-conforming applications shall use the data representation 704 as defined in Chapter 3 of the 64-bit PowerPC ELF ABI 705 Supplement. 706 _________________________________________________________ 707 708 1.3. Byte Ordering 709 710 LSB-conforming applications shall use big-endian byte 711 ordering. LSB-conforming implementations may support 712 little-endian applications. 713 _________________________________________________________ 714 715 1.4. Fundamental Types 716 717 LSB-conforming applications shall use the fundamental types as 718 defined in Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 719 720 LSB-conforming applications shall not use the long double 721 fundamental type. 722 _________________________________________________________ 723 724 1.5. Aggregates and Unions 725 726 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 727 _________________________________________________________ 728 729 1.6. Bit Fields 730 731 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 732 _________________________________________________________ 733 734 Chapter 2. Function Calling Sequence 735 736 LSB-conforming applications shall use the function calling 737 sequence as defined in Chapter 3 of the 64-bit PowerPC ELF ABI 738 Supplement. 739 _________________________________________________________ 740 741 2.1. Registers 742 743 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 744 _________________________________________________________ 745 746 2.2. Stack Frame 747 748 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 749 _________________________________________________________ 750 751 2.3. Parameter Passing 752 753 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 754 _________________________________________________________ 755 756 2.4. Return Values 757 758 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 759 _________________________________________________________ 760 761 2.5. Function Descriptors 762 763 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 764 _________________________________________________________ 765 766 Chapter 3. Traceback Tables 767 768 LSB-conforming applications shall use the traceback tables as 769 defined in Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 770 _________________________________________________________ 771 772 3.1. Mandatory Fields 773 774 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 775 _________________________________________________________ 776 777 3.2. Optional Fields 778 779 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 780 _________________________________________________________ 781 782 Chapter 4. Process Initialization 783 784 LSB-conforming applications shall use the Operating System 785 Interfaces as defined in Chapter 3 of the 64-bit PowerPC ELF 786 ABI Supplement. 787 _________________________________________________________ 788 789 4.1. Registers 790 791 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 792 _________________________________________________________ 793 794 4.2. Process Stack 795 796 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 797 _________________________________________________________ 798 799 Chapter 5. Coding Examples 800 801 LSB-conforming applications may implement fundamental 802 operations using the Coding Examples as defined in Chapter 3 803 of the 64-bit PowerPC ELF ABI Supplement. 804 _________________________________________________________ 805 806 5.1. Code Model Overview 807 808 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 809 _________________________________________________________ 810 811 5.2. The TOC Section 812 813 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 814 _________________________________________________________ 815 816 5.3. TOC Assembly Language Syntax 817 818 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 819 _________________________________________________________ 820 821 5.4. Function Prologue and Epilogue 822 823 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 824 _________________________________________________________ 825 826 5.5. Register Saving and Restoring Functions 827 828 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 829 _________________________________________________________ 830 831 5.6. Saving General Registers Only 832 833 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 834 _________________________________________________________ 835 836 5.7. Saving General Registers and Floating Point Registers 837 838 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 839 _________________________________________________________ 840 841 5.8. Saving Floating Point Registers Only 842 843 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 844 _________________________________________________________ 845 846 5.9. Save and Restore Services 847 848 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 849 _________________________________________________________ 850 851 5.10. Data Objects 852 853 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 854 _________________________________________________________ 855 856 5.11. Function Calls 857 858 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 859 _________________________________________________________ 860 861 5.12. Branching 862 863 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 864 _________________________________________________________ 865 866 5.13. Dynamic Stack Space Allocation 867 868 See Chapter 3 of the 64-bit PowerPC ELF ABI Supplement. 869 870 II. Object Format 871 872 LSB-conforming implementations shall support an object file , 873 called Executable and Linking Format (ELF) as defined by the 874 64-bit PowerPC ELF ABI Supplement and as supplemented by the 875 Linux Standard Base Specification and this document. 876 LSB-conforming implementations need not support tags related 877 functionality. LSB-conforming applications must not rely on 878 tags related functionality. 879 880 Table of Contents 881 6. ELF Header 882 7. Special Sections 883 8. TOC 884 9. Symbol Table 885 10. Relocation 886 _________________________________________________________ 887 888 Chapter 6. ELF Header 889 890 LSB-conforming applications shall use the ELF header as 891 defined in 64-bit PowerPC ELF ABI Supplement, Chapter 4. 892 _________________________________________________________ 893 894 Chapter 7. Special Sections 895 896 The following sections are defined in the 64-bit PowerPC ELF 897 ABI Supplement. 898 899 Table 7-1. ELF Special Sections 900 Name Type Attributes 901 .glink SHT_PROGBITS SHF_ALLOC+SHF_EXECINSTR 902 .got SHT_PROGBITS SHF_ALLOC+SHF_WRITE 903 .plt SHT_NOBITS SHF_ALLOC+SHF_WRITE 904 .sbss SHT_NOBITS SHF_ALLOC+SHF_WRITE 905 .sdata SHT_PROGBITS SHF_ALLOC+SHF_WRITE 906 .toc SHT_PROGBITS SHF_ALLOC+SHF_WRITE 907 .tocbss SHT_NOBITS SHF_ALLOC+SHF_WRITE 908 909 .glink 910 This section may be used to hold the global linkage 911 table which aids the procedure linkage table. See 912 Procedure Linkage Table in Chapter 5 of the processor 913 supplement for more information 914 915 .got 916 This section may be used to hold the Global Offset 917 Table, or GOT. See The Toc Section and Coding Examples 918 in Chapter 3 and Global Offset Table in Chapter 5 of 919 the processor supplement for more information 920 921 .plt 922 This section holds the procedure linkage table. See 923 Procedure Linkage Table in Chapter 5 of the processor 924 supplement for more information 925 926 .sbss 927 This section holds uninitialized data that contribute 928 to the program's memory image. The system initializes 929 the data with zeroes when the program begins to run. 930 931 .sdata 932 This section holds initialized small data that 933 contribute to the program memory image. 934 935 .toc 936 This section may be used to hold the initialized Table 937 of Contents, or TOC 938 939 .tocbss 940 This section may be used to hold the uninitialized 941 portions of the TOC. This data may also be stored as 942 zero-initialized data in a .toc section 943 _________________________________________________________ 944 945 Chapter 8. TOC 946 947 LSB-conforming applications shall use the Table of Contents 948 (TOC) as defined in 64-bit PowerPC ELF ABI Supplement, Chapter 949 4. 950 _________________________________________________________ 951 952 Chapter 9. Symbol Table 953 954 LSB-conforming applications shall use the Symbol Table as 955 defined in Chapter 4 of the 64-bit PowerPC ELF ABI Supplement. 956 _________________________________________________________ 957 958 9.1. Symbol Values 959 960 See Chapter 4 of the 64-bit PowerPC ELF ABI Supplement. 961 _________________________________________________________ 962 963 Chapter 10. Relocation 964 965 LSB-conforming applications shall use Relocations as defined 966 in Chapter 4 of the 64-bit PowerPC ELF ABI Supplement. 967 _________________________________________________________ 968 969 10.1. Relocation Types 970 971 See Chapter 4 of the 64-bit PowerPC ELF ABI Supplement. 972 973 III. Program Loading and Dynamic Linking 974 975 LSB-conforming implementations shall support the object file 976 information and system actions that create running programs as 977 specified in the System V ABI, 64-bit PowerPC ELF ABI 978 Supplement and as supplemented by the Linux Standard Base 979 Specification and this document. 980 981 Table of Contents 982 11. Program Loading 983 12. Dynamic Linking 984 _________________________________________________________ 985 986 Chapter 11. Program Loading 987 988 See 64-bit PowerPC ELF ABI Supplement, Chapter 5.1. 989 _________________________________________________________ 990 991 Chapter 12. Dynamic Linking 992 993 See 64-bit PowerPC ELF ABI Supplement, Chapter 5.2. 994 _________________________________________________________ 995 996 12.1. Dynamic Section 997 998 The following dynamic entries are defined in the 64-bit 999 PowerPC ELF ABI Supplement, Chapter 5.2. 1000 1001 DT_JMPREL 1002 This entry is associated with a table of relocation 1003 entries for the procedure linkage table. This entry is 1004 mandatory both for executable and shared object files 1005 1006 DT_PLTGOT 1007 This entry's d_ptr member gives the address of the 1008 first byte in the procedure linkage table 1009 1010 In addtion the following dynamic entries are also supported: 1011 1012 DT_RELACOUNT 1013 The number of relative relocations in .rela.dyn 1014 _________________________________________________________ 1015 1016 12.2. Global Offset Table 1017 1018 See 64-bit PowerPC ELF ABI Supplement, Chapter 5.2.2. 1019 _________________________________________________________ 1020 1021 12.3. Function Addresses 1022 1023 See 64-bit PowerPC ELF ABI Supplement, Chapter 5.2.3. 1024 _________________________________________________________ 1025 1026 12.4. Procedure Linkage Table 1027 1028 See 64-bit PowerPC ELF ABI Supplement, Chapter 5.2.4. 1029 1030 Linux Standard Base Specification 1031 _________________________________________________________ 1032 1033 Table of Contents 1034 I. Base Libraries 1035 1036 1. Libraries 1037 1038 1.1. Program Interpreter/Dynamic Linker 1039 1.2. Interfaces for libc 1040 1.3. Data Definitions for libc 1041 1.4. Interfaces for libm 1042 1.5. Data Definitions for libm 1043 1.6. Interfaces for libpthread 1044 1.7. Interfaces for libgcc_s 1045 1.8. Interface Definitions for libgcc_s 1046 1.9. Interfaces for libdl 1047 1.10. Interfaces for libcrypt 1048 1049 II. Utility Libraries 1050 1051 2. Libraries 1052 1053 2.1. Interfaces for libz 1054 2.2. Data Definitions for libz 1055 2.3. Interfaces for libncurses 1056 2.4. Data Definitions for libncurses 1057 2.5. Interfaces for libutil 1058 1059 A. Alphabetical Listing of Interfaces 1060 1061 A.1. libgcc_s 1062 1063 List of Tables 1064 1-1. libc Definition 1065 1-2. libc - RPC Function Interfaces 1066 1-3. libc - RPC Deprecated Function Interfaces 1067 1-4. libc - System Calls Function Interfaces 1068 1-5. libc - System Calls Deprecated Function Interfaces 1069 1-6. libc - Standard I/O Function Interfaces 1070 1-7. libc - Standard I/O Data Interfaces 1071 1-8. libc - Signal Handling Function Interfaces 1072 1-9. libc - Signal Handling Deprecated Function Interfaces 1073 1-10. libc - Signal Handling Data Interfaces 1074 1-11. libc - Localization Functions Function Interfaces 1075 1-12. libc - Localization Functions Data Interfaces 1076 1-13. libc - Socket Interface Function Interfaces 1077 1-14. libc - Socket Interface Deprecated Function Interfaces 1078 1-15. libc - Wide Characters Function Interfaces 1079 1-16. libc - String Functions Function Interfaces 1080 1-17. libc - String Functions Deprecated Function Interfaces 1081 1-18. libc - IPC Functions Function Interfaces 1082 1-19. libc - Regular Expressions Function Interfaces 1083 1-20. libc - Regular Expressions Deprecated Function 1084 Interfaces 1085 1086 1-21. libc - Regular Expressions Deprecated Data Interfaces 1087 1-22. libc - Character Type Functions Function Interfaces 1088 1-23. libc - Time Manipulation Function Interfaces 1089 1-24. libc - Time Manipulation Deprecated Function Interfaces 1090 1-25. libc - Time Manipulation Data Interfaces 1091 1-26. libc - Terminal Interface Functions Function Interfaces 1092 1-27. libc - System Database Interface Function Interfaces 1093 1-28. libc - System Database Interface Deprecated Function 1094 Interfaces 1095 1096 1-29. libc - Language Support Function Interfaces 1097 1-30. libc - Large File Support Function Interfaces 1098 1-31. libc - Standard Library Function Interfaces 1099 1-32. libc - Standard Library Deprecated Function Interfaces 1100 1-33. libc - Standard Library Data Interfaces 1101 1-34. libm Definition 1102 1-35. libm - Math Function Interfaces 1103 1-36. libm - Math Data Interfaces 1104 1-37. libpthread Definition 1105 1-38. libpthread - Posix Threads Function Interfaces 1106 1-39. libgcc_s Definition 1107 1-40. libgcc_s - Unwind Library Function Interfaces 1108 1-41. libdl Definition 1109 1-42. libdl - Dynamic Loader Function Interfaces 1110 1-43. libcrypt Definition 1111 1-44. libcrypt - Encryption Function Interfaces 1112 2-1. libz Definition 1113 2-2. libncurses Definition 1114 2-3. libutil Definition 1115 2-4. libutil - Utility Functions Function Interfaces 1116 A-1. libgcc_s Function Interfaces 1117 1118 I. Base Libraries 1119 1120 Table of Contents 1121 1. Libraries 1122 _________________________________________________________ 1123 1124 Chapter 1. Libraries 1125 1126 An LSB-conforming implementation shall support base libraries 1127 which provide interfaces for accessing the operating system, 1128 processor and other hardware in the system. 1129 1130 Only those interfaces that are unique to the PowerPC 64 1131 platform are defined here. This section should be used in 1132 conjunction with the corresponding section in the Linux 1133 Standard Base Specification. 1134 _________________________________________________________ 1135 1136 1.1. Program Interpreter/Dynamic Linker 1137 1138 The LSB specifies the Program Interpreter to be 1139 /lib64/ld-lsb-ppc64.so.2. 1140 _________________________________________________________ 1141 1142 1.2. Interfaces for libc 1143 1144 Table 1-1 defines the library name and shared object name for 1145 the libc library 1146 1147 Table 1-1. libc Definition 1148 Library: libc 1149 SONAME: libc.so.6 1150 1151 The behavior of the interfaces in this library is specified by 1152 the following specifications: 1153 1154 Large File Support 1155 this specification 1156 SUSv2 1157 ISO POSIX (2003) 1158 SVID Issue 3 1159 SVID Issue 4 1160 _________________________________________________________ 1161 1162 1.2.1. RPC 1163 _________________________________________________________ 1164 1165 1.2.1.1. Interfaces for RPC 1166 1167 An LSB conforming implementation shall provide the 1168 architecture specific functions for RPC specified in Table 1169 1-2, with the full functionality as described in the 1170 referenced underlying specification. 1171 1172 Table 1-2. libc - RPC Function Interfaces 1173 authnone_create(GLIBC_2.3) [1] svc_getreqset(GLIBC_2.3) [2] 1174 svcudp_create(GLIBC_2.3) [3] xdr_int(GLIBC_2.3) [2] 1175 xdr_u_long(GLIBC_2.3) [2] 1176 clnt_create(GLIBC_2.3) [1] svc_register(GLIBC_2.3) [3] 1177 xdr_accepted_reply(GLIBC_2.3) [2] xdr_long(GLIBC_2.3) [2] 1178 xdr_u_short(GLIBC_2.3) [2] 1179 clnt_pcreateerror(GLIBC_2.3) [1] svc_run(GLIBC_2.3) [3] 1180 xdr_array(GLIBC_2.3) [2] xdr_opaque(GLIBC_2.3) [2] 1181 xdr_union(GLIBC_2.3) [2] 1182 clnt_perrno(GLIBC_2.3) [1] svc_sendreply(GLIBC_2.3) [3] 1183 xdr_bool(GLIBC_2.3) [2] xdr_opaque_auth(GLIBC_2.3) [2] 1184 xdr_vector(GLIBC_2.3) [2] 1185 clnt_perror(GLIBC_2.3) [1] svcerr_auth(GLIBC_2.3) [2] 1186 xdr_bytes(GLIBC_2.3) [2] xdr_pointer(GLIBC_2.3) [2] 1187 xdr_void(GLIBC_2.3) [2] 1188 clnt_spcreateerror(GLIBC_2.3) [1] svcerr_decode(GLIBC_2.3) [2] 1189 xdr_callhdr(GLIBC_2.3) [2] xdr_reference(GLIBC_2.3) [2] 1190 xdr_wrapstring(GLIBC_2.3) [2] 1191 clnt_sperrno(GLIBC_2.3) [1] svcerr_noproc(GLIBC_2.3) [2] 1192 xdr_callmsg(GLIBC_2.3) [2] xdr_rejected_reply(GLIBC_2.3) [2] 1193 xdrmem_create(GLIBC_2.3) [2] 1194 clnt_sperror(GLIBC_2.3) [1] svcerr_noprog(GLIBC_2.3) [2] 1195 xdr_char(GLIBC_2.3) [2] xdr_replymsg(GLIBC_2.3) [2] 1196 xdrrec_create(GLIBC_2.3) [2] 1197 key_decryptsession(GLIBC_2.3) [2] svcerr_progvers(GLIBC_2.3) 1198 [2] xdr_double(GLIBC_2.3) [2] xdr_short(GLIBC_2.3) [2] 1199 xdrrec_eof(GLIBC_2.3) [2] 1200 pmap_getport(GLIBC_2.3) [3] svcerr_systemerr(GLIBC_2.3) [2] 1201 xdr_enum(GLIBC_2.3) [2] xdr_string(GLIBC_2.3) [2] 1202 pmap_set(GLIBC_2.3) [3] svcerr_weakauth(GLIBC_2.3) [2] 1203 xdr_float(GLIBC_2.3) [2] xdr_u_char(GLIBC_2.3) [2] 1204 pmap_unset(GLIBC_2.3) [3] svctcp_create(GLIBC_2.3) [3] 1205 xdr_free(GLIBC_2.3) [2] xdr_u_int(GLIBC_2.3) [3] 1206 1207 Referenced Specification(s) 1208 1209 [1]. SVID Issue 4 1210 1211 [2]. SVID Issue 3 1212 1213 [3]. this specification 1214 1215 An LSB conforming implementation shall provide the 1216 architecture specific deprecated functions for RPC specified 1217 in Table 1-3, with the full functionality as described in the 1218 referenced underlying specification. 1219 1220 Note: These interfaces are deprecated, and applications 1221 should avoid using them. These interfaces may be withdrawn 1222 in future releases of this specification. 1223 1224 Table 1-3. libc - RPC Deprecated Function Interfaces 1225 getdomainname(GLIBC_2.3) [1] setdomainname(GLIBC_2.3) [1] 1226 1227 Referenced Specification(s) 1228 1229 [1]. this specification 1230 _________________________________________________________ 1231 1232 1.2.2. System Calls 1233 _________________________________________________________ 1234 1235 1.2.2.1. Interfaces for System Calls 1236 1237 An LSB conforming implementation shall provide the 1238 architecture specific functions for System Calls specified in 1239 Table 1-4, with the full functionality as described in the 1240 referenced underlying specification. 1241 1242 Table 1-4. libc - System Calls Function Interfaces 1243 __fxstat(GLIBC_2.3) [1] fchmod(GLIBC_2.3) [2] getwd(GLIBC_2.3) 1244 [2] read(GLIBC_2.3) [2] setrlimit(GLIBC_2.3) [2] 1245 __getpgid(GLIBC_2.3) [1] fchown(GLIBC_2.3) [2] 1246 initgroups(GLIBC_2.3) [1] readdir(GLIBC_2.3) [2] 1247 setrlimit64(GLIBC_2.3) [3] 1248 __lxstat(GLIBC_2.3) [1] fcntl(GLIBC_2.3) [1] ioctl(GLIBC_2.3) 1249 [1] readdir_r(GLIBC_2.3) [2] setsid(GLIBC_2.3) [2] 1250 __xmknod(GLIBC_2.3) [1] fdatasync(GLIBC_2.3) [2] 1251 kill(GLIBC_2.3) [1] readlink(GLIBC_2.3) [2] setuid(GLIBC_2.3) 1252 [2] 1253 __xstat(GLIBC_2.3) [1] flock(GLIBC_2.3) [1] killpg(GLIBC_2.3) 1254 [2] readv(GLIBC_2.3) [2] sleep(GLIBC_2.3) [2] 1255 access(GLIBC_2.3) [2] fork(GLIBC_2.3) [2] lchown(GLIBC_2.3) 1256 [2] rename(GLIBC_2.3) [2] statvfs(GLIBC_2.3) [2] 1257 acct(GLIBC_2.3) [1] fstatvfs(GLIBC_2.3) [2] link(GLIBC_2.3) 1258 [2] rmdir(GLIBC_2.3) [2] stime(GLIBC_2.3) [1] 1259 alarm(GLIBC_2.3) [2] fsync(GLIBC_2.3) [2] lockf(GLIBC_2.3) [2] 1260 sbrk(GLIBC_2.3) [4] symlink(GLIBC_2.3) [2] 1261 brk(GLIBC_2.3) [4] ftime(GLIBC_2.3) [2] lseek(GLIBC_2.3) [2] 1262 sched_get_priority_max(GLIBC_2.3) [2] sync(GLIBC_2.3) [2] 1263 chdir(GLIBC_2.3) [2] ftruncate(GLIBC_2.3) [2] mkdir(GLIBC_2.3) 1264 [2] sched_get_priority_min(GLIBC_2.3) [2] sysconf(GLIBC_2.3) 1265 [2] 1266 chmod(GLIBC_2.3) [2] getcontext(GLIBC_2.3) [2] 1267 mkfifo(GLIBC_2.3) [2] sched_getparam(GLIBC_2.3) [2] 1268 time(GLIBC_2.3) [2] 1269 chown(GLIBC_2.3) [2] getegid(GLIBC_2.3) [2] mlock(GLIBC_2.3) 1270 [2] sched_getscheduler(GLIBC_2.3) [2] times(GLIBC_2.3) [2] 1271 chroot(GLIBC_2.3) [4] geteuid(GLIBC_2.3) [2] 1272 mlockall(GLIBC_2.3) [2] sched_rr_get_interval(GLIBC_2.3) [2] 1273 truncate(GLIBC_2.3) [2] 1274 clock(GLIBC_2.3) [2] getgid(GLIBC_2.3) [2] mmap(GLIBC_2.3) [2] 1275 sched_setparam(GLIBC_2.3) [2] ulimit(GLIBC_2.3) [2] 1276 close(GLIBC_2.3) [2] getgroups(GLIBC_2.3) [2] 1277 mprotect(GLIBC_2.3) [2] sched_setscheduler(GLIBC_2.3) [2] 1278 umask(GLIBC_2.3) [2] 1279 closedir(GLIBC_2.3) [2] getitimer(GLIBC_2.3) [2] 1280 msync(GLIBC_2.3) [2] sched_yield(GLIBC_2.3) [2] 1281 uname(GLIBC_2.3) [2] 1282 creat(GLIBC_2.3) [1] getloadavg(GLIBC_2.3) [1] 1283 munlock(GLIBC_2.3) [2] select(GLIBC_2.3) [2] unlink(GLIBC_2.3) 1284 [1] 1285 dup(GLIBC_2.3) [2] getpagesize(GLIBC_2.3) [4] 1286 munlockall(GLIBC_2.3) [2] setcontext(GLIBC_2.3) [2] 1287 utime(GLIBC_2.3) [2] 1288 dup2(GLIBC_2.3) [2] getpgid(GLIBC_2.3) [2] munmap(GLIBC_2.3) 1289 [2] setegid(GLIBC_2.3) [2] utimes(GLIBC_2.3) [2] 1290 execl(GLIBC_2.3) [2] getpgrp(GLIBC_2.3) [2] 1291 nanosleep(GLIBC_2.3) [2] seteuid(GLIBC_2.3) [2] 1292 vfork(GLIBC_2.3) [2] 1293 execle(GLIBC_2.3) [2] getpid(GLIBC_2.3) [2] nice(GLIBC_2.3) 1294 [2] setgid(GLIBC_2.3) [2] wait(GLIBC_2.3) [2] 1295 execlp(GLIBC_2.3) [2] getppid(GLIBC_2.3) [2] open(GLIBC_2.3) 1296 [1] setitimer(GLIBC_2.3) [2] wait4(GLIBC_2.3) [1] 1297 execv(GLIBC_2.3) [2] getpriority(GLIBC_2.3) [2] 1298 opendir(GLIBC_2.3) [2] setpgid(GLIBC_2.3) [2] 1299 waitpid(GLIBC_2.3) [1] 1300 execve(GLIBC_2.3) [2] getrlimit(GLIBC_2.3) [2] 1301 pathconf(GLIBC_2.3) [2] setpgrp(GLIBC_2.3) [2] 1302 write(GLIBC_2.3) [2] 1303 execvp(GLIBC_2.3) [2] getrusage(GLIBC_2.3) [2] 1304 pause(GLIBC_2.3) [2] setpriority(GLIBC_2.3) [2] 1305 writev(GLIBC_2.3) [2] 1306 exit(GLIBC_2.3) [2] getsid(GLIBC_2.3) [2] pipe(GLIBC_2.3) [2] 1307 setregid(GLIBC_2.3) [2] 1308 fchdir(GLIBC_2.3) [2] getuid(GLIBC_2.3) [2] poll(GLIBC_2.3) 1309 [2] setreuid(GLIBC_2.3) [2] 1310 1311 Referenced Specification(s) 1312 1313 [1]. this specification 1314 1315 [2]. ISO POSIX (2003) 1316 1317 [3]. Large File Support 1318 1319 [4]. SUSv2 1320 1321 An LSB conforming implementation shall provide the 1322 architecture specific deprecated functions for System Calls 1323 specified in Table 1-5, with the full functionality as 1324 described in the referenced underlying specification. 1325 1326 Note: These interfaces are deprecated, and applications 1327 should avoid using them. These interfaces may be withdrawn 1328 in future releases of this specification. 1329 1330 Table 1-5. libc - System Calls Deprecated Function Interfaces 1331 wait3(GLIBC_2.3) [1] 1332 1333 Referenced Specification(s) 1334 1335 [1]. this specification 1336 _________________________________________________________ 1337 1338 1.2.3. Standard I/O 1339 _________________________________________________________ 1340 1341 1.2.3.1. Interfaces for Standard I/O 1342 1343 An LSB conforming implementation shall provide the 1344 architecture specific functions for Standard I/O specified in 1345 Table 1-6, with the full functionality as described in the 1346 referenced underlying specification. 1347 1348 Table 1-6. libc - Standard I/O Function Interfaces 1349 _IO_feof(GLIBC_2.3) [1] fgetpos(GLIBC_2.3) [2] 1350 fsetpos(GLIBC_2.3) [2] putchar(GLIBC_2.3) [2] 1351 sscanf(GLIBC_2.3) [2] 1352 _IO_getc(GLIBC_2.3) [1] fgets(GLIBC_2.3) [2] ftell(GLIBC_2.3) 1353 [2] putchar_unlocked(GLIBC_2.3) [2] telldir(GLIBC_2.3) [2] 1354 _IO_putc(GLIBC_2.3) [1] fgetwc_unlocked(GLIBC_2.3) [1] 1355 ftello(GLIBC_2.3) [2] puts(GLIBC_2.3) [2] tempnam(GLIBC_2.3) 1356 [2] 1357 _IO_puts(GLIBC_2.3) [1] fileno(GLIBC_2.3) [2] 1358 fwrite(GLIBC_2.3) [2] putw(GLIBC_2.3) [3] ungetc(GLIBC_2.3) 1359 [2] 1360 asprintf(GLIBC_2.3) [1] flockfile(GLIBC_2.3) [2] 1361 getc(GLIBC_2.3) [2] remove(GLIBC_2.3) [2] vasprintf(GLIBC_2.3) 1362 [1] 1363 clearerr(GLIBC_2.3) [2] fopen(GLIBC_2.3) [1] 1364 getc_unlocked(GLIBC_2.3) [2] rewind(GLIBC_2.3) [2] 1365 vdprintf(GLIBC_2.3) [1] 1366 ctermid(GLIBC_2.3) [2] fprintf(GLIBC_2.3) [2] 1367 getchar(GLIBC_2.3) [2] rewinddir(GLIBC_2.3) [2] 1368 vfprintf(GLIBC_2.3) [2] 1369 fclose(GLIBC_2.3) [2] fputc(GLIBC_2.3) [2] 1370 getchar_unlocked(GLIBC_2.3) [2] scanf(GLIBC_2.3) [2] 1371 vprintf(GLIBC_2.3) [2] 1372 fdopen(GLIBC_2.3) [2] fputs(GLIBC_2.3) [2] getw(GLIBC_2.3) [3] 1373 seekdir(GLIBC_2.3) [2] vsnprintf(GLIBC_2.3) [2] 1374 feof(GLIBC_2.3) [2] fread(GLIBC_2.3) [2] pclose(GLIBC_2.3) [2] 1375 setbuf(GLIBC_2.3) [2] vsprintf(GLIBC_2.3) [2] 1376 ferror(GLIBC_2.3) [2] freopen(GLIBC_2.3) [1] popen(GLIBC_2.3) 1377 [2] setbuffer(GLIBC_2.3) [1] 1378 fflush(GLIBC_2.3) [2] fscanf(GLIBC_2.3) [2] printf(GLIBC_2.3) 1379 [2] setvbuf(GLIBC_2.3) [2] 1380 fflush_unlocked(GLIBC_2.3) [1] fseek(GLIBC_2.3) [2] 1381 putc(GLIBC_2.3) [2] snprintf(GLIBC_2.3) [2] 1382 fgetc(GLIBC_2.3) [2] fseeko(GLIBC_2.3) [2] 1383 putc_unlocked(GLIBC_2.3) [2] sprintf(GLIBC_2.3) [2] 1384 1385 Referenced Specification(s) 1386 1387 [1]. this specification 1388 1389 [2]. ISO POSIX (2003) 1390 1391 [3]. SUSv2 1392 1393 An LSB conforming implementation shall provide the 1394 architecture specific data interfaces for Standard I/O 1395 specified in Table 1-7, with the full functionality as 1396 described in the referenced underlying specification. 1397 1398 Table 1-7. libc - Standard I/O Data Interfaces 1399 stderr(GLIBC_2.3) [1] stdin(GLIBC_2.3) [1] stdout(GLIBC_2.3) 1400 [1] 1401 1402 Referenced Specification(s) 1403 1404 [1]. ISO POSIX (2003) 1405 _________________________________________________________ 1406 1407 1.2.4. Signal Handling 1408 _________________________________________________________ 1409 1410 1.2.4.1. Interfaces for Signal Handling 1411 1412 An LSB conforming implementation shall provide the 1413 architecture specific functions for Signal Handling specified 1414 in Table 1-8, with the full functionality as described in the 1415 referenced underlying specification. 1416 1417 Table 1-8. libc - Signal Handling Function Interfaces 1418 __libc_current_sigrtmax(GLIBC_2.3) [1] sigaction(GLIBC_2.3) 1419 [2] sighold(GLIBC_2.3) [2] sigorset(GLIBC_2.3) [1] 1420 sigset(GLIBC_2.3) [2] 1421 __libc_current_sigrtmin(GLIBC_2.3) [1] sigaddset(GLIBC_2.3) 1422 [2] sigignore(GLIBC_2.3) [2] sigpause(GLIBC_2.3) [2] 1423 sigsuspend(GLIBC_2.3) [2] 1424 __sigsetjmp(GLIBC_2.3) [1] sigaltstack(GLIBC_2.3) [2] 1425 siginterrupt(GLIBC_2.3) [2] sigpending(GLIBC_2.3) [2] 1426 sigtimedwait(GLIBC_2.3) [2] 1427 __sysv_signal(GLIBC_2.3) [1] sigandset(GLIBC_2.3) [1] 1428 sigisemptyset(GLIBC_2.3) [1] sigprocmask(GLIBC_2.3) [2] 1429 sigwait(GLIBC_2.3) [2] 1430 bsd_signal(GLIBC_2.3) [2] sigdelset(GLIBC_2.3) [2] 1431 sigismember(GLIBC_2.3) [2] sigqueue(GLIBC_2.3) [2] 1432 sigwaitinfo(GLIBC_2.3) [2] 1433 psignal(GLIBC_2.3) [1] sigemptyset(GLIBC_2.3) [2] 1434 siglongjmp(GLIBC_2.3) [2] sigrelse(GLIBC_2.3) [2] 1435 raise(GLIBC_2.3) [2] sigfillset(GLIBC_2.3) [2] 1436 signal(GLIBC_2.3) [2] sigreturn(GLIBC_2.3) [1] 1437 1438 Referenced Specification(s) 1439 1440 [1]. this specification 1441 1442 [2]. ISO POSIX (2003) 1443 1444 An LSB conforming implementation shall provide the 1445 architecture specific deprecated functions for Signal Handling 1446 specified in Table 1-9, with the full functionality as 1447 described in the referenced underlying specification. 1448 1449 Note: These interfaces are deprecated, and applications 1450 should avoid using them. These interfaces may be withdrawn 1451 in future releases of this specification. 1452 1453 Table 1-9. libc - Signal Handling Deprecated Function 1454 Interfaces 1455 sigblock(GLIBC_2.3) [1] siggetmask(GLIBC_2.3) [1] 1456 sigstack(GLIBC_2.3) [2] 1457 1458 Referenced Specification(s) 1459 1460 [1]. this specification 1461 1462 [2]. SUSv2 1463 1464 An LSB conforming implementation shall provide the 1465 architecture specific data interfaces for Signal Handling 1466 specified in Table 1-10, with the full functionality as 1467 described in the referenced underlying specification. 1468 1469 Table 1-10. libc - Signal Handling Data Interfaces 1470 _sys_siglist(GLIBC_2.3) [1] 1471 1472 Referenced Specification(s) 1473 1474 [1]. this specification 1475 _________________________________________________________ 1476 1477 1.2.5. Localization Functions 1478 _________________________________________________________ 1479 1480 1.2.5.1. Interfaces for Localization Functions 1481 1482 An LSB conforming implementation shall provide the 1483 architecture specific functions for Localization Functions 1484 specified in Table 1-11, with the full functionality as 1485 described in the referenced underlying specification. 1486 1487 Table 1-11. libc - Localization Functions Function Interfaces 1488 bind_textdomain_codeset(GLIBC_2.3) [1] catopen(GLIBC_2.3) [2] 1489 dngettext(GLIBC_2.3) [1] iconv_open(GLIBC_2.3) [2] 1490 setlocale(GLIBC_2.3) [2] 1491 bindtextdomain(GLIBC_2.3) [1] dcgettext(GLIBC_2.3) [1] 1492 gettext(GLIBC_2.3) [1] localeconv(GLIBC_2.3) [2] 1493 textdomain(GLIBC_2.3) [1] 1494 catclose(GLIBC_2.3) [2] dcngettext(GLIBC_2.3) [1] 1495 iconv(GLIBC_2.3) [2] ngettext(GLIBC_2.3) [1] 1496 catgets(GLIBC_2.3) [2] dgettext(GLIBC_2.3) [1] 1497 iconv_close(GLIBC_2.3) [2] nl_langinfo(GLIBC_2.3) [2] 1498 1499 Referenced Specification(s) 1500 1501 [1]. this specification 1502 1503 [2]. ISO POSIX (2003) 1504 1505 An LSB conforming implementation shall provide the 1506 architecture specific data interfaces for Localization 1507 Functions specified in Table 1-12, with the full functionality 1508 as described in the referenced underlying specification. 1509 1510 Table 1-12. libc - Localization Functions Data Interfaces 1511 _nl_msg_cat_cntr(GLIBC_2.3) [1] 1512 1513 Referenced Specification(s) 1514 1515 [1]. this specification 1516 _________________________________________________________ 1517 1518 1.2.6. Socket Interface 1519 _________________________________________________________ 1520 1521 1.2.6.1. Interfaces for Socket Interface 1522 1523 An LSB conforming implementation shall provide the 1524 architecture specific functions for Socket Interface specified 1525 in Table 1-13, with the full functionality as described in the 1526 referenced underlying specification. 1527 1528 Table 1-13. libc - Socket Interface Function Interfaces 1529 __h_errno_location(GLIBC_2.3) [1] gethostname(GLIBC_2.3) [2] 1530 if_nameindex(GLIBC_2.3) [2] send(GLIBC_2.3) [2] 1531 socket(GLIBC_2.3) [2] 1532 accept(GLIBC_2.3) [2] getpeername(GLIBC_2.3) [2] 1533 if_nametoindex(GLIBC_2.3) [2] sendmsg(GLIBC_2.3) [2] 1534 socketpair(GLIBC_2.3) [2] 1535 bind(GLIBC_2.3) [2] getsockname(GLIBC_2.3) [2] 1536 listen(GLIBC_2.3) [2] sendto(GLIBC_2.3) [2] 1537 bindresvport(GLIBC_2.3) [1] getsockopt(GLIBC_2.3) [2] 1538 recv(GLIBC_2.3) [2] setsockopt(GLIBC_2.3) [1] 1539 connect(GLIBC_2.3) [2] if_freenameindex(GLIBC_2.3) [2] 1540 recvfrom(GLIBC_2.3) [2] shutdown(GLIBC_2.3) [2] 1541 gethostid(GLIBC_2.3) [2] if_indextoname(GLIBC_2.3) [2] 1542 recvmsg(GLIBC_2.3) [2] sockatmark(GLIBC_2.3) [2] 1543 1544 Referenced Specification(s) 1545 1546 [1]. this specification 1547 1548 [2]. ISO POSIX (2003) 1549 1550 An LSB conforming implementation shall provide the 1551 architecture specific deprecated functions for Socket 1552 Interface specified in Table 1-14, with the full functionality 1553 as described in the referenced underlying specification. 1554 1555 Note: These interfaces are deprecated, and applications 1556 should avoid using them. These interfaces may be withdrawn 1557 in future releases of this specification. 1558 1559 Table 1-14. libc - Socket Interface Deprecated Function 1560 Interfaces 1561 gethostbyname_r(GLIBC_2.3) [1] 1562 1563 Referenced Specification(s) 1564 1565 [1]. this specification 1566 _________________________________________________________ 1567 1568 1.2.7. Wide Characters 1569 _________________________________________________________ 1570 1571 1.2.7.1. Interfaces for Wide Characters 1572 1573 An LSB conforming implementation shall provide the 1574 architecture specific functions for Wide Characters specified 1575 in Table 1-15, with the full functionality as described in the 1576 referenced underlying specification. 1577 1578 Table 1-15. libc - Wide Characters Function Interfaces 1579 __wcstod_internal(GLIBC_2.3) [1] mbsinit(GLIBC_2.3) [2] 1580 vwscanf(GLIBC_2.3) [2] wcsnlen(GLIBC_2.3) [1] 1581 wcstoumax(GLIBC_2.3) [2] 1582 __wcstof_internal(GLIBC_2.3) [1] mbsnrtowcs(GLIBC_2.3) [1] 1583 wcpcpy(GLIBC_2.3) [1] wcsnrtombs(GLIBC_2.3) [1] 1584 wcstouq(GLIBC_2.3) [1] 1585 __wcstol_internal(GLIBC_2.3) [1] mbsrtowcs(GLIBC_2.3) [2] 1586 wcpncpy(GLIBC_2.3) [1] wcspbrk(GLIBC_2.3) [2] 1587 wcswcs(GLIBC_2.3) [2] 1588 __wcstold_internal(GLIBC_2.3) [1] mbstowcs(GLIBC_2.3) [2] 1589 wcrtomb(GLIBC_2.3) [2] wcsrchr(GLIBC_2.3) [2] 1590 wcswidth(GLIBC_2.3) [2] 1591 __wcstoul_internal(GLIBC_2.3) [1] mbtowc(GLIBC_2.3) [2] 1592 wcscasecmp(GLIBC_2.3) [1] wcsrtombs(GLIBC_2.3) [2] 1593 wcsxfrm(GLIBC_2.3) [2] 1594 btowc(GLIBC_2.3) [2] putwc(GLIBC_2.3) [2] wcscat(GLIBC_2.3) 1595 [2] wcsspn(GLIBC_2.3) [2] wctob(GLIBC_2.3) [2] 1596 fgetwc(GLIBC_2.3) [2] putwchar(GLIBC_2.3) [2] 1597 wcschr(GLIBC_2.3) [2] wcsstr(GLIBC_2.3) [2] wctomb(GLIBC_2.3) 1598 [2] 1599 fgetws(GLIBC_2.3) [2] swprintf(GLIBC_2.3) [2] 1600 wcscmp(GLIBC_2.3) [2] wcstod(GLIBC_2.3) [2] wctrans(GLIBC_2.3) 1601 [2] 1602 fputwc(GLIBC_2.3) [2] swscanf(GLIBC_2.3) [2] 1603 wcscoll(GLIBC_2.3) [2] wcstof(GLIBC_2.3) [2] wctype(GLIBC_2.3) 1604 [2] 1605 fputws(GLIBC_2.3) [2] towctrans(GLIBC_2.3) [2] 1606 wcscpy(GLIBC_2.3) [2] wcstoimax(GLIBC_2.3) [2] 1607 wcwidth(GLIBC_2.3) [2] 1608 fwide(GLIBC_2.3) [2] towlower(GLIBC_2.3) [2] 1609 wcscspn(GLIBC_2.3) [2] wcstok(GLIBC_2.3) [2] 1610 wmemchr(GLIBC_2.3) [2] 1611 fwprintf(GLIBC_2.3) [2] towupper(GLIBC_2.3) [2] 1612 wcsdup(GLIBC_2.3) [1] wcstol(GLIBC_2.3) [2] wmemcmp(GLIBC_2.3) 1613 [2] 1614 fwscanf(GLIBC_2.3) [2] ungetwc(GLIBC_2.3) [2] 1615 wcsftime(GLIBC_2.3) [2] wcstold(GLIBC_2.3) [2] 1616 wmemcpy(GLIBC_2.3) [2] 1617 getwc(GLIBC_2.3) [2] vfwprintf(GLIBC_2.3) [2] 1618 wcslen(GLIBC_2.3) [2] wcstoll(GLIBC_2.3) [2] 1619 wmemmove(GLIBC_2.3) [2] 1620 getwchar(GLIBC_2.3) [2] vfwscanf(GLIBC_2.3) [2] 1621 wcsncasecmp(GLIBC_2.3) [1] wcstombs(GLIBC_2.3) [2] 1622 wmemset(GLIBC_2.3) [2] 1623 mblen(GLIBC_2.3) [2] vswprintf(GLIBC_2.3) [2] 1624 wcsncat(GLIBC_2.3) [2] wcstoq(GLIBC_2.3) [1] 1625 wprintf(GLIBC_2.3) [2] 1626 mbrlen(GLIBC_2.3) [2] vswscanf(GLIBC_2.3) [2] 1627 wcsncmp(GLIBC_2.3) [2] wcstoul(GLIBC_2.3) [2] 1628 wscanf(GLIBC_2.3) [2] 1629 mbrtowc(GLIBC_2.3) [2] vwprintf(GLIBC_2.3) [2] 1630 wcsncpy(GLIBC_2.3) [2] wcstoull(GLIBC_2.3) [2] 1631 1632 Referenced Specification(s) 1633 1634 [1]. this specification 1635 1636 [2]. ISO POSIX (2003) 1637 _________________________________________________________ 1638 1639 1.2.8. String Functions 1640 _________________________________________________________ 1641 1642 1.2.8.1. Interfaces for String Functions 1643 1644 An LSB conforming implementation shall provide the 1645 architecture specific functions for String Functions specified 1646 in Table 1-16, with the full functionality as described in the 1647 referenced underlying specification. 1648 1649 Table 1-16. libc - String Functions Function Interfaces 1650 __mempcpy(GLIBC_2.3) [1] bzero(GLIBC_2.3) [2] 1651 strcasestr(GLIBC_2.3) [1] strncat(GLIBC_2.3) [2] 1652 strtok(GLIBC_2.3) [2] 1653 __rawmemchr(GLIBC_2.3) [1] ffs(GLIBC_2.3) [2] 1654 strcat(GLIBC_2.3) [2] strncmp(GLIBC_2.3) [2] 1655 strtok_r(GLIBC_2.3) [2] 1656 __stpcpy(GLIBC_2.3) [1] index(GLIBC_2.3) [2] strchr(GLIBC_2.3) 1657 [2] strncpy(GLIBC_2.3) [2] strtold(GLIBC_2.3) [2] 1658 __strdup(GLIBC_2.3) [1] memccpy(GLIBC_2.3) [2] 1659 strcmp(GLIBC_2.3) [2] strndup(GLIBC_2.3) [1] 1660 strtoll(GLIBC_2.3) [2] 1661 __strtod_internal(GLIBC_2.3) [1] memchr(GLIBC_2.3) [2] 1662 strcoll(GLIBC_2.3) [2] strnlen(GLIBC_2.3) [1] 1663 strtoq(GLIBC_2.3) [1] 1664 __strtof_internal(GLIBC_2.3) [1] memcmp(GLIBC_2.3) [2] 1665 strcpy(GLIBC_2.3) [2] strpbrk(GLIBC_2.3) [2] 1666 strtoull(GLIBC_2.3) [2] 1667 __strtok_r(GLIBC_2.3) [1] memcpy(GLIBC_2.3) [2] 1668 strcspn(GLIBC_2.3) [2] strptime(GLIBC_2.3) [1] 1669 strtoumax(GLIBC_2.3) [2] 1670 __strtol_internal(GLIBC_2.3) [1] memmove(GLIBC_2.3) [2] 1671 strdup(GLIBC_2.3) [2] strrchr(GLIBC_2.3) [2] 1672 strtouq(GLIBC_2.3) [1] 1673 __strtold_internal(GLIBC_2.3) [1] memrchr(GLIBC_2.3) [1] 1674 strerror(GLIBC_2.3) [2] strsep(GLIBC_2.3) [1] 1675 strxfrm(GLIBC_2.3) [2] 1676 __strtoll_internal(GLIBC_2.3) [1] memset(GLIBC_2.3) [2] 1677 strerror_r(GLIBC_2.3) [1] strsignal(GLIBC_2.3) [1] 1678 swab(GLIBC_2.3) [2] 1679 __strtoul_internal(GLIBC_2.3) [1] rindex(GLIBC_2.3) [2] 1680 strfmon(GLIBC_2.3) [2] strspn(GLIBC_2.3) [2] 1681 __strtoull_internal(GLIBC_2.3) [1] stpcpy(GLIBC_2.3) [1] 1682 strftime(GLIBC_2.3) [2] strstr(GLIBC_2.3) [2] 1683 bcmp(GLIBC_2.3) [2] stpncpy(GLIBC_2.3) [1] strlen(GLIBC_2.3) 1684 [2] strtof(GLIBC_2.3) [2] 1685 bcopy(GLIBC_2.3) [2] strcasecmp(GLIBC_2.3) [2] 1686 strncasecmp(GLIBC_2.3) [2] strtoimax(GLIBC_2.3) [2] 1687 1688 Referenced Specification(s) 1689 1690 [1]. this specification 1691 1692 [2]. ISO POSIX (2003) 1693 1694 An LSB conforming implementation shall provide the 1695 architecture specific deprecated functions for String 1696 Functions specified in Table 1-17, with the full functionality 1697 as described in the referenced underlying specification. 1698 1699 Note: These interfaces are deprecated, and applications 1700 should avoid using them. These interfaces may be withdrawn 1701 in future releases of this specification. 1702 1703 Table 1-17. libc - String Functions Deprecated Function 1704 Interfaces 1705 strfry(GLIBC_2.3) [1] strverscmp(GLIBC_2.3) [1] 1706 1707 Referenced Specification(s) 1708 1709 [1]. this specification 1710 _________________________________________________________ 1711 1712 1.2.9. IPC Functions 1713 _________________________________________________________ 1714 1715 1.2.9.1. Interfaces for IPC Functions 1716 1717 An LSB conforming implementation shall provide the 1718 architecture specific functions for IPC Functions specified in 1719 Table 1-18, with the full functionality as described in the 1720 referenced underlying specification. 1721 1722 Table 1-18. libc - IPC Functions Function Interfaces 1723 ftok(GLIBC_2.3) [1] msgrcv(GLIBC_2.3) [1] semget(GLIBC_2.3) 1724 [1] shmctl(GLIBC_2.3) [1] 1725 msgctl(GLIBC_2.3) [1] msgsnd(GLIBC_2.3) [1] semop(GLIBC_2.3) 1726 [1] shmdt(GLIBC_2.3) [1] 1727 msgget(GLIBC_2.3) [1] semctl(GLIBC_2.3) [1] shmat(GLIBC_2.3) 1728 [1] shmget(GLIBC_2.3) [1] 1729 1730 Referenced Specification(s) 1731 1732 [1]. ISO POSIX (2003) 1733 _________________________________________________________ 1734 1735 1.2.10. Regular Expressions 1736 _________________________________________________________ 1737 1738 1.2.10.1. Interfaces for Regular Expressions 1739 1740 An LSB conforming implementation shall provide the 1741 architecture specific functions for Regular Expressions 1742 specified in Table 1-19, with the full functionality as 1743 described in the referenced underlying specification. 1744 1745 Table 1-19. libc - Regular Expressions Function Interfaces 1746 regcomp(GLIBC_2.3) [1] regerror(GLIBC_2.3) [1] 1747 regexec(GLIBC_2.3) [1] regfree(GLIBC_2.3) [1] 1748 1749 Referenced Specification(s) 1750 1751 [1]. ISO POSIX (2003) 1752 1753 An LSB conforming implementation shall provide the 1754 architecture specific deprecated functions for Regular 1755 Expressions specified in Table 1-20, with the full 1756 functionality as described in the referenced underlying 1757 specification. 1758 1759 Note: These interfaces are deprecated, and applications 1760 should avoid using them. These interfaces may be withdrawn 1761 in future releases of this specification. 1762 1763 Table 1-20. libc - Regular Expressions Deprecated Function 1764 Interfaces 1765 advance(GLIBC_2.3) [1] re_comp(GLIBC_2.3) [1] 1766 re_exec(GLIBC_2.3) [1] step(GLIBC_2.3) [1] 1767 1768 Referenced Specification(s) 1769 1770 [1]. SUSv2 1771 1772 An LSB conforming implementation shall provide the 1773 architecture specific deprecated data interfaces for Regular 1774 Expressions specified in Table 1-21, with the full 1775 functionality as described in the referenced underlying 1776 specification. 1777 1778 Note: These interfaces are deprecated, and applications 1779 should avoid using them. These interfaces may be withdrawn 1780 in future releases of this specification. 1781 1782 Table 1-21. libc - Regular Expressions Deprecated Data 1783 Interfaces 1784 loc1(GLIBC_2.3) [1] loc2(GLIBC_2.3) [1] locs(GLIBC_2.3) [1] 1785 1786 Referenced Specification(s) 1787 1788 [1]. SUSv2 1789 _________________________________________________________ 1790 1791 1.2.11. Character Type Functions 1792 _________________________________________________________ 1793 1794 1.2.11.1. Interfaces for Character Type Functions 1795 1796 An LSB conforming implementation shall provide the 1797 architecture specific functions for Character Type Functions 1798 specified in Table 1-22, with the full functionality as 1799 described in the referenced underlying specification. 1800 1801 Table 1-22. libc - Character Type Functions Function 1802 Interfaces 1803 __ctype_get_mb_cur_max(GLIBC_2.3) [1] isdigit(GLIBC_2.3) [2] 1804 iswalnum(GLIBC_2.3) [2] iswlower(GLIBC_2.3) [2] 1805 toascii(GLIBC_2.3) [2] 1806 _tolower(GLIBC_2.3) [2] isgraph(GLIBC_2.3) [2] 1807 iswalpha(GLIBC_2.3) [2] iswprint(GLIBC_2.3) [2] 1808 tolower(GLIBC_2.3) [2] 1809 _toupper(GLIBC_2.3) [2] islower(GLIBC_2.3) [2] 1810 iswblank(GLIBC_2.3) [2] iswpunct(GLIBC_2.3) [2] 1811 toupper(GLIBC_2.3) [2] 1812 isalnum(GLIBC_2.3) [2] isprint(GLIBC_2.3) [2] 1813 iswcntrl(GLIBC_2.3) [2] iswspace(GLIBC_2.3) [2] 1814 isalpha(GLIBC_2.3) [2] ispunct(GLIBC_2.3) [2] 1815 iswctype(GLIBC_2.3) [2] iswupper(GLIBC_2.3) [2] 1816 isascii(GLIBC_2.3) [2] isspace(GLIBC_2.3) [2] 1817 iswdigit(GLIBC_2.3) [2] iswxdigit(GLIBC_2.3) [2] 1818 iscntrl(GLIBC_2.3) [2] isupper(GLIBC_2.3) [2] 1819 iswgraph(GLIBC_2.3) [2] isxdigit(GLIBC_2.3) [2] 1820 1821 Referenced Specification(s) 1822 1823 [1]. this specification 1824 1825 [2]. ISO POSIX (2003) 1826 _________________________________________________________ 1827 1828 1.2.12. Time Manipulation 1829 _________________________________________________________ 1830 1831 1.2.12.1. Interfaces for Time Manipulation 1832 1833 An LSB conforming implementation shall provide the 1834 architecture specific functions for Time Manipulation 1835 specified in Table 1-23, with the full functionality as 1836 described in the referenced underlying specification. 1837 1838 Table 1-23. libc - Time Manipulation Function Interfaces 1839 adjtime(GLIBC_2.3) [1] ctime(GLIBC_2.3) [2] gmtime(GLIBC_2.3) 1840 [2] localtime_r(GLIBC_2.3) [2] ualarm(GLIBC_2.3) [2] 1841 asctime(GLIBC_2.3) [2] ctime_r(GLIBC_2.3) [2] 1842 gmtime_r(GLIBC_2.3) [2] mktime(GLIBC_2.3) [2] 1843 asctime_r(GLIBC_2.3) [2] difftime(GLIBC_2.3) [2] 1844 localtime(GLIBC_2.3) [2] tzset(GLIBC_2.3) [2] 1845 1846 Referenced Specification(s) 1847 1848 [1]. this specification 1849 1850 [2]. ISO POSIX (2003) 1851 1852 An LSB conforming implementation shall provide the 1853 architecture specific deprecated functions for Time 1854 Manipulation specified in Table 1-24, with the full 1855 functionality as described in the referenced underlying 1856 specification. 1857 1858 Note: These interfaces are deprecated, and applications 1859 should avoid using them. These interfaces may be withdrawn 1860 in future releases of this specification. 1861 1862 Table 1-24. libc - Time Manipulation Deprecated Function 1863 Interfaces 1864 adjtimex(GLIBC_2.3) [1] 1865 1866 Referenced Specification(s) 1867 1868 [1]. this specification 1869 1870 An LSB conforming implementation shall provide the 1871 architecture specific data interfaces for Time Manipulation 1872 specified in Table 1-25, with the full functionality as 1873 described in the referenced underlying specification. 1874 1875 Table 1-25. libc - Time Manipulation Data Interfaces 1876 __daylight(GLIBC_2.3) [1] __tzname(GLIBC_2.3) [1] 1877 timezone(GLIBC_2.3) [2] 1878 __timezone(GLIBC_2.3) [1] daylight(GLIBC_2.3) [2] 1879 tzname(GLIBC_2.3) [2] 1880 1881 Referenced Specification(s) 1882 1883 [1]. this specification 1884 1885 [2]. ISO POSIX (2003) 1886 _________________________________________________________ 1887 1888 1.2.13. Terminal Interface Functions 1889 _________________________________________________________ 1890 1891 1.2.13.1. Interfaces for Terminal Interface Functions 1892 1893 An LSB conforming implementation shall provide the 1894 architecture specific functions for Terminal Interface 1895 Functions specified in Table 1-26, with the full functionality 1896 as described in the referenced underlying specification. 1897 1898 Table 1-26. libc - Terminal Interface Functions Function 1899 Interfaces 1900 cfgetispeed(GLIBC_2.3) [1] cfsetispeed(GLIBC_2.3) [1] 1901 tcdrain(GLIBC_2.3) [1] tcgetattr(GLIBC_2.3) [1] 1902 tcsendbreak(GLIBC_2.3) [1] 1903 cfgetospeed(GLIBC_2.3) [1] cfsetospeed(GLIBC_2.3) [1] 1904 tcflow(GLIBC_2.3) [1] tcgetpgrp(GLIBC_2.3) [1] 1905 tcsetattr(GLIBC_2.3) [1] 1906 cfmakeraw(GLIBC_2.3) [2] cfsetspeed(GLIBC_2.3) [2] 1907 tcflush(GLIBC_2.3) [1] tcgetsid(GLIBC_2.3) [1] 1908 tcsetpgrp(GLIBC_2.3) [1] 1909 1910 Referenced Specification(s) 1911 1912 [1]. ISO POSIX (2003) 1913 1914 [2]. this specification 1915 _________________________________________________________ 1916 1917 1.2.14. System Database Interface 1918 _________________________________________________________ 1919 1920 1.2.14.1. Interfaces for System Database Interface 1921 1922 An LSB conforming implementation shall provide the 1923 architecture specific functions for System Database Interface 1924 specified in Table 1-27, with the full functionality as 1925 described in the referenced underlying specification. 1926 1927 Table 1-27. libc - System Database Interface Function 1928 Interfaces 1929 endgrent(GLIBC_2.3) [1] getgrgid_r(GLIBC_2.3) [1] 1930 getpwent(GLIBC_2.3) [1] getutent(GLIBC_2.3) [2] 1931 setprotoent(GLIBC_2.3) [1] 1932 endprotoent(GLIBC_2.3) [1] getgrnam(GLIBC_2.3) [1] 1933 getpwnam(GLIBC_2.3) [1] getutent_r(GLIBC_2.3) [2] 1934 setpwent(GLIBC_2.3) [1] 1935 endpwent(GLIBC_2.3) [1] getgrnam_r(GLIBC_2.3) [1] 1936 getpwnam_r(GLIBC_2.3) [1] getutxent(GLIBC_2.3) [1] 1937 setservent(GLIBC_2.3) [1] 1938 endservent(GLIBC_2.3) [1] gethostbyaddr(GLIBC_2.3) [1] 1939 getpwuid(GLIBC_2.3) [1] getutxid(GLIBC_2.3) [1] 1940 setutent(GLIBC_2.3) [2] 1941 endutent(GLIBC_2.3) [3] gethostbyname(GLIBC_2.3) [1] 1942 getpwuid_r(GLIBC_2.3) [1] getutxline(GLIBC_2.3) [1] 1943 setutxent(GLIBC_2.3) [1] 1944 endutxent(GLIBC_2.3) [1] getprotobyname(GLIBC_2.3) [1] 1945 getservbyname(GLIBC_2.3) [1] pututxline(GLIBC_2.3) [1] 1946 utmpname(GLIBC_2.3) [2] 1947 getgrent(GLIBC_2.3) [1] getprotobynumber(GLIBC_2.3) [1] 1948 getservbyport(GLIBC_2.3) [1] setgrent(GLIBC_2.3) [1] 1949 getgrgid(GLIBC_2.3) [1] getprotoent(GLIBC_2.3) [1] 1950 getservent(GLIBC_2.3) [1] setgroups(GLIBC_2.3) [2] 1951 1952 Referenced Specification(s) 1953 1954 [1]. ISO POSIX (2003) 1955 1956 [2]. this specification 1957 1958 [3]. SUSv2 1959 1960 An LSB conforming implementation shall provide the 1961 architecture specific deprecated functions for System Database 1962 Interface specified in Table 1-28, with the full functionality 1963 as described in the referenced underlying specification. 1964 1965 Note: These interfaces are deprecated, and applications 1966 should avoid using them. These interfaces may be withdrawn 1967 in future releases of this specification. 1968 1969 Table 1-28. libc - System Database Interface Deprecated 1970 Function Interfaces 1971 endnetent(GLIBC_2.3) [1] getnetbyaddr(GLIBC_2.3) [1] 1972 setnetent(GLIBC_2.3) [1] 1973 1974 Referenced Specification(s) 1975 1976 [1]. ISO POSIX (2003) 1977 _________________________________________________________ 1978 1979 1.2.15. Language Support 1980 _________________________________________________________ 1981 1982 1.2.15.1. Interfaces for Language Support 1983 1984 An LSB conforming implementation shall provide the 1985 architecture specific functions for Language Support specified 1986 in Table 1-29, with the full functionality as described in the 1987 referenced underlying specification. 1988 1989 Table 1-29. libc - Language Support Function Interfaces 1990 __libc_start_main(GLIBC_2.3) [1] 1991 1992 Referenced Specification(s) 1993 1994 [1]. this specification 1995 _________________________________________________________ 1996 1997 1.2.16. Large File Support 1998 _________________________________________________________ 1999 2000 1.2.16.1. Interfaces for Large File Support 2001 2002 An LSB conforming implementation shall provide the 2003 architecture specific functions for Large File Support 2004 specified in Table 1-30, with the full functionality as 2005 described in the referenced underlying specification. 2006 2007 Table 1-30. libc - Large File Support Function Interfaces 2008 __fxstat64(GLIBC_2.3) [1] fopen64(GLIBC_2.3) [2] 2009 ftello64(GLIBC_2.3) [2] lseek64(GLIBC_2.3) [2] 2010 readdir64(GLIBC_2.3) [2] 2011 __lxstat64(GLIBC_2.3) [1] freopen64(GLIBC_2.3) [2] 2012 ftruncate64(GLIBC_2.3) [2] mkstemp64(GLIBC_2.3) [2] 2013 statvfs64(GLIBC_2.3) [2] 2014 __xstat64(GLIBC_2.3) [1] fseeko64(GLIBC_2.3) [2] 2015 ftw64(GLIBC_2.3) [2] mmap64(GLIBC_2.3) [2] 2016 tmpfile64(GLIBC_2.3) [2] 2017 creat64(GLIBC_2.3) [2] fsetpos64(GLIBC_2.3) [2] 2018 getrlimit64(GLIBC_2.3) [2] nftw64(GLIBC_2.3) [2] 2019 truncate64(GLIBC_2.3) [2] 2020 fgetpos64(GLIBC_2.3) [2] fstatvfs64(GLIBC_2.3) [2] 2021 lockf64(GLIBC_2.3) [2] open64(GLIBC_2.3) [2] 2022 2023 Referenced Specification(s) 2024 2025 [1]. this specification 2026 2027 [2]. Large File Support 2028 _________________________________________________________ 2029 2030 1.2.17. Standard Library 2031 _________________________________________________________ 2032 2033 1.2.17.1. Interfaces for Standard Library 2034 2035 An LSB conforming implementation shall provide the 2036 architecture specific functions for Standard Library specified 2037 in Table 1-31, with the full functionality as described in the 2038 referenced underlying specification. 2039 2040 Table 1-31. libc - Standard Library Function Interfaces 2041 _Exit(GLIBC_2.3) [1] dirname(GLIBC_2.3) [1] glob(GLIBC_2.3) 2042 [1] lsearch(GLIBC_2.3) [1] srandom(GLIBC_2.3) [1] 2043 __assert_fail(GLIBC_2.3) [2] div(GLIBC_2.3) [1] 2044 glob64(GLIBC_2.3) [2] makecontext(GLIBC_2.3) [1] 2045 strtod(GLIBC_2.3) [1] 2046 __cxa_atexit(GLIBC_2.3) [2] drand48(GLIBC_2.3) [1] 2047 globfree(GLIBC_2.3) [1] malloc(GLIBC_2.3) [1] 2048 strtol(GLIBC_2.3) [1] 2049 __errno_location(GLIBC_2.3) [2] ecvt(GLIBC_2.3) [1] 2050 globfree64(GLIBC_2.3) [2] memmem(GLIBC_2.3) [2] 2051 strtoul(GLIBC_2.3) [1] 2052 __fpending(GLIBC_2.3) [2] erand48(GLIBC_2.3) [1] 2053 grantpt(GLIBC_2.3) [1] mkstemp(GLIBC_2.3) [1] 2054 swapcontext(GLIBC_2.3) [1] 2055 __getpagesize(GLIBC_2.3) [2] err(GLIBC_2.3) [2] 2056 hcreate(GLIBC_2.3) [1] mktemp(GLIBC_2.3) [1] syslog(GLIBC_2.3) 2057 [1] 2058 __isinf(GLIBC_2.3) [2] error(GLIBC_2.3) [2] 2059 hdestroy(GLIBC_2.3) [1] mrand48(GLIBC_2.3) [1] 2060 system(GLIBC_2.3) [2] 2061 __isinff(GLIBC_2.3) [2] errx(GLIBC_2.3) [2] hsearch(GLIBC_2.3) 2062 [1] nftw(GLIBC_2.3) [1] tdelete(GLIBC_2.3) [1] 2063 __isinfl(GLIBC_2.3) [2] fcvt(GLIBC_2.3) [1] htonl(GLIBC_2.3) 2064 [1] nrand48(GLIBC_2.3) [1] tfind(GLIBC_2.3) [1] 2065 __isnan(GLIBC_2.3) [2] fmtmsg(GLIBC_2.3) [1] htons(GLIBC_2.3) 2066 [1] ntohl(GLIBC_2.3) [1] tmpfile(GLIBC_2.3) [1] 2067 __isnanf(GLIBC_2.3) [2] fnmatch(GLIBC_2.3) [1] 2068 imaxabs(GLIBC_2.3) [1] ntohs(GLIBC_2.3) [1] tmpnam(GLIBC_2.3) 2069 [1] 2070 __isnanl(GLIBC_2.3) [2] fpathconf(GLIBC_2.3) [1] 2071 imaxdiv(GLIBC_2.3) [1] openlog(GLIBC_2.3) [1] 2072 tsearch(GLIBC_2.3) [1] 2073 __sysconf(GLIBC_2.3) [2] free(GLIBC_2.3) [1] 2074 inet_addr(GLIBC_2.3) [1] perror(GLIBC_2.3) [1] 2075 ttyname(GLIBC_2.3) [1] 2076 _exit(GLIBC_2.3) [1] freeaddrinfo(GLIBC_2.3) [1] 2077 inet_ntoa(GLIBC_2.3) [1] posix_memalign(GLIBC_2.3) [1] 2078 ttyname_r(GLIBC_2.3) [1] 2079 _longjmp(GLIBC_2.3) [1] ftrylockfile(GLIBC_2.3) [1] 2080 inet_ntop(GLIBC_2.3) [1] ptsname(GLIBC_2.3) [1] 2081 twalk(GLIBC_2.3) [1] 2082 _setjmp(GLIBC_2.3) [1] ftw(GLIBC_2.3) [1] inet_pton(GLIBC_2.3) 2083 [1] putenv(GLIBC_2.3) [1] unlockpt(GLIBC_2.3) [1] 2084 a64l(GLIBC_2.3) [1] funlockfile(GLIBC_2.3) [1] 2085 initstate(GLIBC_2.3) [1] qsort(GLIBC_2.3) [1] 2086 unsetenv(GLIBC_2.3) [1] 2087 abort(GLIBC_2.3) [1] gai_strerror(GLIBC_2.3) [1] 2088 insque(GLIBC_2.3) [1] rand(GLIBC_2.3) [1] usleep(GLIBC_2.3) 2089 [1] 2090 abs(GLIBC_2.3) [1] gcvt(GLIBC_2.3) [1] isatty(GLIBC_2.3) [1] 2091 rand_r(GLIBC_2.3) [1] verrx(GLIBC_2.3) [2] 2092 atof(GLIBC_2.3) [1] getaddrinfo(GLIBC_2.3) [1] 2093 isblank(GLIBC_2.3) [1] random(GLIBC_2.3) [1] 2094 vfscanf(GLIBC_2.3) [1] 2095 atoi(GLIBC_2.3) [1] getcwd(GLIBC_2.3) [1] jrand48(GLIBC_2.3) 2096 [1] realloc(GLIBC_2.3) [1] vscanf(GLIBC_2.3) [1] 2097 atol(GLIBC_2.3) [1] getdate(GLIBC_2.3) [1] l64a(GLIBC_2.3) [1] 2098 realpath(GLIBC_2.3) [1] vsscanf(GLIBC_2.3) [1] 2099 atoll(GLIBC_2.3) [1] getenv(GLIBC_2.3) [1] labs(GLIBC_2.3) [1] 2100 remque(GLIBC_2.3) [1] vsyslog(GLIBC_2.3) [2] 2101 basename(GLIBC_2.3) [1] getlogin(GLIBC_2.3) [1] 2102 lcong48(GLIBC_2.3) [1] seed48(GLIBC_2.3) [1] warn(GLIBC_2.3) 2103 [2] 2104 bsearch(GLIBC_2.3) [1] getnameinfo(GLIBC_2.3) [1] 2105 ldiv(GLIBC_2.3) [1] setenv(GLIBC_2.3) [1] warnx(GLIBC_2.3) [2] 2106 calloc(GLIBC_2.3) [1] getopt(GLIBC_2.3) [2] lfind(GLIBC_2.3) 2107 [1] sethostname(GLIBC_2.3) [2] wordexp(GLIBC_2.3) [1] 2108 closelog(GLIBC_2.3) [1] getopt_long(GLIBC_2.3) [2] 2109 llabs(GLIBC_2.3) [1] setlogmask(GLIBC_2.3) [1] 2110 wordfree(GLIBC_2.3) [1] 2111 confstr(GLIBC_2.3) [1] getopt_long_only(GLIBC_2.3) [2] 2112 lldiv(GLIBC_2.3) [1] setstate(GLIBC_2.3) [1] 2113 cuserid(GLIBC_2.3) [3] getsubopt(GLIBC_2.3) [1] 2114 longjmp(GLIBC_2.3) [1] srand(GLIBC_2.3) [1] 2115 daemon(GLIBC_2.3) [2] gettimeofday(GLIBC_2.3) [1] 2116 lrand48(GLIBC_2.3) [1] srand48(GLIBC_2.3) [1] 2117 2118 Referenced Specification(s) 2119 2120 [1]. ISO POSIX (2003) 2121 2122 [2]. this specification 2123 2124 [3]. SUSv2 2125 2126 An LSB conforming implementation shall provide the 2127 architecture specific deprecated functions for Standard 2128 Library specified in Table 1-32, with the full functionality 2129 as described in the referenced underlying specification. 2130 2131 Note: These interfaces are deprecated, and applications 2132 should avoid using them. These interfaces may be withdrawn 2133 in future releases of this specification. 2134 2135 Table 1-32. libc - Standard Library Deprecated Function 2136 Interfaces 2137 random_r(GLIBC_2.3) [1] sethostid(GLIBC_2.3) [1] 2138 2139 Referenced Specification(s) 2140 2141 [1]. this specification 2142 2143 An LSB conforming implementation shall provide the 2144 architecture specific data interfaces for Standard Library 2145 specified in Table 1-33, with the full functionality as 2146 described in the referenced underlying specification. 2147 2148 Table 1-33. libc - Standard Library Data Interfaces 2149 __environ(GLIBC_2.3) [1] _sys_errlist(GLIBC_2.3) [1] 2150 getdate_err(GLIBC_2.3) [2] opterr(GLIBC_2.3) [1] 2151 optopt(GLIBC_2.3) [1] 2152 _environ(GLIBC_2.3) [1] environ(GLIBC_2.3) [2] 2153 optarg(GLIBC_2.3) [2] optind(GLIBC_2.3) [1] 2154 2155 Referenced Specification(s) 2156 2157 [1]. this specification 2158 2159 [2]. ISO POSIX (2003) 2160 _________________________________________________________ 2161 2162 1.3. Data Definitions for libc 2163 2164 This section defines global identifiers and their values that 2165 are associated with interfaces contained in libc. These 2166 definitions are organized into groups that correspond to 2167 system headers. This convention is used as a convenience for 2168 the reader, and does not imply the existence of these headers, 2169 or their content. 2170 2171 These definitions are intended to supplement those provided in 2172 the referenced underlying specifications. 2173 2174 This specification uses ISO/IEC 9899 C Language as the 2175 reference programming language, and data definitions are 2176 specified in ISO C format. The C language is used here as a 2177 convenient notation. Using a C language description of these 2178 data objects does not preclude their use by other programming 2179 languages. 2180 _________________________________________________________ 2181 2182 1.3.1. errno.h 2183 2184 #define EDEADLOCK 58 2185 _________________________________________________________ 2186 2187 1.3.2. fcntl.h 2188 2189 #define F_GETLK64 12 2190 #define F_SETLK64 13 2191 #define F_SETLKW64 14 2192 _________________________________________________________ 2193 2194 1.3.3. inttypes.h 2195 2196 typedef long intmax_t; 2197 typedef unsigned long uintmax_t; 2198 typedef unsigned long uintptr_t; 2199 typedef unsigned long uint64_t; 2200 _________________________________________________________ 2201 2202 1.3.4. limits.h 2203 2204 #define ULONG_MAX 0xFFFFFFFFFFFFFFFFUL 2205 #define LONG_MAX 9223372036854775807L 2206 2207 #define CHAR_MIN 0 2208 #define CHAR_MAX 255 2209 _________________________________________________________ 2210 2211 1.3.5. setjmp.h 2212 2213 typedef long __jmp_buf[40]; 2214 _________________________________________________________ 2215 2216 1.3.6. signal.h 2217 2218 struct pt_regs 2219 { 2220 unsigned long gpr[32]; 2221 unsigned long nip; 2222 unsigned long msr; 2223 unsigned long orig_gpr3; 2224 unsigned long ctr; 2225 unsigned long link; 2226 unsigned long xer; 2227 unsigned long ccr; 2228 unsigned long softe; 2229 unsigned long trap; 2230 unsigned long dar; 2231 unsigned long dsisr; 2232 unsigned long result; 2233 } 2234 ; 2235 2236 #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int))-4) 2237 2238 #define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int))-4) 2239 2240 struct sigaction 2241 { 2242 union 2243 { 2244 sighandler_t _sa_handler; 2245 void (*_sa_sigaction) (int, siginfo_t *, void *); 2246 } 2247 __sigaction_handler; 2248 sigset_t sa_mask; 2249 int sa_flags; 2250 void (*sa_restorer) (void); 2251 } 2252 ; 2253 #define MINSIGSTKSZ 2048 2254 #define SIGSTKSZ 8192 2255 2256 struct sigcontext 2257 { 2258 unsigned long _unused[4]; 2259 int signal; 2260 unsigned long handler; 2261 unsigned long oldmask; 2262 struct pt_regs *regs; 2263 unsigned long gp_regs[48]; 2264 double fp_regs[33]; 2265 } 2266 ; 2267 _________________________________________________________ 2268 2269 1.3.7. stddef.h 2270 2271 typedef unsigned long size_t; 2272 typedef long ptrdiff_t; 2273 _________________________________________________________ 2274 2275 1.3.8. stdio.h 2276 2277 #define __IO_FILE_SIZE 216 2278 _________________________________________________________ 2279 2280 1.3.9. sys/ioctl.h 2281 2282 #define FIONREAD 1074030207 2283 #define TIOCNOTTY 21538 2284 _________________________________________________________ 2285 2286 1.3.10. sys/ipc.h 2287 2288 struct ipc_perm 2289 { 2290 key_t __key; 2291 uid_t uid; 2292 gid_t gid; 2293 uid_t cuid; 2294 gid_t cgid; 2295 mode_t mode; 2296 unsigned int __seq; 2297 unsigned int __pad1; 2298 unsigned long __unused1; 2299 unsigned long __unused2; 2300 } 2301 ; 2302 _________________________________________________________ 2303 2304 1.3.11. sys/mman.h 2305 2306 #define MCL_FUTURE 16384 2307 #define MCL_CURRENT 8192 2308 _________________________________________________________ 2309 2310 1.3.12. sys/msg.h 2311 2312 typedef unsigned long msglen_t; 2313 typedef unsigned long msgqnum_t; 2314 2315 struct msqid_ds 2316 { 2317 struct ipc_perm msg_perm; 2318 time_t msg_stime; 2319 time_t msg_rtime; 2320 time_t msg_ctime; 2321 unsigned long __msg_cbytes; 2322 msgqnum_t msg_qnum; 2323 msglen_t msg_qbytes; 2324 pid_t msg_lspid; 2325 pid_t msg_lrpid; 2326 unsigned long __unused4; 2327 unsigned long __unused5; 2328 } 2329 ; 2330 _________________________________________________________ 2331 2332 1.3.13. sys/sem.h 2333 2334 struct semid_ds 2335 { 2336 struct ipc_perm sem_perm; 2337 time_t sem_otime; 2338 time_t sem_ctime; 2339 unsigned long sem_nsems; 2340 unsigned long __unused3; 2341 unsigned long __unused4; 2342 } 2343 ; 2344 _________________________________________________________ 2345 2346 1.3.14. sys/shm.h 2347 2348 #define SHMLBA (__getpagesize()) 2349 2350 typedef unsigned long shmatt_t; 2351 2352 struct shmid_ds 2353 { 2354 struct ipc_perm shm_perm; 2355 time_t shm_atime; 2356 time_t shm_dtime; 2357 time_t shm_ctime; 2358 size_t shm_segsz; 2359 pid_t shm_cpid; 2360 pid_t shm_lpid; 2361 shmatt_t shm_nattch; 2362 unsigned long __unused5; 2363 unsigned long __unused6; 2364 } 2365 ; 2366 _________________________________________________________ 2367 2368 1.3.15. sys/socket.h 2369 2370 typedef uint64_t __ss_aligntype; 2371 2372 #define SO_RCVLOWAT 16 2373 #define SO_SNDLOWAT 17 2374 #define SO_RCVTIMEO 18 2375 #define SO_SNDTIMEO 19 2376 _________________________________________________________ 2377 2378 1.3.16. sys/stat.h 2379 2380 #define _STAT_VER 1 2381 2382 struct stat 2383 { 2384 dev_t st_dev; 2385 ino_t st_ino; 2386 nlink_t st_nlink; 2387 mode_t st_mode; 2388 uid_t st_uid; 2389 gid_t st_gid; 2390 int __pad2; 2391 dev_t st_rdev; 2392 off_t st_size; 2393 blksize_t st_blksize; 2394 blkcnt_t st_blocks; 2395 struct timespec st_atim; 2396 struct timespec st_mtim; 2397 struct timespec st_ctim; 2398 unsigned long __unused4; 2399 unsigned long __unused5; 2400 unsigned long __unused6; 2401 } 2402 ; 2403 struct stat64 2404 { 2405 dev_t st_dev; 2406 ino64_t st_ino; 2407 nlink_t st_nlink; 2408 mode_t st_mode; 2409 uid_t st_uid; 2410 gid_t st_gid; 2411 int __pad2; 2412 dev_t st_rdev; 2413 off64_t st_size; 2414 blksize_t st_blksize; 2415 blkcnt64_t st_blocks; 2416 struct timespec st_atim; 2417 struct timespec st_mtim; 2418 struct timespec st_ctim; 2419 unsigned long __unused4; 2420 unsigned long __unused5; 2421 unsigned long __unused6; 2422 } 2423 ; 2424 _________________________________________________________ 2425 2426 1.3.17. sys/statvfs.h 2427 2428 struct statvfs 2429 { 2430 unsigned long f_bsize; 2431 unsigned long f_frsize; 2432 fsblkcnt_t f_blocks; 2433 fsblkcnt_t f_bfree; 2434 fsblkcnt_t f_bavail; 2435 fsfilcnt_t f_files; 2436 fsfilcnt_t f_ffree; 2437 fsfilcnt_t f_favail; 2438 unsigned long f_fsid; 2439 unsigned long f_flag; 2440 unsigned long f_namemax; 2441 int __f_spare[6]; 2442 } 2443 ; 2444 struct statvfs64 2445 { 2446 unsigned long f_bsize; 2447 unsigned long f_frsize; 2448 fsblkcnt64_t f_blocks; 2449 fsblkcnt64_t f_bfree; 2450 fsblkcnt64_t f_bavail; 2451 fsfilcnt64_t f_files; 2452 fsfilcnt64_t f_ffree; 2453 fsfilcnt64_t f_favail; 2454 unsigned long f_fsid; 2455 unsigned long f_flag; 2456 unsigned long f_namemax; 2457 int __f_spare[6]; 2458 } 2459 ; 2460 _________________________________________________________ 2461 2462 1.3.18. sys/types.h 2463 2464 typedef long int64_t; 2465 2466 typedef int64_t ssize_t; 2467 2468 #define __FDSET_LONGS 16 2469 _________________________________________________________ 2470 2471 1.3.19. termios.h 2472 2473 #define TAB1 1024 2474 #define CR3 12288 2475 #define CRDLY 12288 2476 #define FF1 16384 2477 #define FFDLY 16384 2478 #define XCASE 16384 2479 #define ONLCR 2 2480 #define TAB2 2048 2481 #define TAB3 3072 2482 #define TABDLY 3072 2483 #define BS1 32768 2484 #define BSDLY 32768 2485 #define OLCUC 4 2486 #define CR1 4096 2487 #define IUCLC 4096 2488 #define VT1 65536 2489 #define VTDLY 65536 2490 #define NLDLY 768 2491 #define CR2 8192 2492 2493 #define VWERASE 10 2494 #define VREPRINT 11 2495 #define VSUSP 12 2496 #define VSTART 13 2497 #define VSTOP 14 2498 #define VDISCARD 16 2499 #define VMIN 5 2500 #define VEOL 6 2501 #define VEOL2 8 2502 #define VSWTC 9 2503 2504 #define IXOFF 1024 2505 #define IXON 512 2506 2507 #define CSTOPB 1024 2508 #define HUPCL 16384 2509 #define CREAD 2048 2510 #define CS6 256 2511 #define CLOCAL 32768 2512 #define PARENB 4096 2513 #define CS7 512 2514 #define VTIME 7 2515 #define CS8 768 2516 #define CSIZE 768 2517 #define PARODD 8192 2518 2519 #define NOFLSH 0x80000000 2520 #define ECHOKE 1 2521 #define IEXTEN 1024 2522 #define ISIG 128 2523 #define ECHONL 16 2524 #define ECHOE 2 2525 #define ICANON 256 2526 #define ECHOPRT 32 2527 #define ECHOK 4 2528 #define TOSTOP 4194304 2529 #define PENDIN 536870912 2530 #define ECHOCTL 64 2531 #define FLUSHO 8388608 2532 _________________________________________________________ 2533 2534 1.3.20. ucontext.h 2535 2536 #define NGREG 48 2537 2538 typedef struct sigcontext mcontext_t; 2539 2540 typedef struct ucontext 2541 { 2542 unsigned long uc_flags; 2543 struct ucontext *uc_link; 2544 stack_t uc_stack; 2545 sigset_t uc_sigmask; 2546 mcontext_t uc_mcontext; 2547 } 2548 ucontext_t; 2549 _________________________________________________________ 2550 2551 1.3.21. unistd.h 2552 2553 typedef long intptr_t; 2554 _________________________________________________________ 2555 2556 1.3.22. utmp.h 2557 2558 struct lastlog 2559 { 2560 int32_t ll_time; 2561 char ll_line[UT_LINESIZE]; 2562 char ll_host[UT_HOSTSIZE]; 2563 } 2564 ; 2565 2566 struct utmp 2567 { 2568 short ut_type; 2569 pid_t ut_pid; 2570 char ut_line[UT_LINESIZE]; 2571 char ut_id[4]; 2572 char ut_user[UT_NAMESIZE]; 2573 char ut_host[UT_HOSTSIZE]; 2574 struct exit_status ut_exit; 2575 int32_t ut_session; 2576 struct 2577 { 2578 int32_t tv_sec; 2579 int32_t tv_usec; 2580 } 2581 ut_tv; 2582 int32_t ut_addr_v6[4]; 2583 char __unused[20]; 2584 } 2585 ; 2586 _________________________________________________________ 2587 2588 1.3.23. utmpx.h 2589 2590 struct utmpx 2591 { 2592 short ut_type; 2593 pid_t ut_pid; 2594 char ut_line[UT_LINESIZE]; 2595 char ut_id[4]; 2596 char ut_user[UT_NAMESIZE]; 2597 char ut_host[UT_HOSTSIZE]; 2598 struct exit_status ut_exit; 2599 int32_t ut_session; 2600 struct 2601 { 2602 int32_t tv_sec; 2603 int32_t tv_usec; 2604 } 2605 ut_tv; 2606 int32_t ut_addr_v6[4]; 2607 char __unused[20]; 2608 } 2609 ; 2610 _________________________________________________________ 2611 2612 1.4. Interfaces for libm 2613 2614 Table 1-34 defines the library name and shared object name for 2615 the libm library 2616 2617 Table 1-34. libm Definition 2618 Library: libm 2619 SONAME: libm.so.6 2620 2621 The behavior of the interfaces in this library is specified by 2622 the following specifications: 2623 2624 ISO C (1999) 2625 this specification 2626 SUSv2 2627 ISO POSIX (2003) 2628 _________________________________________________________ 2629 2630 1.4.1. Math 2631 _________________________________________________________ 2632 2633 1.4.1.1. Interfaces for Math 2634 2635 An LSB conforming implementation shall provide the 2636 architecture specific functions for Math specified in Table 2637 1-35, with the full functionality as described in the 2638 referenced underlying specification. 2639 2640 Table 1-35. libm - Math Function Interfaces 2641 __finite(GLIBC_2.3) [1] ccosl(GLIBC_2.3) [2] exp(GLIBC_2.3) 2642 [2] j1l(GLIBC_2.3) [1] powf(GLIBC_2.3) [2] 2643 __finitef(GLIBC_2.3) [1] ceil(GLIBC_2.3) [2] exp2(GLIBC_2.3) 2644 [2] jn(GLIBC_2.3) [2] powl(GLIBC_2.3) [2] 2645 __finitel(GLIBC_2.3) [1] ceilf(GLIBC_2.3) [2] exp2f(GLIBC_2.3) 2646 [2] jnf(GLIBC_2.3) [1] remainder(GLIBC_2.3) [2] 2647 __fpclassify(GLIBC_2.3) [3] ceill(GLIBC_2.3) [2] 2648 expf(GLIBC_2.3) [2] jnl(GLIBC_2.3) [1] remainderf(GLIBC_2.3) 2649 [2] 2650 __fpclassifyf(GLIBC_2.3) [3] cexp(GLIBC_2.3) [2] 2651 expl(GLIBC_2.3) [2] ldexp(GLIBC_2.3) [2] remainderl(GLIBC_2.3) 2652 [2] 2653 __signbit(GLIBC_2.3) [1] cexpf(GLIBC_2.3) [2] expm1(GLIBC_2.3) 2654 [2] ldexpf(GLIBC_2.3) [2] remquo(GLIBC_2.3) [2] 2655 __signbitf(GLIBC_2.3) [1] cexpl(GLIBC_2.3) [2] 2656 expm1f(GLIBC_2.3) [2] ldexpl(GLIBC_2.3) [2] remquof(GLIBC_2.3) 2657 [2] 2658 acos(GLIBC_2.3) [2] cimag(GLIBC_2.3) [2] expm1l(GLIBC_2.3) [2] 2659 lgamma(GLIBC_2.3) [2] remquol(GLIBC_2.3) [2] 2660 acosf(GLIBC_2.3) [2] cimagf(GLIBC_2.3) [2] fabs(GLIBC_2.3) [2] 2661 lgamma_r(GLIBC_2.3) [1] rint(GLIBC_2.3) [2] 2662 acosh(GLIBC_2.3) [2] cimagl(GLIBC_2.3) [2] fabsf(GLIBC_2.3) 2663 [2] lgammaf(GLIBC_2.3) [2] rintf(GLIBC_2.3) [2] 2664 acoshf(GLIBC_2.3) [2] clog(GLIBC_2.3) [2] fabsl(GLIBC_2.3) [2] 2665 lgammaf_r(GLIBC_2.3) [1] rintl(GLIBC_2.3) [2] 2666 acoshl(GLIBC_2.3) [2] clog10(GLIBC_2.3) [1] fdim(GLIBC_2.3) 2667 [2] lgammal(GLIBC_2.3) [2] round(GLIBC_2.3) [2] 2668 acosl(GLIBC_2.3) [2] clog10f(GLIBC_2.3) [1] fdimf(GLIBC_2.3) 2669 [2] lgammal_r(GLIBC_2.3) [1] roundf(GLIBC_2.3) [2] 2670 asin(GLIBC_2.3) [2] clog10l(GLIBC_2.3) [1] fdiml(GLIBC_2.3) 2671 [2] llrint(GLIBC_2.3) [2] roundl(GLIBC_2.3) [2] 2672 asinf(GLIBC_2.3) [2] clogf(GLIBC_2.3) [2] 2673 feclearexcept(GLIBC_2.3) [2] llrintf(GLIBC_2.3) [2] 2674 scalb(GLIBC_2.3) [2] 2675 asinh(GLIBC_2.3) [2] clogl(GLIBC_2.3) [2] fegetenv(GLIBC_2.3) 2676 [2] llrintl(GLIBC_2.3) [2] scalbf(GLIBC_2.3) [1] 2677 asinhf(GLIBC_2.3) [2] conj(GLIBC_2.3) [2] 2678 fegetexceptflag(GLIBC_2.3) [2] llround(GLIBC_2.3) [2] 2679 scalbl(GLIBC_2.3) [1] 2680 asinhl(GLIBC_2.3) [2] conjf(GLIBC_2.3) [2] 2681 fegetround(GLIBC_2.3) [2] llroundf(GLIBC_2.3) [2] 2682 scalbln(GLIBC_2.3) [2] 2683 asinl(GLIBC_2.3) [2] conjl(GLIBC_2.3) [2] 2684 feholdexcept(GLIBC_2.3) [2] llroundl(GLIBC_2.3) [2] 2685 scalblnf(GLIBC_2.3) [2] 2686 atan(GLIBC_2.3) [2] copysign(GLIBC_2.3) [2] 2687 feraiseexcept(GLIBC_2.3) [2] log(GLIBC_2.3) [2] 2688 scalblnl(GLIBC_2.3) [2] 2689 atan2(GLIBC_2.3) [2] copysignf(GLIBC_2.3) [2] 2690 fesetenv(GLIBC_2.3) [2] log10(GLIBC_2.3) [2] scalbn(GLIBC_2.3) 2691 [2] 2692 atan2f(GLIBC_2.3) [2] copysignl(GLIBC_2.3) [2] 2693 fesetexceptflag(GLIBC_2.3) [2] log10f(GLIBC_2.3) [2] 2694 scalbnf(GLIBC_2.3) [2] 2695 atan2l(GLIBC_2.3) [2] cos(GLIBC_2.3) [2] fesetround(GLIBC_2.3) 2696 [2] log10l(GLIBC_2.3) [2] scalbnl(GLIBC_2.3) [2] 2697 atanf(GLIBC_2.3) [2] cosf(GLIBC_2.3) [2] 2698 fetestexcept(GLIBC_2.3) [2] log1p(GLIBC_2.3) [2] 2699 significand(GLIBC_2.3) [1] 2700 atanh(GLIBC_2.3) [2] cosh(GLIBC_2.3) [2] 2701 feupdateenv(GLIBC_2.3) [2] log1pf(GLIBC_2.3) [2] 2702 significandf(GLIBC_2.3) [1] 2703 atanhf(GLIBC_2.3) [2] coshf(GLIBC_2.3) [2] finite(GLIBC_2.3) 2704 [4] log1pl(GLIBC_2.3) [2] significandl(GLIBC_2.3) [1] 2705 atanhl(GLIBC_2.3) [2] coshl(GLIBC_2.3) [2] finitef(GLIBC_2.3) 2706 [1] log2(GLIBC_2.3) [2] sin(GLIBC_2.3) [2] 2707 atanl(GLIBC_2.3) [2] cosl(GLIBC_2.3) [2] finitel(GLIBC_2.3) 2708 [1] log2f(GLIBC_2.3) [2] sincos(GLIBC_2.3) [1] 2709 cabs(GLIBC_2.3) [2] cpow(GLIBC_2.3) [2] floor(GLIBC_2.3) [2] 2710 log2l(GLIBC_2.3) [2] sincosf(GLIBC_2.3) [1] 2711 cabsf(GLIBC_2.3) [2] cpowf(GLIBC_2.3) [2] floorf(GLIBC_2.3) 2712 [2] logb(GLIBC_2.3) [2] sincosl(GLIBC_2.3) [1] 2713 cabsl(GLIBC_2.3) [2] cpowl(GLIBC_2.3) [2] floorl(GLIBC_2.3) 2714 [2] logbf(GLIBC_2.3) [2] sinf(GLIBC_2.3) [2] 2715 cacos(GLIBC_2.3) [2] cproj(GLIBC_2.3) [2] fma(GLIBC_2.3) [2] 2716 logbl(GLIBC_2.3) [2] sinh(GLIBC_2.3) [2] 2717 cacosf(GLIBC_2.3) [2] cprojf(GLIBC_2.3) [2] fmaf(GLIBC_2.3) 2718 [2] logf(GLIBC_2.3) [2] sinhf(GLIBC_2.3) [2] 2719 cacosh(GLIBC_2.3) [2] cprojl(GLIBC_2.3) [2] fmal(GLIBC_2.3) 2720 [2] logl(GLIBC_2.3) [2] sinhl(GLIBC_2.3) [2] 2721 cacoshf(GLIBC_2.3) [2] creal(GLIBC_2.3) [2] fmax(GLIBC_2.3) 2722 [2] lrint(GLIBC_2.3) [2] sinl(GLIBC_2.3) [2] 2723 cacoshl(GLIBC_2.3) [2] crealf(GLIBC_2.3) [2] fmaxf(GLIBC_2.3) 2724 [2] lrintf(GLIBC_2.3) [2] sqrt(GLIBC_2.3) [2] 2725 cacosl(GLIBC_2.3) [2] creall(GLIBC_2.3) [2] fmaxl(GLIBC_2.3) 2726 [2] lrintl(GLIBC_2.3) [2] sqrtf(GLIBC_2.3) [2] 2727 carg(GLIBC_2.3) [2] csin(GLIBC_2.3) [2] fmin(GLIBC_2.3) [2] 2728 lround(GLIBC_2.3) [2] sqrtl(GLIBC_2.3) [2] 2729 cargf(GLIBC_2.3) [2] csinf(GLIBC_2.3) [2] fminf(GLIBC_2.3) [2] 2730 lroundf(GLIBC_2.3) [2] tan(GLIBC_2.3) [2] 2731 cargl(GLIBC_2.3) [2] csinh(GLIBC_2.3) [2] fminl(GLIBC_2.3) [2] 2732 lroundl(GLIBC_2.3) [2] tanf(GLIBC_2.3) [2] 2733 casin(GLIBC_2.3) [2] csinhf(GLIBC_2.3) [2] fmod(GLIBC_2.3) [2] 2734 matherr(GLIBC_2.3) [1] tanh(GLIBC_2.3) [2] 2735 casinf(GLIBC_2.3) [2] csinhl(GLIBC_2.3) [2] fmodf(GLIBC_2.3) 2736 [2] modf(GLIBC_2.3) [2] tanhf(GLIBC_2.3) [2] 2737 casinh(GLIBC_2.3) [2] csinl(GLIBC_2.3) [2] fmodl(GLIBC_2.3) 2738 [2] modff(GLIBC_2.3) [2] tanhl(GLIBC_2.3) [2] 2739 casinhf(GLIBC_2.3) [2] csqrt(GLIBC_2.3) [2] frexp(GLIBC_2.3) 2740 [2] modfl(GLIBC_2.3) [2] tanl(GLIBC_2.3) [2] 2741 casinhl(GLIBC_2.3) [2] csqrtf(GLIBC_2.3) [2] frexpf(GLIBC_2.3) 2742 [2] nan(GLIBC_2.3) [2] tgamma(GLIBC_2.3) [2] 2743 casinl(GLIBC_2.3) [2] csqrtl(GLIBC_2.3) [2] frexpl(GLIBC_2.3) 2744 [2] nanf(GLIBC_2.3) [2] tgammaf(GLIBC_2.3) [2] 2745 catan(GLIBC_2.3) [2] ctan(GLIBC_2.3) [2] gamma(GLIBC_2.3) [4] 2746 nanl(GLIBC_2.3) [2] tgammal(GLIBC_2.3) [2] 2747 catanf(GLIBC_2.3) [2] ctanf(GLIBC_2.3) [2] gammaf(GLIBC_2.3) 2748 [1] nearbyint(GLIBC_2.3) [2] trunc(GLIBC_2.3) [2] 2749 catanh(GLIBC_2.3) [2] ctanh(GLIBC_2.3) [2] gammal(GLIBC_2.3) 2750 [1] nearbyintf(GLIBC_2.3) [2] truncf(GLIBC_2.3) [2] 2751 catanhf(GLIBC_2.3) [2] ctanhf(GLIBC_2.3) [2] hypot(GLIBC_2.3) 2752 [2] nearbyintl(GLIBC_2.3) [2] truncl(GLIBC_2.3) [2] 2753 catanhl(GLIBC_2.3) [2] ctanhl(GLIBC_2.3) [2] hypotf(GLIBC_2.3) 2754 [2] nextafter(GLIBC_2.3) [2] y0(GLIBC_2.3) [2] 2755 catanl(GLIBC_2.3) [2] ctanl(GLIBC_2.3) [2] hypotl(GLIBC_2.3) 2756 [2] nextafterf(GLIBC_2.3) [2] y0f(GLIBC_2.3) [1] 2757 cbrt(GLIBC_2.3) [2] dremf(GLIBC_2.3) [1] ilogb(GLIBC_2.3) [2] 2758 nextafterl(GLIBC_2.3) [2] y0l(GLIBC_2.3) [1] 2759 cbrtf(GLIBC_2.3) [2] dreml(GLIBC_2.3) [1] ilogbf(GLIBC_2.3) 2760 [2] nexttoward(GLIBC_2.3) [2] y1(GLIBC_2.3) [2] 2761 cbrtl(GLIBC_2.3) [2] erf(GLIBC_2.3) [2] ilogbl(GLIBC_2.3) [2] 2762 nexttowardf(GLIBC_2.3) [2] y1f(GLIBC_2.3) [1] 2763 ccos(GLIBC_2.3) [2] erfc(GLIBC_2.3) [2] j0(GLIBC_2.3) [2] 2764 nexttowardl(GLIBC_2.3) [2] y1l(GLIBC_2.3) [1] 2765 ccosf(GLIBC_2.3) [2] erfcf(GLIBC_2.3) [2] j0f(GLIBC_2.3) [1] 2766 pow(GLIBC_2.3) [2] yn(GLIBC_2.3) [2] 2767 ccosh(GLIBC_2.3) [2] erfcl(GLIBC_2.3) [2] j0l(GLIBC_2.3) [1] 2768 pow10(GLIBC_2.3) [1] ynf(GLIBC_2.3) [1] 2769 ccoshf(GLIBC_2.3) [2] erff(GLIBC_2.3) [2] j1(GLIBC_2.3) [2] 2770 pow10f(GLIBC_2.3) [1] ynl(GLIBC_2.3) [1] 2771 ccoshl(GLIBC_2.3) [2] erfl(GLIBC_2.3) [2] j1f(GLIBC_2.3) [1] 2772 pow10l(GLIBC_2.3) [1] 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.3) [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.3) [1] pthread_cancel(GLIBC_2.3) 2875 [2] pthread_join(GLIBC_2.3) [2] pthread_rwlock_init(GLIBC_2.3) 2876 [2] pthread_sigmask(GLIBC_2.3) [2] 2877 _pthread_cleanup_push(GLIBC_2.3) [1] 2878 pthread_cond_broadcast(GLIBC_2.3.2) [2] 2879 pthread_key_create(GLIBC_2.3) [2] 2880 pthread_rwlock_rdlock(GLIBC_2.3) [2] 2881 pthread_testcancel(GLIBC_2.3) [2] 2882 pread(GLIBC_2.3) [2] pthread_cond_destroy(GLIBC_2.3.2) [2] 2883 pthread_key_delete(GLIBC_2.3) [2] 2884 pthread_rwlock_timedrdlock(GLIBC_2.3) [2] pwrite(GLIBC_2.3) 2885 [2] 2886 pread64(GLIBC_2.3) [3] pthread_cond_init(GLIBC_2.3.2) [2] 2887 pthread_kill(GLIBC_2.3) [2] 2888 pthread_rwlock_timedwrlock(GLIBC_2.3) [2] pwrite64(GLIBC_2.3) 2889 [3] 2890 pthread_attr_destroy(GLIBC_2.3) [2] 2891 pthread_cond_signal(GLIBC_2.3.2) [2] 2892 pthread_mutex_destroy(GLIBC_2.3) [2] 2893 pthread_rwlock_tryrdlock(GLIBC_2.3) [2] sem_close(GLIBC_2.3) 2894 [2] 2895 pthread_attr_getdetachstate(GLIBC_2.3) [2] 2896 pthread_cond_timedwait(GLIBC_2.3.2) [2] 2897 pthread_mutex_init(GLIBC_2.3) [2] 2898 pthread_rwlock_trywrlock(GLIBC_2.3) [2] sem_destroy(GLIBC_2.3) 2899 [2] 2900 pthread_attr_getguardsize(GLIBC_2.3) [2] 2901 pthread_cond_wait(GLIBC_2.3.2) [2] 2902 pthread_mutex_lock(GLIBC_2.3) [2] 2903 pthread_rwlock_unlock(GLIBC_2.3) [2] sem_getvalue(GLIBC_2.3) 2904 [2] 2905 pthread_attr_getschedparam(GLIBC_2.3) [2] 2906 pthread_condattr_destroy(GLIBC_2.3) [2] 2907 pthread_mutex_trylock(GLIBC_2.3) [2] 2908 pthread_rwlock_wrlock(GLIBC_2.3) [2] sem_init(GLIBC_2.3) [2] 2909 pthread_attr_getstack(GLIBC_2.3) [2] 2910 pthread_condattr_getpshared(GLIBC_2.3) [2] 2911 pthread_mutex_unlock(GLIBC_2.3) [2] 2912 pthread_rwlockattr_destroy(GLIBC_2.3) [2] sem_open(GLIBC_2.3) 2913 [2] 2914 pthread_attr_getstackaddr(GLIBC_2.3) [2] 2915 pthread_condattr_init(GLIBC_2.3) [2] 2916 pthread_mutexattr_destroy(GLIBC_2.3) [2] 2917 pthread_rwlockattr_getpshared(GLIBC_2.3) [2] 2918 sem_post(GLIBC_2.3) [2] 2919 pthread_attr_getstacksize(GLIBC_2.3) [2] 2920 pthread_condattr_setpshared(GLIBC_2.3) [2] 2921 pthread_mutexattr_getpshared(GLIBC_2.3) [2] 2922 pthread_rwlockattr_init(GLIBC_2.3) [2] 2923 sem_timedwait(GLIBC_2.3) [2] 2924 pthread_attr_init(GLIBC_2.3) [2] pthread_create(GLIBC_2.3) [2] 2925 pthread_mutexattr_gettype(GLIBC_2.3) [2] 2926 pthread_rwlockattr_setpshared(GLIBC_2.3) [2] 2927 sem_trywait(GLIBC_2.3) [2] 2928 pthread_attr_setdetachstate(GLIBC_2.3) [2] 2929 pthread_detach(GLIBC_2.3) [2] 2930 pthread_mutexattr_init(GLIBC_2.3) [2] pthread_self(GLIBC_2.3) 2931 [2] sem_unlink(GLIBC_2.3) [2] 2932 pthread_attr_setguardsize(GLIBC_2.3) [2] 2933 pthread_equal(GLIBC_2.3) [2] 2934 pthread_mutexattr_setpshared(GLIBC_2.3) [2] 2935 pthread_setcancelstate(GLIBC_2.3) [2] sem_wait(GLIBC_2.3) [2] 2936 pthread_attr_setschedparam(GLIBC_2.3) [2] 2937 pthread_exit(GLIBC_2.3) [2] 2938 pthread_mutexattr_settype(GLIBC_2.3) [2] 2939 pthread_setcanceltype(GLIBC_2.3) [2] 2940 pthread_attr_setstackaddr(GLIBC_2.3) [2] 2941 pthread_getconcurrency(GLIBC_2.3) [2] pthread_once(GLIBC_2.3) 2942 [2] pthread_setconcurrency(GLIBC_2.3) [2] 2943 pthread_attr_setstacksize(GLIBC_2.3) [2] 2944 pthread_getspecific(GLIBC_2.3) [2] 2945 pthread_rwlock_destroy(GLIBC_2.3) [2] 2946 pthread_setspecific(GLIBC_2.3) [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.3) [1] dlclose(GLIBC_2.3) [2] 3353 dlerror(GLIBC_2.3) [2] dlopen(GLIBC_2.3) [1] dlsym(GLIBC_2.3) 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.3) [1] encrypt(GLIBC_2.3) [1] setkey(GLIBC_2.3) 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.3)[1] login_tty(GLIBC_2.3)[1] 3501 logwtmp(GLIBC_2.3)[1] 3502 login(GLIBC_2.3)[1] logout(GLIBC_2.3)[1] openpty(GLIBC_2.3)[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-ppc64 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-ppc64. 3556 _________________________________________________________ 3557 3558 1.2. Package Architecture Considerations 3559 3560 All packages must specify an architecture of ppc64. A LSB 3561 runtime environment must accept an architecture of ppc64 even 3562 if the native architecture is different. 3563 3564 The archnum value in the Lead Section shall be 0x0010. 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