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