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