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