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