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