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