1 Linux Standard Base Specification 1.2 2 3 Copyright © 2000, 2001, 2002 by Free Standards Group 4 5 Permission is granted to copy, distribute and/or modify this document under the 6 terms of the GNU Free Documentation License, Version 1.1; with no Invariant 7 Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of 8 the license is included in the section entitled "GNU Free Documentation 9 License". 10 11 Portions of the text were taken from other copyrighted documents in accordance 12 with the respective licenses of those documents. 13 14 Linux is a trademark of Linus Torvalds. 15 16 UNIX a registered trademark of the Open Group in the United States and other 17 countries. 18 19 Intel386 and Itanium are trademarks of Intel Corporation. 20 21 OpenGL is a registered trademark of Silicon Graphics, Inc. 22 23 ------------------------------------------------------------------------------- 24 25 Table of Contents 26 I. Introduction 27 28 1. Introduction 29 30 Introduction 31 Purpose 32 Related Standards 33 Relevant Libraries 34 How to Use this Standard 35 Definitions 36 Terminology 37 38 II. Object Format 39 40 2. Object Files 41 3. Sections 42 43 Sections Types 44 45 4. Special Sections 46 47 Special Sections 48 49 5. Symbol Mapping 50 51 Symbol Mapping 52 53 6. Symbol Versioning 54 55 Symbol Version Table 56 Version Definitions 57 Version Requirements 58 Startup Sequence 59 Symbol Resolution 60 61 7. ABI note tag 62 63 III. Dynamic Linking 64 65 8. Program Loading and Dynamic Linking 66 9. Dynamic Entries 67 68 Dynamic Entries 69 70 10. Program Interpreter 71 72 73 74 IV. Base Libraries 75 76 11. Libraries 77 78 Interfaces for libc 79 Data Definitions for libc 80 Interfaces Definitions for libc 81 Interfaces for libm 82 Data Definitions for libm 83 Interfaces for libpthread 84 Data Definitions for libpthread 85 Interfaces Definitions for libpthread 86 Interfaces for libdl 87 Data Definitions for libdl 88 Interfaces Definitions for libdl 89 Interfaces for libcrypt 90 Data Definitions for libcrypt 91 92 V. Utility Libraries 93 94 12. Libraries 95 96 Interfaces for libz 97 Data Definitions for libz 98 Interfaces for libncurses 99 Data Definitions for libncurses 100 Interfaces for libutil 101 Data Definitions for libutil 102 Interfaces Definitions for libutil 103 104 VI. Graphic Libraries 105 106 13. Libraries 107 108 Interfaces for libX11 109 Data Definitions for libX11 110 Interfaces for libXext 111 Data Definitions for libXext 112 Interfaces for libSM 113 Data Definitions for libSM 114 Interfaces for libICE 115 Data Definitions for libICE 116 Interfaces for libXt 117 Data Definitions for libXt 118 Interfaces Definitions for libXt 119 Interfaces for libGL 120 Data Definitions for libGL 121 122 VII. Package Format and Installation 123 124 14. Software Installation 125 126 Package Format 127 Package Tools 128 Package Naming 129 Package Dependencies 130 Package Architecture Considerations 131 132 VIII. Commands and Utilities 133 134 15. Command and Utilities 135 136 Command and Utilities 137 Command Behavior 138 139 IX. Standard Shell 140 141 16. Standard Shell 142 143 Introduction 144 Standard Shell Exceptions 145 Standard Shell Rationale 146 147 X. Users & Groups 148 149 17. Users & Groups 150 151 User and Group Database 152 User & Group Names 153 UID Ranges 154 Rationale 155 156 XI. Execution Environment 157 158 18. File System Hierarchy 159 160 /dev 161 162 19. Additional Recommendations 163 164 Minimal granted Directory and File permissions 165 Recommendations for applications on ownership and permissions 166 167 20. Additional Behaviors 168 21. Localization 169 170 XII. System Initialization 171 172 22. System Initialization 173 174 Cron Jobs 175 Init Script Actions 176 Comment conventions for init scripts 177 Installation and removal of init.d files 178 Run Levels 179 Facility names 180 Script names 181 Init script Functions 182 183 A. Alphabetical Listing of Interfaces 184 185 libX11 186 libXt 187 libm 188 libGL 189 libXext 190 libICE 191 libSM 192 libdl 193 libcrypt 194 libz 195 libncurses 196 libutil 197 libc 198 libpthread 199 200 B. GNU Free Documentation License 201 202 PREAMBLE 203 APPLICABILITY AND DEFINITIONS 204 VERBATIM COPYING 205 COPYING IN QUANTITY 206 MODIFICATIONS 207 COMBINING DOCUMENTS 208 COLLECTIONS OF DOCUMENTS 209 AGGREGATION WITH INDEPENDENT WORKS 210 TRANSLATION 211 TERMINATION 212 FUTURE REVISIONS OF THIS LICENSE 213 How to use this License for your documents 214 215 List of Tables 216 1-1. Related Standards 217 1-2. Standard Libraries Names 218 1-3. Standard Library Names defined in the Architecture Specific Supplement 219 3-1. ELF Section Types 220 3-2. Additional Section Types 221 4-1. ELF Special Sections 222 4-2. Additional Special Sections 223 11-1. libc Definition 224 11-2. libc - RPC Function Interfaces 225 11-3. libc - System Calls Function Interfaces 226 11-4. libc - Standard I/O Function Interfaces 227 11-5. libc - Standard I/O Data Interfaces 228 11-6. libc - Signal Handling Function Interfaces 229 11-7. libc - Signal Handling Data Interfaces 230 11-8. libc - Standard Library Function Interfaces 231 11-9. libc - Standard Library Data Interfaces 232 11-10. libc - Localization Functions Function Interfaces 233 11-11. libc - Localization Functions Data Interfaces 234 11-12. libc - Socket Interface Function Interfaces 235 11-13. libc - Wide Characters Function Interfaces 236 11-14. libc - String Functions Function Interfaces 237 11-15. libc - IPC Functions Function Interfaces 238 11-16. libc - Regular Expressions Function Interfaces 239 11-17. libc - Regular Expressions Data Interfaces 240 11-18. libc - Character Type Functions Function Interfaces 241 11-19. libc - Character Type Functions Data Interfaces 242 11-20. libc - Time Manipulation Function Interfaces 243 11-21. libc - Time Manipulation Data Interfaces 244 11-22. libc - Terminal Interface Functions Function Interfaces 245 11-23. libc - System Database Interface Function Interfaces 246 11-24. libc - Language Support Function Interfaces 247 11-25. libc - Large File Support Function Interfaces 248 11-26. libm Definition 249 11-27. libm - Math Function Interfaces 250 11-28. libm - Math Data Interfaces 251 11-29. libpthread Definition 252 11-30. libpthread - Posix Threads Function Interfaces 253 11-31. libdl Definition 254 11-32. libdl - Dynamic Loader Function Interfaces 255 11-33. libcrypt Definition 256 11-34. libcrypt - Encryption Function Interfaces 257 12-1. libz Definition 258 12-2. libz - Compression Library Function Interfaces 259 12-3. libncurses Definition 260 12-4. libncurses - Curses Function Interfaces 261 12-5. libncurses - Curses Data Interfaces 262 12-6. libutil Definition 263 12-7. libutil - Utility Functions Function Interfaces 264 13-1. libX11 Definition 265 13-2. libX11 - X Windows System Interface Function Interfaces 266 13-3. libXext Definition 267 13-4. libXext - X Shape Extension Function Interfaces 268 13-5. libXext - X Display Power Management Signaling Extension Function 269 Interfaces 270 13-6. libXext - X Shared Memory Extensions Function Interfaces 271 13-7. libXext - X Synchronization Extension Function Interfaces 272 13-8. libXext - X Security Extension Function Interfaces 273 13-9. libXext - X Double Buffer Extension Function Interfaces 274 13-10. libSM Definition 275 13-11. libSM - Session Management Functions Function Interfaces 276 13-12. libICE Definition 277 13-13. libICE - ICE Functions Function Interfaces 278 13-14. libXt Definition 279 13-15. libXt - X Toolkit Function Interfaces 280 13-16. libXt - X Toolkit Data Interfaces 281 13-17. libGL Definition 282 13-18. libGL - GL X interface Function Interfaces 283 13-19. libGL - OpenGL Function Interfaces 284 15-1. Commands and Utilities 285 17-1. Required User & Group Names 286 17-2. Optional User & Group Names 287 A-1. libX11 Function Interfaces 288 A-2. libXt Function Interfaces 289 A-3. libXt Data Interfaces 290 A-4. libm Function Interfaces 291 A-5. libm Data Interfaces 292 A-6. libGL Function Interfaces 293 A-7. libXext Function Interfaces 294 A-8. libICE Function Interfaces 295 A-9. libSM Function Interfaces 296 A-10. libdl Function Interfaces 297 A-11. libcrypt Function Interfaces 298 A-12. libz Function Interfaces 299 A-13. libncurses Function Interfaces 300 A-14. libncurses Data Interfaces 301 A-15. libutil Function Interfaces 302 A-16. libc Function Interfaces 303 A-17. libc Data Interfaces 304 A-18. libpthread Function Interfaces 305 306 List of Figures 307 6-1. Version Definition Entries 308 6-2. Version Definition Auxiliary Entries 309 6-3. Version Needed Entries 310 6-4. Version Needed Auxiliary Entries 311 312 I. Introduction 313 314 Table of Contents 315 1. Introduction 316 317 ------------------------------------------------------------------------------- 318 319 Chapter 1. Introduction 320 321 Introduction 322 323 This is version 1.2 of the Linux Standard Base Specification. An implementation 324 of this version of the specification may not claim to be an implementation of 325 the Linux Standard Base unless it has successfully completed the compliance 326 process as defined by the Free Standards Group. 327 328 ------------------------------------------------------------------------------- 329 330 Purpose 331 332 The Linux Standard Base (LSB) defines a system interface for compiled 333 applications and a minimal environment for support of installation scripts. Its 334 purpose is to enable a uniform industry standard environment for high-volume 335 applications conforming to the LSB. 336 337 The LSB defines a binary interface for application programs that are compiled 338 and packaged for LSB-conforming implementations on many different hardware 339 architectures. Since a binary specification must include information specific 340 to the computer processor architecture for which it is intended, it is not 341 possible for a single document to specify the interface for all possible 342 LSB-conforming implementations. Therefore, the LSB is a family of 343 specifications, rather than a single one. 344 345 The LSB is composed of two basic parts: A common specification ("generic LSB" 346 or "gLSB") describing those parts of the interface that remain constant across 347 all implementations of the LSB, and an architecture-specific specification 348 ("archLSB") describing the parts of the interface that vary by processor 349 architecture. Together, the generic LSB and the architecture-specific 350 supplement for a single hardware architecture provide a complete interface 351 specification for compiled application programs on systems that share a common 352 hardware architecture. 353 354 This document is the generic LSB. It must be used in conjunction with an 355 architecture-specific supplement. Whenever a section of this specification must 356 be supplemented by architecture-specific information, this document includes a 357 reference to the architecture supplement. Architecture supplements may also 358 contain additional information that is not referenced here. 359 360 This document should be used in conjunction with the documents it references. 361 This document enumerates the system components it includes, but descriptions of 362 those components may be included entirely or partly in this document, partly in 363 other documents, or entirely in other reference documents. For example, the 364 section that describes system service routines includes a list of the system 365 routines supported in this interface, formal declarations of the data 366 structures they use that are visible to applications, and a pointer to the 367 underlying referenced specification for information about the syntax and 368 semantics of each call. Only those routines not described in standards 369 referenced by this document, or extensions to those standards, are described in 370 the detail. Information referenced in this way is as much a part of this 371 document as is the information explicitly included here. 372 373 ------------------------------------------------------------------------------- 374 375 Related Standards 376 377 The specifications listed below are referenced in whole or in part by the Linux 378 Standard Base. When a specification is referenced in a way that imposes a 379 requirement (for example, "foo must behave as specified in the XyzzySpec"), 380 then the relevant requirements of that specification apply as if they were part 381 of the LSB itself. However, if the LSB refers to a specification without 382 imposing a requirement, then it is merely a reference and does not add 383 additional requirements. The LSB may refer to a portion of a specification (for 384 example, to define a specific function or group of functions); in such cases, 385 only the explicitly referenced portion of the specification applies. 386 387 Table 1-1. Related Standards 388 389 +-----------------------------------------------------------------------------+ 390 |System V Application Binary Interface - DRAFT - |http://www.caldera.com/ | 391 |22 June 2000 |developers/gabi/2000-07-17/ | 392 | |contents.html | 393 |------------------------------------------------+----------------------------| 394 |Filesystem Hierarchy Standard (FHS) 2.2 |http://www.pathname.com/fhs/| 395 |------------------------------------------------+----------------------------| 396 |IEEE Standard for Binary Floating-Point |http://www.ieee.org/ | 397 |Arithmetic | | 398 |------------------------------------------------+----------------------------| 399 |System V Application Binary Interface, Edition |http://www.caldera.com/ | 400 |4.1 |developers/devspecs/ | 401 | |gabi41.pdf | 402 |------------------------------------------------+----------------------------| 403 |ISO/IEC 9899: 1990, Programming Languages --C | | 404 |------------------------------------------------+----------------------------| 405 |ISO/IEC 9899: 1999, Programming Languages --C | | 406 |------------------------------------------------+----------------------------| 407 |Linux Assigned Names And Numbers Authority |http://www.lanana.org/ | 408 |------------------------------------------------+----------------------------| 409 |Large File Support |http://www.UNIX-systems.org/| 410 | |version2/whatsnew/ | 411 | |lfs20mar.html | 412 |------------------------------------------------+----------------------------| 413 |LI18NUX 2000 Globalization Specification, |http://www.li18nux.org/docs/| 414 |Version 1.0 with Amendment 4 |html/LI18NUX-2000-amd4.htm | 415 |------------------------------------------------+----------------------------| 416 |Linux Standard Base |http://www.linuxbase.org/ | 417 | |spec/ | 418 |------------------------------------------------+----------------------------| 419 |OpenGL® Application Binary Interface for Linux |http://oss.sgi.com/projects/| 420 | |ogl-sample/ABI/ | 421 |------------------------------------------------+----------------------------| 422 |IEEE Std POSIX 1003.2-1992 (ISO/IEC 9945-2:1993)|http://www.ieee.org/ | 423 |------------------------------------------------+----------------------------| 424 |System V Application Binary Interface PowerPC |http://www.esofta.com/pdfs/ | 425 |Processor Supplement |SVR4abippc.pdf | 426 |------------------------------------------------+----------------------------| 427 |POSIX 1003.1c |http://www.ieee.org/ | 428 |------------------------------------------------+----------------------------| 429 |CAE Specification, May 1996, X/Open Curses, |http://www.opengroup.org/ | 430 |Issue 4, Version 2 (ISBN: 1-85912-171-3, C610), | | 431 |plus Corrigendum U018 | | 432 |------------------------------------------------+----------------------------| 433 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 434 |Interface Definitions (XBD), Issue 5 (ISBN: | | 435 |1-85912-186-1, C605) | | 436 |------------------------------------------------+----------------------------| 437 |CAE Specification, January 1997, Commands and |http://www.opengroup.org/ | 438 |Utilities (XCU), Issue 5 (ISBN: 1-85912-191-8, | | 439 |C604) | | 440 |------------------------------------------------+----------------------------| 441 |CAE Specification, February 1997, Networking |http://www.opengroup.org/ | 442 |Services (XNS), Issue 5 (ISBN: 1-85912-165-9, | | 443 |C523) | | 444 |------------------------------------------------+----------------------------| 445 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 446 |Interfaces and Headers (XSH), Issue 5 (ISBN: | | 447 |1-85912-181-0, C606) | | 448 |------------------------------------------------+----------------------------| 449 |The Single UNIX® Specification(SUS) Version 1 |http://www.opengroup.org/ | 450 |(UNIX 95) System Interfaces & Headers | | 451 |------------------------------------------------+----------------------------| 452 |System V Interface Definition, Issue 3 (ISBN | | 453 |0201566524) | | 454 |------------------------------------------------+----------------------------| 455 |System V Interface Definition,Fourth Edition | | 456 |------------------------------------------------+----------------------------| 457 |Double Buffer Extension Library |http://www.x.org/ | 458 |------------------------------------------------+----------------------------| 459 |X Display Power Management Signaling (DPMS) |http://www.x.org/ | 460 |Extension, Library Specification | | 461 |------------------------------------------------+----------------------------| 462 |X Record Extension Library |http://www.x.org/ | 463 |------------------------------------------------+----------------------------| 464 |Security Extension Specification, Version 7.1 |http://www.x.org/ | 465 |------------------------------------------------+----------------------------| 466 |X Nonrectangular Window Shape Extension Library |http://www.x.org/ | 467 |Version 1.0 | | 468 |------------------------------------------------+----------------------------| 469 |MIT-SHM--The MIT Shared Memory Extension |http://www.x.org/ | 470 |------------------------------------------------+----------------------------| 471 |X Synchronization Extension Library |http://www.x.org/ | 472 |------------------------------------------------+----------------------------| 473 |XTEST Extension Library |http://www.x.org/ | 474 |------------------------------------------------+----------------------------| 475 |X11R6.4 X Inter-Client Exchange (ICE) Protocol |http://www.x.org/ | 476 |------------------------------------------------+----------------------------| 477 |X11R6.4 X11 Input Extension Library |http://www.x.org/ | 478 |------------------------------------------------+----------------------------| 479 |X11R6.4 Xlib - C library |http://www.x.org/ | 480 |------------------------------------------------+----------------------------| 481 |X/Open Portability Guide, Issue 4 |http://www.opengroup.org/ | 482 |------------------------------------------------+----------------------------| 483 |X11R6.4 X Session Management Library |http://www.x.org/ | 484 |------------------------------------------------+----------------------------| 485 |X11R6.4 X Toolkit Intrinsics |http://www.x.org/ | 486 |------------------------------------------------+----------------------------| 487 |zlib 1.1.3 Manual |http://www.gzip.org/zlib/ | 488 +-----------------------------------------------------------------------------+ 489 ------------------------------------------------------------------------------- 490 491 Relevant Libraries 492 493 The libraries listed here shall be available on a Linux Standard Base system. 494 This list may be supplemented or amended by the architecture-specific 495 specifications. 496 497 Table 1-2. Standard Libraries Names 498 499 +---------------------------+ 500 |Library |Runtime Name | 501 |----------+----------------| 502 |libX11 |libX11.so.6 | 503 |----------+----------------| 504 |libXt |libXt.so.6 | 505 |----------+----------------| 506 |libGL |libGL.so.1 | 507 |----------+----------------| 508 |libXext |libXext.so.6 | 509 |----------+----------------| 510 |libICE |libICE.so.6 | 511 |----------+----------------| 512 |libSM |libSM.so.6 | 513 |----------+----------------| 514 |libdl |libdl.so.2 | 515 |----------+----------------| 516 |libcrypt |libcrypt.so.1 | 517 |----------+----------------| 518 |libz |libz.so.1 | 519 |----------+----------------| 520 |libncurses|libncurses.so.5 | 521 |----------+----------------| 522 |libutil |libutil.so.1 | 523 |----------+----------------| 524 |libpthread|libpthread.so.0 | 525 +---------------------------+ 526 527 Table 1-3. Standard Library Names defined in the Architecture Specific 528 Supplement 529 530 +------------------------+ 531 |Library |Runtime Name | 532 |----------+-------------| 533 |libm |See archLSB | 534 |----------+-------------| 535 |libc |See archLSB | 536 |----------+-------------| 537 |proginterp|See archLSB | 538 +------------------------+ 539 540 These libraries will be in an implementation-dependent directory which the 541 dynamic linker will search by default. 542 543 ------------------------------------------------------------------------------- 544 545 How to Use this Standard 546 547 The complete LSB specification is composed of this generic LSB specification 548 and the supplemental processor-specific specification for a particular 549 processor architecture. These two documents constitute a specification that 550 should be used in conjunction with the publicly-available standards documents 551 it references. The LSB enumerates the system components it includes, but 552 descriptions of those components may be included entirely in the LSB, partly in 553 the LSB and partly in other documents, or entirely in other reference 554 documents. 555 556 ------------------------------------------------------------------------------- 557 558 Definitions 559 560 gLSB 561 562 The common part of the LSB Specification that describes those parts of the 563 interface that remain constant across all hardware implementations of the 564 LSB. 565 566 archLSB 567 568 The architectural part of the LSB Specification which describes the 569 specific parts of the interface that are platform specific. The archLSB is 570 complementary to the gLSB. 571 572 LSB Implementation Conformance 573 574 An implementation satisfying the following requirements: 575 576 1. The implementation shall implement fully the architecture described in 577 the hardware manual for the target processor architecture. 578 579 2. The implementation shall be capable of executing compiled applications 580 having the format and using the system interfaces described in this 581 document. 582 583 3. The implementation shall provide libraries containing the interfaces 584 specified by this document, and shall provide a dynamic linking 585 mechanism that allows these interfaces to be attached to applications 586 at runtime. All the interfaces shall behave as specified in this 587 document. 588 589 4. The map of virtual memory provided by the implementation shall conform 590 to the requirements of this document. 591 592 5. The implementation's low-level behavior with respect to function call 593 linkage, system traps, signals, and other such activities shall conform 594 to the formats described in this document. 595 596 6. The implementation shall provide all of the mandatory interfaces in 597 their entirety. 598 599 7. The implementation may provide one or more of the optional interfaces. 600 Each optional interface that is provided shall be provided in its 601 entirety. The product documentation shall state which optional 602 interfaces are provided. 603 604 8. The implementation shall provide all files and utilities specified as 605 part of this document in the format defined here and in other 606 referenced documents. All commands and utilities shall behave as 607 required by this document. The implementation shall also provide all 608 mandatory components of an application's runtime environment that are 609 included or referenced in this document. 610 611 9. The implementation, when provided with standard data formats and values 612 at a named interface, shall provide the behavior defined for those 613 values and data formats at that interface. However, a conforming 614 implementation may consist of components which are separately packaged 615 and/or sold. For example, a vendor of a conforming implementation might 616 sell the hardware, operating system, and windowing system as separately 617 packaged items. 618 619 10. The implementation may provide additional interfaces with different 620 names. It may also provide additional behavior corresponding to data 621 values outside the standard ranges, for standard named interfaces. 622 623 LSB Application Conformance 624 625 An application with the following characteristics: 626 627 1. Its executable files are either shell scripts or object files in the 628 format defined for the Object File Format system interface. 629 630 2. Its object files participate in dynamic linking as defined in the 631 Program Loading and Linking System interface. 632 633 3. It employs only the instructions, traps, and other low-level facilities 634 defined in the Low-Level System interface as being for use by 635 applications. 636 637 4. If it requires any optional interface defined in this document in order 638 to be installed or to execute successfully, the requirement for that 639 optional interface is stated in the application's documentation. 640 641 5. It does not use any interface or data format that is not required to be 642 provided by a conforming implementation, unless: 643 644 o If such an interface or data format is supplied by another 645 application through direct invocation of that application during 646 execution, that application is in turn an LSB conforming 647 application. 648 649 o The use of that interface or data format, as well as its source, is 650 identified in the documentation of the application. 651 652 6. It must not use any values for a named interface that are reserved for 653 vendor extensions. 654 655 A strictly conforming application does not require or use any interface, 656 facility, or implementation-defined extension that is not defined in this 657 document in order to be installed or to execute successfully. 658 659 Rationale 660 661 An LSB conforming application is expected to have no dependencies on any 662 vendor extensions to this document. The most common such extensions are 663 additional function entry points and additional libraries other than the 664 ones defined in this document. If an application requires such extensions, 665 it is not portable, since other LSB conforming implementations may not 666 provide those extensions. 667 668 An LSB conforming application is required to use system services on the 669 implementation on which it is running, rather than importing system 670 routines from some other implementation. Thus, it must link dynamically to 671 any routines in the implementation that perform system traps to kernel 672 services. 673 674 It is to be expected that some applications may be companion applications 675 to other applications. For example, a query application may be a companion 676 to a database application; a preprocessor may be an adjunct to one or more 677 compilers; a data reformatter may convert data from one document manager to 678 another. In such cases, the application may or may not be LSB conforming, 679 regardless of whether the other application on which it is dependent is LSB 680 conforming. If such an application merely uses data produced by another 681 application, the application's compliance is independent of the other 682 application's compliance. If such an application actually invokes another 683 application during execution (as, for example, a third-party math library), 684 the invoking application is LSB conforming only if it also constitutes a 685 LSB conforming application in combination with the invoked application. 686 687 Shell Script 688 689 A file that is read by an interpreter (e.g., awk). The first line of the 690 shell script includes a reference to its interpreter binary. 691 692 ------------------------------------------------------------------------------- 693 694 Terminology 695 696 can 697 698 Describes a permissible optional feature or behavior available to the user 699 or application. The feature or behavior is mandatory for an implementation 700 that conforms to this document. An application can rely on the existence of 701 the feature or behavior. 702 703 implementation-defined 704 705 Describes a value or behavior that is not defined by this document but is 706 selected by an implementor. The value or behavior may vary among 707 implementations that conform to this document. An application should not 708 rely on the existence of the value or behavior. An application that relies 709 on such a value or behavior cannot be assured to be portable across 710 conforming implementations. The implementor shall document such a value or 711 behavior so that it can be used correctly by an application. 712 713 Same as implementation-dependent. 714 715 may 716 717 Describes a feature or behavior that is optional for an implementation that 718 conforms to this document. An application should not rely on the existence 719 of the feature or behavior. An application that relies on such a feature or 720 behavior cannot be assured to be portable across conforming 721 implementations. 722 723 To avoid ambiguity, the opposite of may is expressed as need not, instead 724 of may not. 725 726 must 727 728 Describes a feature or behavior that is mandatory for an application or 729 user. An implementation that conforms to this document shall support this 730 feature or behavior. 731 732 shall 733 734 Describes a feature or behavior that is mandatory for an implementation 735 that conforms to this document. An application can rely on the existence of 736 the feature or behavior. 737 738 should 739 740 For an implementation that conforms to this document, describes a feature 741 or behavior that is recommended but not mandatory. An application should 742 not rely on the existence of the feature or behavior. An application that 743 relies on such a feature or behavior cannot be assured to be portable 744 across conforming implementations. 745 746 For an application, describes a feature or behavior that is recommended 747 programming practice for optimum portability. 748 749 undefined 750 751 Describes the nature of a value or behavior not defined by this document 752 which results from use of an invalid program construct or invalid data 753 input. The value or behavior may vary among implementations that conform to 754 this document. An application should not rely on the existence or validity 755 of the value or behavior. An application that relies on any particular 756 value or behavior cannot be assured to be portable across conforming 757 implementations. 758 759 unspecified 760 761 Describes the nature of a value or behavior not specified by this document 762 which results from use of a valid program construct or valid data input. 763 The value or behavior may vary among implementations that conform to this 764 document. An application should not rely on the existence or validity of 765 the value or behavior. An application that relies on any particular value 766 or behavior cannot be assured to be portable across conforming 767 implementations. 768 769 will 770 771 Same meaning as shall; shall is the preferred term. 772 773 II. Object Format 774 775 Table of Contents 776 2. Object Files 777 3. Sections 778 4. Special Sections 779 5. Symbol Mapping 780 6. Symbol Versioning 781 7. ABI note tag 782 783 ------------------------------------------------------------------------------- 784 785 Chapter 2. Object Files 786 787 LSB-conforming implementations shall support the object file Executable and 788 Linking Format (ELF), which is defined by the following documents: 789 790 * System V Application Binary Interface, Edition 4.1 791 792 * System V Application Binary Interface - DRAFT - April 29, 1998 793 794 * this document 795 796 * an architecture-specific LSB specification 797 798 Conforming implementations may also support other unspecified object file 799 formats. 800 801 ------------------------------------------------------------------------------- 802 803 Chapter 3. Sections 804 805 ------------------------------------------------------------------------------- 806 807 Sections Types 808 809 A section header's sh_type member specifies the sections's semantics. 810 811 ------------------------------------------------------------------------------- 812 813 ELF Section Types 814 815 The following section types are defined in the System V Application Binary 816 Interface, Edition 4.1. 817 818 Table 3-1. ELF Section Types 819 820 +-----------------------------------------------------------------------------+ 821 | Name | Value | Description | 822 |-----------------+----------+------------------------------------------------| 823 |SHT_DYNAMIC |0x6 |The section holds information for dynamic | 824 | | |linking. Currently, an object file may have only| 825 | | |one dynamic section, but this restriction may be| 826 | | |relaxed in the future. See `Dynamic Section' in | 827 | | |Chapter 5 for details. | 828 |-----------------+----------+------------------------------------------------| 829 |SHT_DYNSYM |0xb | | 830 |-----------------+----------+------------------------------------------------| 831 |SHT_FINI_ARRAY |0xf |This section contains an array of pointers to | 832 | | |termination functions, as described in | 833 | | |`Initialization and Termination Functions' in | 834 | | |Chapter 5. Each pointer in the array is taken as| 835 | | |a parameterless procedure with a void return. | 836 |-----------------+----------+------------------------------------------------| 837 |SHT_HASH |0x5 |The section holds a symbol hash table. | 838 | | |Currently, an object file may have only one hash| 839 | | |table, but this restriction may be relaxed in | 840 | | |the future. See `Hash Table' in the Chapter 5 | 841 | | |for details. | 842 |-----------------+----------+------------------------------------------------| 843 |SHT_HIPROC |0x7fffffff|Values in this inclusive range are reserved for | 844 | | |processor-specific semantics. | 845 |-----------------+----------+------------------------------------------------| 846 |SHT_HIUSER |0xffffffff|This value specifies the upper bound of the | 847 | | |range of indexes reserved for application | 848 | | |programs. Section types between SHT_LOUSER and | 849 | | |SHT_HIUSER may be used by the application, | 850 | | |without conflicting with current or future | 851 | | |system-defined section types. | 852 |-----------------+----------+------------------------------------------------| 853 |SHT_INIT_ARRAY |0xe |This section contains an array of pointers to | 854 | | |initialization functions, as described in | 855 | | |`Initialization and Termination Functions' in | 856 | | |Chapter 5. Each pointer in the array is taken as| 857 | | |a parameterless procedure with a void return. | 858 |-----------------+----------+------------------------------------------------| 859 |SHT_LOPROC |0x70000000|Values in this inclusive range are reserved for | 860 | | |processor-specific semantics. | 861 |-----------------+----------+------------------------------------------------| 862 |SHT_LOUSER |0x80000000|This value specifies the lower bound of the | 863 | | |range of indexes reserved for application | 864 | | |programs. | 865 |-----------------+----------+------------------------------------------------| 866 |SHT_NOBITS |0x8 |A section of this type occupies no space in the | 867 | | |file but otherwise resembles SHT_PROGBITS. | 868 | | |Although this section contains no bytes, the | 869 | | |sh_offset member contains the conceptual file | 870 | | |offset. | 871 |-----------------+----------+------------------------------------------------| 872 |SHT_NOTE |0x7 |The section holds information that marks the | 873 | | |file in some way. See `Note Section' in Chapter | 874 | | |5 for details. | 875 |-----------------+----------+------------------------------------------------| 876 |SHT_NULL |0x0 |This value marks the section header as inactive;| 877 | | |it does not have an associated section. Other | 878 | | |members of the section header have undefined | 879 | | |values. | 880 |-----------------+----------+------------------------------------------------| 881 |SHT_PREINIT_ARRAY|0x10 |This section contains an array of pointers to | 882 | | |functions that are invoked before all other | 883 | | |initialization functions, as described in | 884 | | |`Initialization and Termination Functions' in | 885 | | |Chapter 5. Each pointer in the array is taken as| 886 | | |a parameterless proceure with a void return. | 887 |-----------------+----------+------------------------------------------------| 888 |SHT_PROGBITS |0x1 |The section holds information defined by the | 889 | | |program, whose format and meaning are determined| 890 | | |solely by the program. | 891 |-----------------+----------+------------------------------------------------| 892 |SHT_REL |0x9 |The section holds relocation entries without | 893 | | |explicit addends, such as type Elf32_Rel for the| 894 | | |32-bit class of object files or type Elf64_Rel | 895 | | |for the 64-bit class of object files. An object | 896 | | |file may have multiple relocation sections. See | 897 | | |"Relocation" | 898 |-----------------+----------+------------------------------------------------| 899 |SHT_RELA |0x4 |The section holds relocation entries with | 900 | | |explicit addends, such as type Elf32_Rela for | 901 | | |the 32-bit class of object files or type | 902 | | |Elf64_Rela for the 64-bit class of object files.| 903 | | |An object file may have multiple relocation | 904 | | |sections. `Relocation' b | 905 |-----------------+----------+------------------------------------------------| 906 |SHT_SHLIB |0xa |This section type is reserved but has | 907 | | |unspecified semantics. | 908 |-----------------+----------+------------------------------------------------| 909 |SHT_STRTAB |0x3 |The section holds a string table. An object file| 910 | | |may have multiple string table sections. See | 911 | | |`String Table' below for details. | 912 |-----------------+----------+------------------------------------------------| 913 |SHT_SYMTAB |0x2 |These sections hold a symbol table. Currently, | 914 | | |an object file may have only one section of each| 915 | | |type, but this restriction may be relaxed in the| 916 | | |future. Typically, SHT_SYMTAB provides symbols | 917 | | |for link editing, though it may also be used for| 918 | | |dynamic linking. | 919 +-----------------------------------------------------------------------------+ 920 921 922 ------------------------------------------------------------------------------- 923 924 Additional Section Types 925 926 The following additional section types are defined here. 927 928 Table 3-2. Additional Section Types 929 930 +-----------------------------------------------------------------------------+ 931 | Name | Value | Description | 932 |---------------+----------+--------------------------------------------------| 933 |SHT_GNU_verdef |0x6ffffffd|This section contains the symbol versions that are| 934 | | |provided. | 935 |---------------+----------+--------------------------------------------------| 936 |SHT_GNU_verneed|0x6ffffffe|This section contains the symbol versions that are| 937 | | |required. | 938 |---------------+----------+--------------------------------------------------| 939 |SHT_GNU_versym |0x6fffffff|This section contains the Symbol Version Table. | 940 +-----------------------------------------------------------------------------+ 941 942 943 ------------------------------------------------------------------------------- 944 945 Chapter 4. Special Sections 946 947 Special Sections 948 949 Various sections hold program and control information. Sections in the lists 950 below are used by the system and have the indicated types and attributes. 951 952 ------------------------------------------------------------------------------- 953 954 ELF Special Sections 955 956 The following sections are defined in the System V Application Binary 957 Interface, Edition 4.1. 958 959 Table 4-1. ELF Special Sections 960 961 +--------------------------------------------------------+ 962 | Name | Type | Attributes | 963 |--------------+-----------------+-----------------------| 964 |.bss |SHT_NOBITS |SHF_ALLOC+SHF_WRITE | 965 |--------------+-----------------+-----------------------| 966 |.comment |SHT_PROGBITS |0 | 967 |--------------+-----------------+-----------------------| 968 |.data |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE | 969 |--------------+-----------------+-----------------------| 970 |.data1 |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE | 971 |--------------+-----------------+-----------------------| 972 |.debug |SHT_PROGBITS |0 | 973 |--------------+-----------------+-----------------------| 974 |.dynamic |SHT_DYNAMIC |SHF_ALLOC+SHF_WRITE | 975 |--------------+-----------------+-----------------------| 976 |.dynstr |SHT_STRTAB |SHF_ALLOC | 977 |--------------+-----------------+-----------------------| 978 |.dynsym |SHT_DYNSYM |SHF_ALLOC | 979 |--------------+-----------------+-----------------------| 980 |.fini |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR| 981 |--------------+-----------------+-----------------------| 982 |.fini_array |SHT_FINI_ARRAY |SHF_ALLOC+SHF_WRITE | 983 |--------------+-----------------+-----------------------| 984 |.hash |SHT_HASH |SHF_ALLOC | 985 |--------------+-----------------+-----------------------| 986 |.init |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR| 987 |--------------+-----------------+-----------------------| 988 |.init_array |SHT_INIT_ARRAY |SHF_ALLOC+SHF_WRITE | 989 |--------------+-----------------+-----------------------| 990 |.interp |SHT_PROGBITS |SHF_ALLOC | 991 |--------------+-----------------+-----------------------| 992 |.line |SHT_PROGBITS |0 | 993 |--------------+-----------------+-----------------------| 994 |.note |SHT_NOTE |0 | 995 |--------------+-----------------+-----------------------| 996 |.preinit_array|SHT_PREINIT_ARRAY|SHF_ALLOC+SHF_WRITE | 997 |--------------+-----------------+-----------------------| 998 |.rodata |SHT_PROGBITS |SHF_ALLOC | 999 |--------------+-----------------+-----------------------| 1000 |.rodata1 |SHT_PROGBITS |SHF_ALLOC | 1001 |--------------+-----------------+-----------------------| 1002 |.shstrtab |SHT_STRTAB |0 | 1003 |--------------+-----------------+-----------------------| 1004 |.strtab |SHT_STRTAB |SHF_ALLOC | 1005 |--------------+-----------------+-----------------------| 1006 |.symtab |SHT_SYMTAB |SHF_ALLOC | 1007 |--------------+-----------------+-----------------------| 1008 |.text |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR| 1009 +--------------------------------------------------------+ 1010 1011 .bss 1012 1013 This section holds uninitialized data that contribute to the program's 1014 memory image. By definition, the system initializes the data with zeros 1015 when the program begins to run. The section occupies no file space, as 1016 indicated by the section type, SHT_NOBITS 1017 1018 .comment 1019 1020 This section holds version control information. 1021 1022 .data 1023 1024 This section holds initialized data that contribute to the program's memory 1025 image. 1026 1027 .data1 1028 1029 This section holds initialized data that contribute to the program's memory 1030 image. 1031 1032 .debug 1033 1034 This section holds information for symbolic debugging. The contents are 1035 unspecified. All section names with the prefix .debug are reserved for 1036 future use in the ABI. 1037 1038 .dynamic 1039 1040 This section holds dynamic linking information. The section's attributes 1041 will include the SHF_ALLOC bit. Whether the SHF_WRITE bit is set is 1042 processor specific. See Chapter 5 for more information. 1043 1044 .dynstr 1045 1046 This section holds strings needed for dynamic linking, most commonly the 1047 strings that represent the names associated with symbol table entries. See 1048 Chapter 5 for more information. 1049 1050 .dynsym 1051 1052 This section holds the dynamic linking symbol table, as described in 1053 `Symbol Table'. See Chapter 5 for more information. 1054 1055 .fini 1056 1057 This section holds executable instructions that contribute to the process 1058 termination code. That is, when a program exits normally, the system 1059 arranges to execute the code in this section. 1060 1061 .fini_array 1062 1063 This section holds an array of function pointers that contributes to a 1064 single termination array for the executable or shared object containing the 1065 section. 1066 1067 .hash 1068 1069 This section holds a symbol hash table. See `Hash Table' in Chapter 5 for 1070 more information. 1071 1072 .init 1073 1074 This section holds executable instructions that contribute to the process 1075 initialization code. When a program starts to run, the system arranges to 1076 execute the code in this section before calling the main program entry 1077 point (called main for C programs) 1078 1079 .init_array 1080 1081 This section holds an array of function pointers that contributes to a 1082 single initialization array for the executable or shared object containing 1083 the section. 1084 1085 .interp 1086 1087 This section holds the path name of a program interpreter. If the file has 1088 a loadable segment that includes relocation, the sections' attributes will 1089 include the SHF_ALLOC bit; otherwise, that bit will be off. See Chapter 5 1090 for more information. 1091 1092 .line 1093 1094 This section holds line number information for symbolic debugging, which 1095 describes the correspondence between the source program and the machine 1096 code. The contents are unspecified. 1097 1098 .note 1099 1100 This section holds information in the format that `Note Section' in Chapter 1101 5 describes of the System V Application Binary Interface, Edition 4.1. 1102 1103 .preinit_array 1104 1105 This section holds an array of function pointers that contributes to a 1106 single pre-initialization array for the executable or shared object 1107 containing the section. 1108 1109 .rodata 1110 1111 This section holds read-only data that typically contribute to a 1112 non-writable segment in the process image. See `Program Header' in Chapter 1113 5 for more information. 1114 1115 .rodata1 1116 1117 This section hold sread-only data that typically contribute to a 1118 non-writable segment in the process image. See `Program Header' in Chapter 1119 5 for more information. 1120 1121 .shstrtab 1122 1123 This section holds section names. 1124 1125 .strtab 1126 1127 This section holds strings, most commonly the strings that represent the 1128 names associated with symbol table entries. If the file has a loadable 1129 segment that includes the symbol string table, the section's attributes 1130 will include the SHF_ALLOC bit; otherwi 1131 1132 .symtab 1133 1134 This section holds a symbol table, as `Symbol Table'. in this chapter 1135 describes. If the file has a loadable segment that includes the symbol 1136 table, the section's attributes will include the SHF_ALLOC bit; otherwise, 1137 that bit will be off. 1138 1139 .text 1140 1141 This section holds the `text,' or executable instructions, of a program. 1142 1143 1144 1145 ------------------------------------------------------------------------------- 1146 1147 Additional Special Sections 1148 1149 The following additional sections are defined here. 1150 1151 Table 4-2. Additional Special Sections 1152 1153 +--------------------------------------------------+ 1154 | Name | Type | Attributes | 1155 |--------------+---------------+-------------------| 1156 |.ctors |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 1157 |--------------+---------------+-------------------| 1158 |.dtors |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 1159 |--------------+---------------+-------------------| 1160 |.eh_frame |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 1161 |--------------+---------------+-------------------| 1162 |.gnu.version |SHT_GNU_versym |SHF_ALLOC | 1163 |--------------+---------------+-------------------| 1164 |.gnu.version_d|SHT_GNU_verdef |SHF_ALLOC | 1165 |--------------+---------------+-------------------| 1166 |.gnu.version_r|SHT_GNU_verneed|SHF_ALLOC | 1167 |--------------+---------------+-------------------| 1168 |.note.ABI-tag |SHT_NOTE |SHF_ALLOC | 1169 |--------------+---------------+-------------------| 1170 |.stab |SHT_PROGBITS |0 | 1171 |--------------+---------------+-------------------| 1172 |.stabstr |SHT_STRTAB |0 | 1173 +--------------------------------------------------+ 1174 1175 .ctors 1176 1177 This section contains a list of global constructor function pointers. 1178 1179 .dtors 1180 1181 This section contains a list of global destructor function pointers. 1182 1183 .eh_frame 1184 1185 This section contains information necessary for frame unwinding during 1186 exception handling. The format is the same as for .debug_frame as described 1187 by DWARF2. 1188 1189 .gnu.version 1190 1191 This section contains the Symbol Version Table. 1192 1193 .gnu.version_d 1194 1195 This section contains the Version Definitions. 1196 1197 .gnu.version_r 1198 1199 This section contains the Version Requirments. 1200 1201 .note.ABI-tag 1202 1203 Specify ABI details. 1204 1205 .stab 1206 1207 This section contains debugging information. The contents are not specified 1208 as part of the LSB. 1209 1210 .stabstr 1211 1212 This section contains strings associated with the debugging infomation 1213 contained in the .stab section. 1214 1215 1216 1217 ------------------------------------------------------------------------------- 1218 1219 Chapter 5. Symbol Mapping 1220 1221 This chapter defines how names are mapped from the source symbol to the object 1222 symbol. 1223 1224 ------------------------------------------------------------------------------- 1225 1226 Symbol Mapping 1227 1228 Symbols in a source program are translated by the compilation system into 1229 symbols that exist in the object file. The rules for this translation are 1230 defined here. 1231 1232 ------------------------------------------------------------------------------- 1233 1234 C Language 1235 1236 External C symbols have the same names in C and object files' symbol tables. 1237 1238 ------------------------------------------------------------------------------- 1239 1240 C++ Language 1241 1242 Because of the immaturity of the C++ ABI (for name mangling, exception 1243 handling, and other such issues), we do not standardize any libraries for C++ 1244 in this version of the Linux Standard Base. [1] 1245 1246 In a future version of this specification, name mangling rules will be 1247 specified so that C++ symbols can be mapped into symbol names in the object 1248 file. 1249 1250 ------------------------------------------------------------------------------- 1251 1252 Chapter 6. Symbol Versioning 1253 1254 This chapter describes the Symbol Versioning mechanism. All ELF objects may 1255 provide or depend on versioned symbols. Symbol Versioning is implemented by 3 1256 section types: SHT_GNU_versym, SHT_GNU_verdef, and SHT_GNU_verneed. 1257 1258 The term "Elfxx" means "Elf32" or "Elf64" depending on the architecture. 1259 1260 Versions are described by strings. The structures that are used for symbol 1261 versions also contain a member that holds the ELF hashing values of the 1262 strings. This allows for more efficient processing. 1263 1264 ------------------------------------------------------------------------------- 1265 1266 Symbol Version Table 1267 1268 The Symbol Version Table is contained in the special section .gnu.version which 1269 has a section type of SHT_GNU_versym. This section has the same number of 1270 entries as the Dynamic Symbol Table. 1271 1272 This section contains an array of elements of type Elfxx_Half. Each entry 1273 specifies the version defined for or required by the corresponding symbol in 1274 the Dynamic Symbol Table. 1275 1276 The values in the Symbol Version Table are unique to the object in which they 1277 are located. These values are identifiers that are provided by the the 1278 vna_other member of the Elfxx_Vernaux structure or the vd_ndx member of the 1279 Elfxx_Verdef structure. 1280 1281 The values 0 and 1 are reserved. 1282 1283 0 1284 1285 The symbol is local, not available outside the object. 1286 1287 1 1288 1289 The symbol is defined in this object and is globally available. 1290 1291 All other values are used to identify version strings located in one of the 1292 other Symbol Version sections. The value itself is not the version associated 1293 with the symbol. The string identified by the value defines the version of the 1294 symbol. 1295 1296 ------------------------------------------------------------------------------- 1297 1298 Version Definitions 1299 1300 Symbol definitions are contained in the special section .gnu.version_d which 1301 has a section type of SHT_GNU_verdef. The number of entries in this section is 1302 contained in the DT_VERDEFNUM entry of the Dynamic Section. The sh_link member 1303 of the section header points to the section that contains the strings 1304 referenced by this section. 1305 1306 Figure 6-1. Version Definition Entries 1307 1308 typedef struct { 1309 Elfxx_Half vd_version; 1310 Elfxx_Half vd_flags; 1311 Elfxx_Half vd_ndx; 1312 Elfxx_Half vd_cnt; 1313 Elfxx_Word vd_hash; 1314 Elfxx_Word vd_aux; 1315 Elfxx_Word vd_next; 1316 } Elfxx_Verdef; 1317 1318 vd_version 1319 1320 Version revision. This value is currently set to 1, and will be reset if 1321 the versioning implementation is incompatibly altered. 1322 1323 vd_flags 1324 1325 Version information flag bitmask. 1326 1327 vd_ndx 1328 1329 Version index numeric value referencing the SHT_GNU_versym section. 1330 1331 vd_cnt 1332 1333 Number of associated verdaux array entries. 1334 1335 vd_hash 1336 1337 Version name hash value (ELF hash function). 1338 1339 vd_aux 1340 1341 Offset to a corresponding entry in the verdaux array, in bytes. 1342 1343 vd_next 1344 1345 Offset to the next verdef entry, in bytes. 1346 1347 Figure 6-2. Version Definition Auxiliary Entries 1348 1349 typedef struct { 1350 Elfxx_Word vda_name; 1351 Elfxx_Word vda_next; 1352 } Elfxx_Verdaux; 1353 1354 vda_name 1355 1356 Offset to the version or dependency name string in the section header, in 1357 bytes. 1358 1359 vda_next 1360 1361 Offset to the next verdaux entry, in bytes. 1362 1363 ------------------------------------------------------------------------------- 1364 1365 Version Requirements 1366 1367 Symbol definitions are contained in the special section .gnu.version_r which 1368 has a section type of SHT_GNU_verneed. The number of entries in this section is 1369 contained in the DT_VERNEEDNUM entry of the Dynamic Section. The sh_link member 1370 of the section header points to the section that contains the strings 1371 referenced by this section. 1372 1373 Figure 6-3. Version Needed Entries 1374 1375 typedef struct { 1376 Elfxx_Half vn_version; 1377 Elfxx_Half vn_cnt; 1378 Elfxx_Word vn_file; 1379 Elfxx_Word vn_aux; 1380 Elfxx_Word vn_next; 1381 } Elfxx_Verneed; 1382 1383 vn_version 1384 1385 Version of structure. This value is currently set to 1, and will be reset 1386 if the versioning implementation is incompatibly altered. 1387 1388 vn_cnt 1389 1390 Number of associated verneed array entries. 1391 1392 vn_file 1393 1394 Offset to the file name string in the section header, in bytes. 1395 1396 vn_aux 1397 1398 Offset to a corresponding entry in the vernaux array, in bytes. 1399 1400 vn_next 1401 1402 Offset to the next verneed entry, in bytes. 1403 1404 Figure 6-4. Version Needed Auxiliary Entries 1405 1406 typedef struct { 1407 Elfxx_Word vna_hash; 1408 Elfxx_Half vna_flags; 1409 Elfxx_Half vna_other; 1410 Elfxx_Word vna_name; 1411 Elfxx_Word vna_next; 1412 } Elfxx_Vernaux; 1413 1414 vna_hash 1415 1416 Dependency name hash value (ELF hash function). 1417 1418 vna_flags 1419 1420 Dependency information flag bitmask. 1421 1422 vna_other 1423 1424 Object file version identifier used in the .gnu.version symbol version 1425 array. Bit number 15 controls whether or not the object is hidden; if this 1426 bit is set, the object cannot be used and the static linker will ignore the 1427 symbol's presence in the object. 1428 1429 vna_name 1430 1431 Offset to the dependency name string in the section header, in bytes. 1432 1433 vna_next 1434 1435 Offset to the next vernaux entry, in bytes. 1436 1437 ------------------------------------------------------------------------------- 1438 1439 Startup Sequence 1440 1441 When loading a sharable object, version definition data from the loaded object 1442 is analyzed to assure that it meets the version requirements of the calling 1443 object. The dynamic loader retrieves the entries in the caller's Elfxx_Verneed 1444 array and attempts to find matching definition information in the loaded 1445 Elfxx_Verdef table. 1446 1447 Each object and dependency is tested in turn. If a symbol definition is 1448 missing, the loader returns an error. A warning is issued instead of a hard 1449 error when the vna_flags bit for VER_FLG_WEAK is set in the Elfxx_Vernaux 1450 entry. 1451 1452 When the versions referenced by undefined symbols in the loaded object are 1453 found, version availability is certified. The test completes without error and 1454 the object is made available. 1455 1456 ------------------------------------------------------------------------------- 1457 1458 Symbol Resolution 1459 1460 When symbol versioning is used in an object, relocations extend the performance 1461 of definition testing beyond the simple match of symbol name strings: the 1462 version of the reference must also equal the name of the definition. The same 1463 index that is used in the symbol table can be referenced in the SHT_GNU_versym 1464 section, and the value of this index is then used to acquire name data. The 1465 corresponding requirement string is retrieved from the Elfxx_Verneed array, and 1466 likewise, the corresponding definition string from the Elfxx_Verdef table. 1467 1468 Bit number 15 of the version symbol controls whether or not the object is 1469 hidden; if this bit is set, the object cannot be used and the static linker 1470 will ignore the symbol's presence in the object. 1471 1472 Results differ in the interaction of objects that variously use symbol 1473 versioning. 1474 1475 * The object with the reference and the object with the definitions may both 1476 use versioning. All described matching is processed in this case. A fatal 1477 error is triggered when no matching definition can be found in the object 1478 whose name is the one referenced by the vn_name element in the 1479 Elfxx_Verneed entry. 1480 1481 * The object with the reference may not use versioning, while the object with 1482 the definitions does. In this instance, only the definition with index 1483 numbers 1 and 2 will be used in the reference match, the same identified by 1484 the static linker as the base definition. In infrequent cases where the 1485 static linker was not used, as in calls to dlopen(), a version that does 1486 not have the base definition index is acceptable as long as it is the only 1487 version for which the symbol is defined. 1488 1489 * The object with the reference may use versioning, but the object with the 1490 definitions specifies none. A matching symbol is accepted in this case. A 1491 fatal error is triggered in the unlikely event that a corruption in the 1492 required symbols list obscured an outdated object file and caused a match 1493 on the object filename in the Elfxx_Verneed entry. 1494 1495 * Finally, both the object with the reference and the object with the 1496 definitions may not use versioning. The behavior in this instance defaults 1497 to pre-existing symbol rules. 1498 1499 ------------------------------------------------------------------------------- 1500 1501 Chapter 7. ABI note tag 1502 1503 Every executable shall contain a section named .note.ABI-tag of type SHT_NOTE. 1504 This section is structured as a note section as documented in the ELF spec. The 1505 section must contain at least the following entry. The name field (namesz/name) 1506 contains the string "GNU". The type field shall be 1. The descsz field shall be 1507 at least 16, and the first 16 bytes of the desc field shall be as follows. 1508 1509 The first 32-bit word of the desc field must be 0 (this signifies a Linux 1510 executable). The second, third, and fourth 32-bit words of the desc field 1511 contain the earliest compatible kernel version. For example, if the 3 words are 1512 2, 2, and 5, this signifies a 2.2.5 kernel. 1513 1514 III. Dynamic Linking 1515 1516 Table of Contents 1517 8. Program Loading and Dynamic Linking 1518 9. Dynamic Entries 1519 10. Program Interpreter 1520 1521 ------------------------------------------------------------------------------- 1522 1523 Chapter 8. Program Loading and Dynamic Linking 1524 1525 LSB-conforming implementations shall support the object file information and 1526 system actions that create running programs as specified in the System V 1527 Application Binary Interface, Edition 4.1 and the System V Application Binary 1528 Interface - DRAFT - April 29, 1998 and as supplemented by this document and an 1529 architecture-specific LSB specification. 1530 1531 Any shared object that is loaded must contain sufficient DT_NEEDED records to 1532 satisfy the symbols on the shared library. 1533 1534 ------------------------------------------------------------------------------- 1535 1536 Chapter 9. Dynamic Entries 1537 1538 A dynamic entry's d_tag member control the interpretation of d_un. 1539 1540 ------------------------------------------------------------------------------- 1541 1542 Dynamic Entries 1543 1544 ------------------------------------------------------------------------------- 1545 1546 ELF Dynamic Entries 1547 1548 The following dynamic entries are defined in the System V Application Binary 1549 Interface, Edition 4.1. 1550 1551 DT_BIND_NOW 1552 1553 Process relocations of object 1554 1555 DT_DEBUG 1556 1557 For debugging; unspecified 1558 1559 DT_FINI 1560 1561 Address of termination function 1562 1563 DT_HASH 1564 1565 Address of symbol hash table 1566 1567 DT_HIPROC 1568 1569 End of processor-specific 1570 1571 DT_INIT 1572 1573 Address of init function 1574 1575 DT_JMPREL 1576 1577 Address of PLT relocs 1578 1579 DT_LOPROC 1580 1581 Start of processor-specific 1582 1583 DT_NEEDED 1584 1585 Name of needed library 1586 1587 DT_NULL 1588 1589 Marks end of dynamic section 1590 1591 DT_PLTREL 1592 1593 Type of reloc in PLT 1594 1595 DT_PLTRELSZ 1596 1597 Size in bytes of PLT relocs 1598 1599 DT_REL 1600 1601 Address of Rel relocs 1602 1603 DT_RELA 1604 1605 Address of Rela relocs 1606 1607 DT_RELAENT 1608 1609 Size of one Rela reloc 1610 1611 DT_RELASZ 1612 1613 Total size of Rela relocs 1614 1615 DT_RELENT 1616 1617 Size of one Rel reloc 1618 1619 DT_RELSZ 1620 1621 Total size of Rel relocs 1622 1623 DT_RPATH 1624 1625 Library search path 1626 1627 DT_SONAME 1628 1629 Name of shared object 1630 1631 DT_STRSZ 1632 1633 Size of string table 1634 1635 DT_STRTAB 1636 1637 Address of string table 1638 1639 DT_SYMBOLIC 1640 1641 Start symbol search here 1642 1643 DT_SYMENT 1644 1645 Size of one symbol table entry 1646 1647 DT_SYMTAB 1648 1649 Address of symbol table 1650 1651 DT_TEXTREL 1652 1653 Reloc might modify .text 1654 1655 1656 1657 ------------------------------------------------------------------------------- 1658 1659 Additional Dynamic Entries 1660 1661 The following dynamic entries are defined here. 1662 1663 DT_ADDRRNGHI 1664 1665 Values from DT_ADDRRNGLO through DT_ADDRRNGHI are reserved for definition 1666 by an archLSB. 1667 1668 DT_ADDRRNGLO 1669 1670 Values from DT_ADDRRNGLO through DT_ADDRRNGHI are reserved for definition 1671 by an archLSB. 1672 1673 DT_AUXILIARY 1674 1675 Shared object to load before self 1676 1677 DT_FILTER 1678 1679 Shared object to get values from 1680 1681 DT_FINI_ARRAY 1682 1683 The address of an array of pointers to termination functions. 1684 1685 DT_FINI_ARRAYSZ 1686 1687 Size in bytes of DT_FINI_ARRAY 1688 1689 DT_HIOS 1690 1691 Values from DT_LOOS through DT_HIOS are reserved for definition by specific 1692 operating systems. 1693 1694 DT_INIT_ARRAY 1695 1696 The address of an array of pointers to initialization functions. 1697 1698 DT_INIT_ARRAYSZ 1699 1700 Size in bytes of DT_INIT_ARRAY 1701 1702 DT_LOOS 1703 1704 Values from DT_LOOS through DT_HIOS are reserved for definition by specific 1705 operating systems. 1706 1707 DT_NUM 1708 1709 Number of dynamic entry tags defined (excepting reserved ranges). 1710 1711 DT_RELCOUNT 1712 1713 All Elf32_Rel R_*_RELATIVE relocations have been placed into a single block 1714 and this entry specifies the number of entries in that block. This permits 1715 ld.so.1 to streamline the processing of RELATIVE relocations. 1716 1717 DT_SYMINENT 1718 1719 Entry size of syminfo 1720 1721 DT_SYMINFO 1722 1723 Address of the Syminfo table. 1724 1725 DT_SYMINSZ 1726 1727 Size of syminfo table (in bytes) 1728 1729 DT_VALRNGHI 1730 1731 Entries which fall between DT_VALRNGHI & DT_VALRNGLO use the Dyn.d_un.d_val 1732 field of the Elf*_Dyn structure. 1733 1734 DT_VALRNGLO 1735 1736 Entries which fall between DT_VALRNGHI & DT_VALRNGLO use the Dyn.d_un.d_val 1737 field of the Elf*_Dyn structure. 1738 1739 DT_VERDEF 1740 1741 Address of version definition table 1742 1743 DT_VERDEFNUM 1744 1745 Number of version definitions 1746 1747 DT_VERNEED 1748 1749 Address of table with needed versions 1750 1751 DT_VERNEEDNUM 1752 1753 Number of needed versions 1754 1755 DT_VERSYM 1756 1757 Address of the table provided by the .gnu.version section. 1758 1759 1760 1761 ------------------------------------------------------------------------------- 1762 1763 Chapter 10. Program Interpreter 1764 1765 ------------------------------------------------------------------------------- 1766 1767 The Program Interpreter is specified in the appropriate architecture-specific 1768 LSB specification. 1769 1770 IV. Base Libraries 1771 1772 Table of Contents 1773 11. Libraries 1774 1775 ------------------------------------------------------------------------------- 1776 1777 Chapter 11. Libraries 1778 1779 An LSB-conforming implementation shall support some base libraries which 1780 provide interfaces for accessing the operating system, processor and other 1781 hardware in the system. 1782 1783 ------------------------------------------------------------------------------- 1784 1785 Interfaces for libc 1786 1787 Table 11-1. libc Definition 1788 1789 +----------------------+ 1790 |Library:|libc | 1791 |--------+-------------| 1792 |SONAME: |See archLSB. | 1793 +----------------------+ 1794 1795 The behavior of the interfaces in this library is specified by the following 1796 standards. 1797 1798 ISO/IEC 9899: 1999, Programming Languages --C[2] 1799 Large File Support[3] 1800 LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4[4] 1801 Linux Standard Base[5] 1802 IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996][6] 1803 CAE Specification, February 1997, Networking Services (XNS), Issue 5 (ISBN: 1804 1-85912-165-9, C523)[7] 1805 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 1806 (ISBN: 1-85912-181-0, C606)[8] 1807 System V Interface Definition, Issue 3 (ISBN 0201566524)[9] 1808 System V Interface Definition,Fourth Edition[10] 1809 1810 ------------------------------------------------------------------------------- 1811 1812 RPC 1813 1814 Table 11-2. libc - RPC Function Interfaces 1815 1816 +-----------------------------------------------------------------------------------+ 1817 |authnone_create |setdomainname[5] |xdr_array |xdr_int[9] |xdr_u_char[9] | 1818 |[10] | |[9] | | | 1819 |------------------+------------------+-----------+------------------+--------------| 1820 |clnt_create[10] |svc_getreqset[9] |xdr_bool[9]|xdr_long[9] |xdr_u_long[9] | 1821 |------------------+------------------+-----------+------------------+--------------| 1822 |clnt_pcreateerror |svcerr_auth[9] |xdr_bytes |xdr_opaque[9] |xdr_u_short[9]| 1823 |[10] | |[9] | | | 1824 |------------------+------------------+-----------+------------------+--------------| 1825 |clnt_perrno[10] |svcerr_decode[9] |xdr_callhdr|xdr_opaque_auth[9]|xdr_union[9] | 1826 | | |[9] | | | 1827 |------------------+------------------+-----------+------------------+--------------| 1828 |clnt_perror[10] |svcerr_noproc[9] |xdr_callmsg|xdr_pointer[9] |xdr_vector[9] | 1829 | | |[9] | | | 1830 |------------------+------------------+-----------+------------------+--------------| 1831 |clnt_spcreateerror|svcerr_noprog[9] |xdr_char[9]|xdr_reference[9] |xdr_void[9] | 1832 |[10] | | | | | 1833 |------------------+------------------+-----------+------------------+--------------| 1834 |clnt_sperrno[10] |svcerr_progvers[9]|xdr_double |xdr_rejected_reply|xdr_wrapstring| 1835 | | |[9] |[9] |[9] | 1836 |------------------+------------------+-----------+------------------+--------------| 1837 |clnt_sperror[10] |svcerr_systemerr |xdr_enum[9]|xdr_replymsg[9] |xdrmem_create | 1838 | |[9] | | |[9] | 1839 |------------------+------------------+-----------+------------------+--------------| 1840 |getdomainname[5] |svcerr_weakauth[9]|xdr_float |xdr_short[9] |xdrrec_create | 1841 | | |[9] | |[9] | 1842 |------------------+------------------+-----------+------------------+--------------| 1843 |key_decryptsession|xdr_accepted_reply|xdr_free[9]|xdr_string[9] |xdrrec_eof[9] | 1844 |[9] |[9] | | | | 1845 +-----------------------------------------------------------------------------------+ 1846 ------------------------------------------------------------------------------- 1847 1848 System Calls 1849 1850 Table 11-3. libc - System Calls Function Interfaces 1851 1852 +-----------------------------------------------------------------------------+ 1853 |__fxstat[5] |fchown[8] |ioctl[8] |readdir[8] |setsid[8] | 1854 |------------+-------------+-------------+------------------------+-----------| 1855 |__getpgid[5]|fcntl[8] |kill[5] |readdir_r[8] |setuid[8] | 1856 |------------+-------------+-------------+------------------------+-----------| 1857 |__lxstat[5] |fdatasync[8] |killpg[8] |readlink[8] |sleep[8] | 1858 |------------+-------------+-------------+------------------------+-----------| 1859 |__xmknod[5] |flock[5] |lchown[8] |readv[8] |statfs[5] | 1860 |------------+-------------+-------------+------------------------+-----------| 1861 |__xstat[5] |fork[8] |link[8] |rename[8] |statvfs[8] | 1862 |------------+-------------+-------------+------------------------+-----------| 1863 |access[8] |fstatfs[5] |lockf[8] |rmdir[8] |stime[5] | 1864 |------------+-------------+-------------+------------------------+-----------| 1865 |acct[5] |fsync[8] |lseek[8] |sbrk[8] |symlink[8] | 1866 |------------+-------------+-------------+------------------------+-----------| 1867 |alarm[8] |ftime[8] |mkdir[8] |sched_get_priority_max |sync[8] | 1868 | | | |[8] | | 1869 |------------+-------------+-------------+------------------------+-----------| 1870 |brk[8] |ftruncate[8] |mkfifo[8] |sched_get_priority_min |sysconf[8] | 1871 | | | |[8] | | 1872 |------------+-------------+-------------+------------------------+-----------| 1873 |chdir[8] |getcontext[8]|mlock[8] |sched_getparam[8] |time[8] | 1874 |------------+-------------+-------------+------------------------+-----------| 1875 |chmod[8] |getegid[8] |mlockall[8] |sched_getscheduler[8] |times[8] | 1876 |------------+-------------+-------------+------------------------+-----------| 1877 |chown[8] |geteuid[8] |mmap[8] |sched_rr_get_interval[8]|truncate[8]| 1878 |------------+-------------+-------------+------------------------+-----------| 1879 |chroot[8] |getgid[8] |mprotect[8] |sched_setparam[8] |ulimit[8] | 1880 |------------+-------------+-------------+------------------------+-----------| 1881 |clock[8] |getgroups[8] |msync[8] |sched_setscheduler[8] |umask[8] | 1882 |------------+-------------+-------------+------------------------+-----------| 1883 |close[8] |getitimer[8] |munlock[8] |sched_yield[8] |uname[8] | 1884 |------------+-------------+-------------+------------------------+-----------| 1885 |closedir[8] |getloadavg[5]|munlockall[8]|select[7] |unlink[5] | 1886 |------------+-------------+-------------+------------------------+-----------| 1887 |creat[8] |getpagesize |munmap[8] |setcontext[8] |utime[8] | 1888 | |[8] | | | | 1889 |------------+-------------+-------------+------------------------+-----------| 1890 |dup[8] |getpgid[8] |nanosleep[8] |setegid[5] |utimes[8] | 1891 |------------+-------------+-------------+------------------------+-----------| 1892 |dup2[8] |getpgrp[8] |nice[8] |seteuid[5] |vfork[8] | 1893 |------------+-------------+-------------+------------------------+-----------| 1894 |execl[8] |getpid[8] |open[8] |setgid[8] |wait[8] | 1895 |------------+-------------+-------------+------------------------+-----------| 1896 |execle[8] |getppid[8] |opendir[8] |setitimer[8] |wait3[8] | 1897 |------------+-------------+-------------+------------------------+-----------| 1898 |execlp[8] |getpriority |pathconf[8] |setpgid[8] |wait4[5] | 1899 | |[8] | | | | 1900 |------------+-------------+-------------+------------------------+-----------| 1901 |execv[8] |getrlimit[8] |pause[8] |setpgrp[8] |waitid[8] | 1902 |------------+-------------+-------------+------------------------+-----------| 1903 |execve[8] |getrusage[8] |pipe[8] |setpriority[8] |waitpid[8] | 1904 |------------+-------------+-------------+------------------------+-----------| 1905 |execvp[8] |getsid[8] |poll[8] |setregid[8] |write[8] | 1906 |------------+-------------+-------------+------------------------+-----------| 1907 |exit[8] |getuid[8] |pread[8] |setreuid[8] |writev[8] | 1908 |------------+-------------+-------------+------------------------+-----------| 1909 |fchdir[8] |getwd[8] |pwrite[8] |setrlimit[8] | | 1910 |------------+-------------+-------------+------------------------+-----------| 1911 |fchmod[8] |initgroups[5]|read[8] |setrlimit64[3] | | 1912 +-----------------------------------------------------------------------------+ 1913 ------------------------------------------------------------------------------- 1914 1915 Standard I/O 1916 1917 Table 11-4. libc - Standard I/O Function Interfaces 1918 1919 +------------------------------------------------------------------------------+ 1920 |_IO_feof[5] |fgetpos[8] |fsetpos[8] |putc[8] |snprintf | 1921 | | | | |[8] | 1922 |----------------+----------------+----------------+----------------+----------| 1923 |_IO_getc[5] |fgets[8] |fstatvfs[8] |putc_unlocked[8]|sprintf[8]| 1924 |----------------+----------------+----------------+----------------+----------| 1925 |_IO_putc[5] |fgetwc_unlocked |ftell[8] |putchar[8] |sscanf[8] | 1926 | |[8] | | | | 1927 |----------------+----------------+----------------+----------------+----------| 1928 |_IO_puts[5] |fileno[8] |ftello[8] |putchar_unlocked|telldir[8]| 1929 | | | |[8] | | 1930 |----------------+----------------+----------------+----------------+----------| 1931 |alphasort[5] |flockfile[8] |fwrite[8] |puts[8] |tempnam[8]| 1932 |----------------+----------------+----------------+----------------+----------| 1933 |clearerr[8] |fopen[8] |getc[8] |putw[8] |ungetc[8] | 1934 |----------------+----------------+----------------+----------------+----------| 1935 |ctermid[8] |fprintf[8] |getc_unlocked[8]|remove[8] |vasprintf | 1936 | | | | |[5] | 1937 |----------------+----------------+----------------+----------------+----------| 1938 |fclose[8] |fputc[8] |getchar[8] |rewind[8] |vdprintf | 1939 | | | | |[5] | 1940 |----------------+----------------+----------------+----------------+----------| 1941 |fdopen[8] |fputs[8] |getchar_unlocked|rewinddir[8] |vfprintf | 1942 | | |[8] | |[8] | 1943 |----------------+----------------+----------------+----------------+----------| 1944 |feof[8] |fread[8] |gets[8] |scanf[8] |vprintf[8]| 1945 |----------------+----------------+----------------+----------------+----------| 1946 |ferror[8] |freopen[8] |getw[8] |seekdir[8] |vsnprintf | 1947 | | | | |[8] | 1948 |----------------+----------------+----------------+----------------+----------| 1949 |fflush[8] |fscanf[8] |pclose[8] |setbuf[8] |vsprintf | 1950 | | | | |[8] | 1951 |----------------+----------------+----------------+----------------+----------| 1952 |fflush_unlocked |fseek[8] |popen[8] |setbuffer[5] |wprintf[2]| 1953 |[8] | | | | | 1954 |----------------+----------------+----------------+----------------+----------| 1955 |fgetc[8] |fseeko[8] |printf[8] |setvbuf[8] |wscanf[2] | 1956 +------------------------------------------------------------------------------+ 1957 1958 Table 11-5. libc - Standard I/O Data Interfaces 1959 1960 +--------------------------------+ 1961 |stderr[8]|stdin[8]|stdout[8]| | | 1962 +--------------------------------+ 1963 ------------------------------------------------------------------------------- 1964 1965 Signal Handling 1966 1967 Table 11-6. libc - Signal Handling Function Interfaces 1968 1969 +-----------------------------------------------------------------------------+ 1970 |__libc_current_sigrtmax|sigaddset[8]|sighold[8] |sigpause[8] |sigsuspend[8]| 1971 |[5] | | | | | 1972 |-----------------------+------------+-------------+------------+-------------| 1973 |__libc_current_sigrtmin|sigaltstack |sigignore[8] |sigpending |sigtimedwait | 1974 |[5] |[8] | |[8] |[8] | 1975 |-----------------------+------------+-------------+------------+-------------| 1976 |__sigsetjmp[5] |sigandset[5]|siginterrupt |sigprocmask |sigwait[8] | 1977 | | |[8] |[8] | | 1978 |-----------------------+------------+-------------+------------+-------------| 1979 |__sysv_signal[5] |sigblock[5] |sigisemptyset|sigqueue[8] |sigwaitinfo | 1980 | | |[5] | |[8] | 1981 |-----------------------+------------+-------------+------------+-------------| 1982 |bsd_signal[8] |sigdelset[8]|sigismember |sigrelse[8] | | 1983 | | |[8] | | | 1984 |-----------------------+------------+-------------+------------+-------------| 1985 |psignal[5] |sigemptyset |siglongjmp[8]|sigreturn[5]| | 1986 | |[8] | | | | 1987 |-----------------------+------------+-------------+------------+-------------| 1988 |raise[8] |sigfillset |signal[8] |sigset[8] | | 1989 | |[8] | | | | 1990 |-----------------------+------------+-------------+------------+-------------| 1991 |sigaction[8] |siggetmask |sigorset[5] |sigstack[8] | | 1992 | |[5] | | | | 1993 +-----------------------------------------------------------------------------+ 1994 1995 Table 11-7. libc - Signal Handling Data Interfaces 1996 1997 +------------------------+ 1998 |_sys_siglist[5] | | | | | 1999 +------------------------+ 2000 ------------------------------------------------------------------------------- 2001 2002 Standard Library 2003 2004 Table 11-8. libc - Standard Library Function Interfaces 2005 2006 +-----------------------------------------------------------------------------+ 2007 |_Exit[2] |erand48[8] |hsearch[8] |malloc[8] |srand48[8] | 2008 |-----------------+-----------------+------------+---------------+------------| 2009 |__assert_fail[5] |err[5] |htonl[7] |memmem[5] |srandom[8] | 2010 |-----------------+-----------------+------------+---------------+------------| 2011 |__cxa_atexit[5] |error[5] |htons[7] |mkstemp[8] |strtod[8] | 2012 |-----------------+-----------------+------------+---------------+------------| 2013 |__errno_location |errx[5] |imaxabs[2] |mktemp[8] |strtol[8] | 2014 |[5] | | | | | 2015 |-----------------+-----------------+------------+---------------+------------| 2016 |__fpending[5] |fcvt[8] |imaxdiv[2] |mrand48[8] |strtoul[8] | 2017 |-----------------+-----------------+------------+---------------+------------| 2018 |__getpagesize[5] |fmtmsg[8] |inet_addr[7]|nftw[8] |swapcontext | 2019 | | | | |[8] | 2020 |-----------------+-----------------+------------+---------------+------------| 2021 |__sysconf[5] |fnmatch[8] |inet_aton[7]|nrand48[8] |syslog[8] | 2022 |-----------------+-----------------+------------+---------------+------------| 2023 |_exit[8] |fpathconf[8] |inet_ntoa[7]|ntohl[7] |system[5] | 2024 |-----------------+-----------------+------------+---------------+------------| 2025 |_longjmp[8] |free[8] |initstate[8]|ntohs[7] |textdomain | 2026 | | | | |[4] | 2027 |-----------------+-----------------+------------+---------------+------------| 2028 |_setjmp[8] |ftrylockfile[8] |insque[8] |openlog[8] |tfind[8] | 2029 |-----------------+-----------------+------------+---------------+------------| 2030 |a64l[8] |ftw[8] |isatty[8] |perror[8] |tmpfile[8] | 2031 |-----------------+-----------------+------------+---------------+------------| 2032 |abort[8] |funlockfile[8] |isblank[5] |posix_memalign |tmpnam[8] | 2033 | | | |[6] | | 2034 |-----------------+-----------------+------------+---------------+------------| 2035 |abs[8] |gcvt[8] |isinf[2] |ptsname[8] |tsearch[8] | 2036 |-----------------+-----------------+------------+---------------+------------| 2037 |atexit[8] |getcwd[8] |isinfl[2] |putenv[8] |ttyname[8] | 2038 |-----------------+-----------------+------------+---------------+------------| 2039 |atof[8] |getdate[8] |isnan[2] |qsort[8] |ttyname_r[8]| 2040 |-----------------+-----------------+------------+---------------+------------| 2041 |atoi[8] |getenv[8] |isnanf[2] |rand[8] |twalk[8] | 2042 |-----------------+-----------------+------------+---------------+------------| 2043 |atol[8] |getlogin[8] |isnanl[2] |rand_r[8] |unlockpt[8] | 2044 |-----------------+-----------------+------------+---------------+------------| 2045 |basename[8] |getopt[5] |jrand48[8] |random[8] |unsetenv[5] | 2046 |-----------------+-----------------+------------+---------------+------------| 2047 |bindtextdomain[4]|getopt_long[5] |l64a[8] |random_r[5] |usleep[8] | 2048 |-----------------+-----------------+------------+---------------+------------| 2049 |bsearch[8] |getopt_long_only |labs[8] |realloc[8] |verrx[5] | 2050 | |[5] | | | | 2051 |-----------------+-----------------+------------+---------------+------------| 2052 |calloc[8] |getsubopt[8] |lcong48[8] |realpath[8] |vsyslog[5] | 2053 |-----------------+-----------------+------------+---------------+------------| 2054 |closelog[8] |gettimeofday[8] |ldiv[8] |remque[8] |warn[5] | 2055 |-----------------+-----------------+------------+---------------+------------| 2056 |confstr[8] |glob[8] |lfind[8] |seed48[8] |warnx[5] | 2057 |-----------------+-----------------+------------+---------------+------------| 2058 |cuserid[8] |glob64[5] |llabs[2] |setenv[5] |wordexp[8] | 2059 |-----------------+-----------------+------------+---------------+------------| 2060 |daemon[5] |globfree[8] |lldiv[2] |sethostid[5] |wordfree[8] | 2061 |-----------------+-----------------+------------+---------------+------------| 2062 |dirname[8] |globfree64[5] |longjmp[8] |sethostname[5] | | 2063 |-----------------+-----------------+------------+---------------+------------| 2064 |div[8] |grantpt[8] |lrand48[8] |setlogmask[8] | | 2065 |-----------------+-----------------+------------+---------------+------------| 2066 |drand48[8] |hcreate[8] |lsearch[8] |setstate[8] | | 2067 |-----------------+-----------------+------------+---------------+------------| 2068 |ecvt[8] |hdestroy[8] |makecontext |srand[8] | | 2069 | | |[8] | | | 2070 +-----------------------------------------------------------------------------+ 2071 2072 Table 11-9. libc - Standard Library Data Interfaces 2073 2074 +---------------------------------------------------------------+ 2075 |__environ[5]|_sys_errlist[5]|getdate_err[8]|opterr[5]|optopt[5]| 2076 |------------+---------------+--------------+---------+---------| 2077 |_environ[5] |environ[8] |optarg[8] |optind[5]| | 2078 +---------------------------------------------------------------+ 2079 ------------------------------------------------------------------------------- 2080 2081 Localization Functions 2082 2083 Table 11-10. libc - Localization Functions Function Interfaces 2084 2085 +-----------------------------------------------------------------------------+ 2086 |__dcgettext[5] |catgets[8] |dcngettext |gettext[5] |nl_langinfo | 2087 | | |[4] | |[8] | 2088 |-------------------------+-----------+------------+------------+-------------| 2089 |bind_textdomain_codeset |catopen[8] |dgettext[4] |iconv[8] |setlocale[8] | 2090 |[4] | | | | | 2091 |-------------------------+-----------+------------+------------+-------------| 2092 |catclose[8] |dcgettext |dngettext[4]|localeconv | | 2093 | |[4] | |[8] | | 2094 +-----------------------------------------------------------------------------+ 2095 2096 Table 11-11. libc - Localization Functions Data Interfaces 2097 2098 +----------------------------+ 2099 |_nl_msg_cat_cntr[5] | | | | | 2100 +----------------------------+ 2101 ------------------------------------------------------------------------------- 2102 2103 Socket Interface 2104 2105 Table 11-12. libc - Socket Interface Function Interfaces 2106 2107 +-----------------------------------------------------------------------------+ 2108 |__h_errno_location |gethostbyname_r |getsockopt |send[7] |socket[7] | 2109 |[5] |[5] |[7] | | | 2110 |--------------------+-----------------+------------+------------+------------| 2111 |accept[7] |gethostid[8] |listen[7] |sendmsg[7] |socketpair | 2112 | | | | |[7] | 2113 |--------------------+-----------------+------------+------------+------------| 2114 |bind[7] |gethostname[7] |recv[7] |sendto[7] | | 2115 |--------------------+-----------------+------------+------------+------------| 2116 |bindresvport[5] |getpeername[7] |recvfrom[7] |setsockopt | | 2117 | | | |[7] | | 2118 |--------------------+-----------------+------------+------------+------------| 2119 |connect[7] |getsockname[7] |recvmsg[7] |shutdown[7] | | 2120 +-----------------------------------------------------------------------------+ 2121 ------------------------------------------------------------------------------- 2122 2123 Wide Characters 2124 2125 Table 11-13. libc - Wide Characters Function Interfaces 2126 2127 +-----------------------------------------------------------------------------+ 2128 |__wcstod_internal[5] |mbrlen[8] |vswscanf[2] |wcsncmp[8] |wcstoul[8] | 2129 |---------------------+-------------+--------------+-------------+------------| 2130 |__wcstof_internal[5] |mbrtowc[8] |vwprintf[2] |wcsncpy[8] |wcstoull[2] | 2131 |---------------------+-------------+--------------+-------------+------------| 2132 |__wcstol_internal[5] |mbsinit[8] |vwscanf[2] |wcsnlen[5] |wcstoumax[2]| 2133 |---------------------+-------------+--------------+-------------+------------| 2134 |__wcstold_internal[5]|mbsnrtowcs[5]|wcpcpy[5] |wcsnrtombs[5]|wcstouq[5] | 2135 |---------------------+-------------+--------------+-------------+------------| 2136 |__wcstoul_internal[5]|mbsrtowcs[8] |wcpncpy[5] |wcspbrk[2] |wcswcs[8] | 2137 |---------------------+-------------+--------------+-------------+------------| 2138 |btowc[8] |mbstowcs[8] |wcrtomb[8] |wcsrchr[8] |wcswidth[8] | 2139 |---------------------+-------------+--------------+-------------+------------| 2140 |fgetwc[8] |mbtowc[8] |wcscasecmp[5] |wcsrtombs[8] |wcsxfrm[8] | 2141 |---------------------+-------------+--------------+-------------+------------| 2142 |fgetws[2] |putwc[2] |wcscat[8] |wcsspn[8] |wctob[8] | 2143 |---------------------+-------------+--------------+-------------+------------| 2144 |fputwc[2] |putwchar[2] |wcschr[8] |wcsstr[8] |wctomb[8] | 2145 |---------------------+-------------+--------------+-------------+------------| 2146 |fputws[2] |swprintf[8] |wcscmp[8] |wcstod[8] |wctrans[8] | 2147 |---------------------+-------------+--------------+-------------+------------| 2148 |fwide[2] |swscanf[2] |wcscoll[8] |wcstof[2] |wctype[8] | 2149 |---------------------+-------------+--------------+-------------+------------| 2150 |fwprintf[5] |towctrans[8] |wcscpy[8] |wcstoimax[2] |wcwidth[8] | 2151 |---------------------+-------------+--------------+-------------+------------| 2152 |fwscanf[2] |towlower[2] |wcscspn[8] |wcstok[8] |wmemchr[8] | 2153 |---------------------+-------------+--------------+-------------+------------| 2154 |getwc[2] |towupper[8] |wcsdup[5] |wcstol[8] |wmemcmp[8] | 2155 |---------------------+-------------+--------------+-------------+------------| 2156 |getwchar[8] |ungetwc[2] |wcsftime[2] |wcstold[2] |wmemcpy[8] | 2157 |---------------------+-------------+--------------+-------------+------------| 2158 |iconv_close[8] |vfwprintf[2] |wcslen[8] |wcstoll[2] |wmemmove[8] | 2159 |---------------------+-------------+--------------+-------------+------------| 2160 |iconv_open[8] |vfwscanf[2] |wcsncasecmp[5]|wcstombs[8] |wmemset[8] | 2161 |---------------------+-------------+--------------+-------------+------------| 2162 |mblen[8] |vswprintf[2] |wcsncat[8] |wcstoq[5] | | 2163 +-----------------------------------------------------------------------------+ 2164 ------------------------------------------------------------------------------- 2165 2166 String Functions 2167 2168 Table 11-14. libc - String Functions Function Interfaces 2169 2170 +-----------------------------------------------------------------------------+ 2171 |__mempcpy[5] |bzero[8] |strcasestr[5]|strncasecmp |strtoimax[2] | 2172 | | | |[8] | | 2173 |---------------------+-------------+-------------+-------------+-------------| 2174 |__rawmemchr[5] |ffs[8] |strcat[8] |strncat[8] |strtok[8] | 2175 |---------------------+-------------+-------------+-------------+-------------| 2176 |__stpcpy[5] |index[8] |strchr[8] |strncmp[8] |strtok_r[5] | 2177 |---------------------+-------------+-------------+-------------+-------------| 2178 |__strdup[5] |memccpy[8] |strcmp[8] |strncpy[8] |strtold[2] | 2179 |---------------------+-------------+-------------+-------------+-------------| 2180 |__strtod_internal[5] |memchr[8] |strcoll[8] |strndup[5] |strtoll[2] | 2181 |---------------------+-------------+-------------+-------------+-------------| 2182 |__strtof_internal[5] |memcmp[8] |strcpy[8] |strnlen[5] |strtoq[5] | 2183 |---------------------+-------------+-------------+-------------+-------------| 2184 |__strtok_r[5] |memcpy[8] |strcspn[8] |strpbrk[8] |strtoull[2] | 2185 |---------------------+-------------+-------------+-------------+-------------| 2186 |__strtol_internal[5] |memmove[8] |strdup[8] |strptime[5] |strtoumax[2] | 2187 |---------------------+-------------+-------------+-------------+-------------| 2188 |__strtold_internal[5]|memrchr[5] |strerror[8] |strrchr[8] |strtouq[5] | 2189 |---------------------+-------------+-------------+-------------+-------------| 2190 |__strtoll_internal[5]|memset[8] |strerror_r[5]|strsep[5] |strverscmp[5]| 2191 |---------------------+-------------+-------------+-------------+-------------| 2192 |__strtoul_internal[5]|rindex[8] |strfmon[8] |strsignal[5] |strxfrm[8] | 2193 |---------------------+-------------+-------------+-------------+-------------| 2194 |__strtoull_internal |stpcpy[5] |strfry[5] |strspn[8] |swab[8] | 2195 |[5] | | | | | 2196 |---------------------+-------------+-------------+-------------+-------------| 2197 |bcmp[8] |stpncpy[5] |strftime[8] |strstr[8] | | 2198 |---------------------+-------------+-------------+-------------+-------------| 2199 |bcopy[8] |strcasecmp[8]|strlen[8] |strtof[2] | | 2200 +-----------------------------------------------------------------------------+ 2201 ------------------------------------------------------------------------------- 2202 2203 IPC Functions 2204 2205 Table 11-15. libc - IPC Functions Function Interfaces 2206 2207 +-----------------------------------------+ 2208 |ftok[8] |msgrcv[8]|semget[8]|shmctl[8]| | 2209 |---------+---------+---------+---------+-| 2210 |msgctl[8]|msgsnd[8]|semop[8] |shmdt[8] | | 2211 |---------+---------+---------+---------+-| 2212 |msgget[8]|semctl[8]|shmat[8] |shmget[8]| | 2213 +-----------------------------------------+ 2214 ------------------------------------------------------------------------------- 2215 2216 Regular Expressions 2217 2218 Table 11-16. libc - Regular Expressions Function Interfaces 2219 2220 +----------------------------------------------+ 2221 |advance[8]|re_exec[8]|regerror[8]|regfree[8]| | 2222 |----------+----------+-----------+----------+-| 2223 |re_comp[8]|regcomp[8]|regexec[8] |step[8] | | 2224 +----------------------------------------------+ 2225 2226 Table 11-17. libc - Regular Expressions Data Interfaces 2227 2228 +---------------------------+ 2229 |loc1[8]|loc2[8]|locs[8]| | | 2230 +---------------------------+ 2231 ------------------------------------------------------------------------------- 2232 2233 Character Type Functions 2234 2235 Table 11-18. libc - Character Type Functions Function Interfaces 2236 2237 +------------------------------------------------------------------------+ 2238 |__ctype_get_mb_cur_max[5]|isdigit[8]|iswalnum[8]|iswlower[8] |toascii[8]| 2239 |-------------------------+----------+-----------+------------+----------| 2240 |_tolower[8] |isgraph[8]|iswalpha[8]|iswprint[8] |tolower[8]| 2241 |-------------------------+----------+-----------+------------+----------| 2242 |_toupper[8] |islower[8]|iswblank[5]|iswpunct[8] |toupper[8]| 2243 |-------------------------+----------+-----------+------------+----------| 2244 |isalnum[8] |isprint[8]|iswcntrl[8]|iswspace[8] | | 2245 |-------------------------+----------+-----------+------------+----------| 2246 |isalpha[8] |ispunct[8]|iswctype[5]|iswupper[8] | | 2247 |-------------------------+----------+-----------+------------+----------| 2248 |isascii[8] |isspace[8]|iswdigit[8]|iswxdigit[8]| | 2249 |-------------------------+----------+-----------+------------+----------| 2250 |iscntrl[8] |isupper[8]|iswgraph[8]|isxdigit[8] | | 2251 +------------------------------------------------------------------------+ 2252 2253 Table 11-19. libc - Character Type Functions Data Interfaces 2254 2255 +------------------------------------------------------+ 2256 |__ctype_b[5]|__ctype_tolower[5]|__ctype_toupper[5]| | | 2257 +------------------------------------------------------+ 2258 ------------------------------------------------------------------------------- 2259 2260 Time Manipulation 2261 2262 Table 11-20. libc - Time Manipulation Function Interfaces 2263 2264 +-------------------------------------------------------------+ 2265 |adjtime[5] |asctime_r[8]|difftime[8]|localtime[8] |tzset[8] | 2266 |-----------+------------+-----------+--------------+---------| 2267 |adjtimex[5]|ctime[8] |gmtime[8] |localtime_r[8]|ualarm[8]| 2268 |-----------+------------+-----------+--------------+---------| 2269 |asctime[8] |ctime_r[8] |gmtime_r[8]|mktime[8] | | 2270 +-------------------------------------------------------------+ 2271 2272 Table 11-21. libc - Time Manipulation Data Interfaces 2273 2274 +-----------------------------------------+ 2275 |__daylight[5]|__tzname[5]|timezone[8]| | | 2276 |-------------+-----------+-----------+-+-| 2277 |__timezone[5]|daylight[8]|tzname[8] | | | 2278 +-----------------------------------------+ 2279 ------------------------------------------------------------------------------- 2280 2281 Terminal Interface Functions 2282 2283 Table 11-22. libc - Terminal Interface Functions Function Interfaces 2284 2285 +--------------------------------------------------------------------+ 2286 |cfgetispeed[8]|cfsetispeed[8]|tcdrain[8]|tcgetattr[8]|tcsendbreak[8]| 2287 |--------------+--------------+----------+------------+--------------| 2288 |cfgetospeed[8]|cfsetospeed[8]|tcflow[8] |tcgetpgrp[8]|tcsetattr[8] | 2289 |--------------+--------------+----------+------------+--------------| 2290 |cfmakeraw[5] |cfsetspeed[5] |tcflush[8]|tcgetsid[8] |tcsetpgrp[8] | 2291 +--------------------------------------------------------------------+ 2292 ------------------------------------------------------------------------------- 2293 2294 System Database Interface 2295 2296 Table 11-23. libc - System Database Interface Function Interfaces 2297 2298 +------------------------------------------------------------------------------+ 2299 |endgrent[8] |getgrgid[8] |getpwnam[8] |getutxent[8] |setprotoent[7]| 2300 |--------------+------------------+---------------+-------------+--------------| 2301 |endhostent[7] |getgrnam[8] |getpwnam_r[5] |getutxid[8] |setpwent[8] | 2302 |--------------+------------------+---------------+-------------+--------------| 2303 |endnetent[7] |gethostbyaddr[7] |getpwuid[8] |getutxline[8]|setservent[7] | 2304 |--------------+------------------+---------------+-------------+--------------| 2305 |endprotoent[7]|gethostbyname[5] |getpwuid_r[8] |pututxline[8]|setutent[5] | 2306 |--------------+------------------+---------------+-------------+--------------| 2307 |endpwent[8] |getnetbyaddr[7] |getservbyname |setgrent[8] |setutxent[8] | 2308 | | |[5] | | | 2309 |--------------+------------------+---------------+-------------+--------------| 2310 |endservent[7] |getprotobyname[5] |getservbyport |setgroups[5] | | 2311 | | |[7] | | | 2312 |--------------+------------------+---------------+-------------+--------------| 2313 |endutent[8] |getprotobynumber |getservent[5] |sethostent[7]| | 2314 | |[7] | | | | 2315 |--------------+------------------+---------------+-------------+--------------| 2316 |endutxent[8] |getprotoent[5] |getutent[5] |setmntent[5] | | 2317 |--------------+------------------+---------------+-------------+--------------| 2318 |getgrent[8] |getpwent[8] |getutent_r[5] |setnetent[7] | | 2319 +------------------------------------------------------------------------------+ 2320 ------------------------------------------------------------------------------- 2321 2322 Language Support 2323 2324 Table 11-24. libc - Language Support Function Interfaces 2325 2326 +-----------------------------------------------------------------------------+ 2327 |__libc_start_main[5]|_obstack_begin[5]|_obstack_newchunk[5]|obstack_free[5]| | 2328 +-----------------------------------------------------------------------------+ 2329 ------------------------------------------------------------------------------- 2330 2331 Large File Support 2332 2333 Table 11-25. libc - Large File Support Function Interfaces 2334 2335 +----------------------------------------------------------------------+ 2336 |__fxstat64[5] |fopen64[3] |ftello64[3] |mkstemp64[3]|readdir64[3] | 2337 |--------------+-------------+--------------+------------+-------------| 2338 |__lxstat64[5] |freopen64[3] |ftruncate64[3]|mmap64[3] |tmpfile64[3] | 2339 |--------------+-------------+--------------+------------+-------------| 2340 |__xstat64[5] |fseeko64[3] |ftw64[3] |nftw64[3] |truncate64[3]| 2341 |--------------+-------------+--------------+------------+-------------| 2342 |alphasort64[5]|fsetpos64[3] |getrlimit64[3]|open64[3] | | 2343 |--------------+-------------+--------------+------------+-------------| 2344 |creat64[3] |fstatfs64[3] |lockf64[3] |pread64[3] | | 2345 |--------------+-------------+--------------+------------+-------------| 2346 |fgetpos64[3] |fstatvfs64[3]|lseek64[3] |pwrite64[3] | | 2347 +----------------------------------------------------------------------+ 2348 ------------------------------------------------------------------------------- 2349 2350 Data Definitions for libc 2351 2352 ------------------------------------------------------------------------------- 2353 2354 assert.h 2355 2356 #define assert(expr) ((void)0) 2357 ------------------------------------------------------------------------------- 2358 2359 ctype.h 2360 2361 2362 2363 2364 2365 2366 enum 2367 { 2368 _ISupper, _ISlower, _ISalpha, _ISdigit, _ISxdigit, _ISspace, _ISprint, 2369 _ISgraph, _ISblank, _IScntrl, _ISpunct, _ISalnum 2370 } 2371 ; 2372 ------------------------------------------------------------------------------- 2373 2374 dirent.h 2375 2376 2377 2378 2379 2380 2381 typedef struct __dirstream DIR; 2382 2383 2384 2385 2386 2387 struct dirent 2388 { 2389 long d_ino; 2390 off_t d_off; 2391 unsigned short d_reclen; 2392 unsigned char d_type; 2393 char d_name[256]; 2394 } 2395 ; 2396 struct dirent64 2397 { 2398 uint64_t d_ino; 2399 int64_t d_off; 2400 unsigned short d_reclen; 2401 unsigned char d_type; 2402 char d_name[256]; 2403 } 2404 ; 2405 ------------------------------------------------------------------------------- 2406 2407 errno.h 2408 2409 #define errno (*__errno_location()) 2410 2411 2412 2413 #define EPERM 1 2414 #define ECHILD 10 2415 #define ENETDOWN 100 2416 #define ENETUNREACH 101 2417 #define ENETRESET 102 2418 #define ECONNABORTED 103 2419 #define ECONNRESET 104 2420 #define ENOBUFS 105 2421 #define EISCONN 106 2422 #define ENOTCONN 107 2423 #define ESHUTDOWN 108 2424 #define ETOOMANYREFS 109 2425 #define EAGAIN 11 2426 #define ETIMEDOUT 110 2427 #define ECONNREFUSED 111 2428 #define EHOSTDOWN 112 2429 #define EHOSTUNREACH 113 2430 #define EALREADY 114 2431 #define EINPROGRESS 115 2432 #define ESTALE 116 2433 #define EUCLEAN 117 2434 #define ENOTNAM 118 2435 #define ENAVAIL 119 2436 #define ENOMEM 12 2437 #define EISNAM 120 2438 #define EREMOTEIO 121 2439 #define EDQUOT 122 2440 #define ENOMEDIUM 123 2441 #define EMEDIUMTYPE 124 2442 #define ECANCELED 125 2443 #define EACCES 13 2444 #define EFAULT 14 2445 #define ENOTBLK 15 2446 #define EBUSY 16 2447 #define EEXIST 17 2448 #define EXDEV 18 2449 #define ENODEV 19 2450 #define ENOENT 2 2451 #define ENOTDIR 20 2452 #define EISDIR 21 2453 #define EINVAL 22 2454 #define ENFILE 23 2455 #define EMFILE 24 2456 #define ENOTTY 25 2457 #define ETXTBSY 26 2458 #define EFBIG 27 2459 #define ENOSPC 28 2460 #define ESPIPE 29 2461 #define ESRCH 3 2462 #define EROFS 30 2463 #define EMLINK 31 2464 #define EPIPE 32 2465 #define EDOM 33 2466 #define ERANGE 34 2467 #define EINTR 4 2468 #define EIO 5 2469 #define ENXIO 6 2470 #define E2BIG 7 2471 #define ENOEXEC 8 2472 #define EBADF 9 2473 #define EWOULDBLOCK EAGAIN 2474 #define EDEADLOCK EDEADLK 2475 #define ENOTSUP EOPNOTSUPP 2476 ------------------------------------------------------------------------------- 2477 2478 fcntl.h 2479 2480 #define O_RDONLY 00 2481 #define O_ACCMODE 0003 2482 #define O_WRONLY 01 2483 #define O_CREAT 0100 2484 #define O_TRUNC 01000 2485 #define O_SYNC 010000 2486 #define O_RDWR 02 2487 #define O_EXCL 0200 2488 #define O_APPEND 02000 2489 #define O_ASYNC 020000 2490 #define O_NOCTTY 0400 2491 #define O_NDELAY 04000 2492 #define O_NONBLOCK 04000 2493 2494 2495 struct flock 2496 { 2497 short l_type; 2498 short l_whence; 2499 off_t l_start; 2500 off_t l_len; 2501 pid_t l_pid; 2502 } 2503 ; 2504 struct flock64 2505 { 2506 short l_type; 2507 short l_whence; 2508 loff_t l_start; 2509 loff_t l_len; 2510 pid_t l_pid; 2511 } 2512 ; 2513 2514 2515 2516 2517 2518 2519 #define F_DUPFD 0 2520 #define F_RDLCK 0 2521 #define F_GETFD 1 2522 #define F_WRLCK 1 2523 #define F_SETFD 2 2524 #define F_UNLCK 2 2525 #define F_GETFL 3 2526 #define F_SETFL 4 2527 #define F_GETLK 5 2528 #define F_SETLK 6 2529 #define F_SETLKW 7 2530 #define F_SETOWN 8 2531 #define F_GETOWN 9 2532 ------------------------------------------------------------------------------- 2533 2534 fmtmsg.h 2535 2536 2537 2538 2539 #define MM_HARD 1 2540 #define MM_NRECOV 128 2541 #define MM_UTIL 16 2542 #define MM_SOFT 2 2543 #define MM_OPSYS 32 2544 #define MM_FIRM 4 2545 #define MM_RECOVER 64 2546 #define MM_APPL 8 2547 2548 2549 2550 #define MM_NOSEV 0 2551 #define MM_HALT 1 2552 #define MM_ERROR 2 2553 2554 2555 2556 #define MM_NULLLBL ((char *) 0) 2557 ------------------------------------------------------------------------------- 2558 2559 fnmatch.h 2560 2561 2562 2563 2564 #define FNM_PATHNAME (1<<0) 2565 #define FNM_NOESCAPE (1<<1) 2566 #define FNM_PERIOD (1<<2) 2567 #define FNM_NOMATCH 1 2568 ------------------------------------------------------------------------------- 2569 2570 ftw.h 2571 2572 2573 2574 2575 #define FTW_D FTW_D 2576 #define FTW_DNR FTW_DNR 2577 #define FTW_DP FTW_DP 2578 #define FTW_F FTW_F 2579 #define FTW_NS FTW_NS 2580 #define FTW_SL FTW_SL 2581 #define FTW_SLN FTW_SLN 2582 2583 2584 enum 2585 { 2586 FTW_F, FTW_D, FTW_DNR, FTW_NS, FTW_SL, FTW_DP, FTW_SLN 2587 } 2588 ; 2589 2590 2591 enum 2592 { 2593 FTW_PHYS, FTW_MOUNT, FTW_CHDIR, FTW_DEPTH 2594 } 2595 ; 2596 2597 2598 struct FTW 2599 { 2600 int base; 2601 int level; 2602 } 2603 ; 2604 2605 2606 typedef int (*__ftw_func_t) (char *__filename, struct stat * __status, 2607 int __flag); 2608 typedef int (*__ftw64_func_t) (char *__filename, struct stat64 * __status, 2609 int __flag); 2610 typedef int (*__nftw_func_t) (char *__filename, struct stat * __status, 2611 int __flag, struct FTW * __info); 2612 typedef int (*__nftw64_func_t) (char *__filename, struct stat64 * __status, 2613 int __flag, struct FTW * __info); 2614 ------------------------------------------------------------------------------- 2615 2616 getopt.h 2617 2618 2619 2620 struct option 2621 { 2622 char *name; 2623 int has_arg; 2624 int *flag; 2625 int val; 2626 } 2627 ; 2628 ------------------------------------------------------------------------------- 2629 2630 glob.h 2631 2632 2633 2634 2635 2636 2637 typedef struct 2638 { 2639 size_t gl_pathc; 2640 char **gl_pathv; 2641 size_t gl_offs; 2642 int gl_flags; 2643 void (*gl_closedir) (void); 2644 struct dirent *(*gl_readdir) (void); 2645 void *(*gl_opendir) (void); 2646 int (*gl_lstat) (void); 2647 int (*gl_stat) (void); 2648 } 2649 glob_t; 2650 2651 2652 typedef struct 2653 { 2654 size_t gl_pathc; 2655 char **gl_pathv; 2656 size_t gl_offs; 2657 int gl_flags; 2658 void (*gl_closedir) (void); 2659 struct dirent *(*gl_readdir) (void); 2660 void *(*gl_opendir) (void); 2661 int (*gl_lstat) (void); 2662 int (*gl_stat) (void); 2663 } 2664 glob64_t; 2665 #define GLOB_ERR (1<<0) 2666 #define GLOB_MARK (1<<1) 2667 #define GLOB_BRACE (1<<10) 2668 #define GLOB_NOMAGIC (1<<11) 2669 #define GLOB_TILDE (1<<12) 2670 #define GLOB_ONLYDIR (1<<13) 2671 #define GLOB_TILDE_CHECK (1<<14) 2672 #define GLOB_NOSORT (1<<2) 2673 #define GLOB_DOOFFS (1<<3) 2674 #define GLOB_NOCHECK (1<<4) 2675 #define GLOB_APPEND (1<<5) 2676 #define GLOB_NOESCAPE (1<<6) 2677 #define GLOB_PERIOD (1<<7) 2678 #define GLOB_MAGCHAR (1<<8) 2679 #define GLOB_ALTDIRFUNC (1<<9) 2680 2681 2682 2683 #define GLOB_NOSPACE 1 2684 #define GLOB_ABORTED 2 2685 #define GLOB_NOMATCH 3 2686 #define GLOB_NOSYS 4 2687 ------------------------------------------------------------------------------- 2688 2689 grp.h 2690 2691 2692 2693 struct group 2694 { 2695 char *gr_name; 2696 char *gr_passwd; 2697 gid_t gr_gid; 2698 char **gr_mem; 2699 } 2700 ; 2701 ------------------------------------------------------------------------------- 2702 2703 iconv.h 2704 2705 2706 2707 2708 2709 2710 typedef void *iconv_t; 2711 ------------------------------------------------------------------------------- 2712 2713 inttypes.h 2714 2715 2716 2717 2718 2719 2720 typedef lldiv_t imaxdiv_t; 2721 typedef long long intmax_t; 2722 typedef unsigned long long uintmax_t; 2723 typedef unsigned int u_int; 2724 typedef unsigned int uint; 2725 typedef unsigned char uint8_t; 2726 typedef unsigned short uint16_t; 2727 typedef unsigned int uint32_t; 2728 typedef unsigned int *uintptr_t; 2729 typedef long long uint64_t; 2730 ------------------------------------------------------------------------------- 2731 2732 langinfo.h 2733 2734 2735 2736 2737 2738 2739 2740 #define ABDAY_1 0x20000 2741 #define ABDAY_2 0x20001 2742 #define ABDAY_3 0x20002 2743 #define ABDAY_4 0x20003 2744 #define ABDAY_5 0x20004 2745 #define ABDAY_6 0x20005 2746 #define ABDAY_7 0x20006 2747 2748 2749 2750 #define DAY_1 0x20007 2751 #define DAY_2 0x20008 2752 #define DAY_3 0x20009 2753 #define DAY_4 0x2000A 2754 #define DAY_5 0x2000B 2755 #define DAY_6 0x2000C 2756 #define DAY_7 0x2000D 2757 2758 2759 2760 #define ABMON_1 0x2000E 2761 #define ABMON_2 0x2000F 2762 #define ABMON_3 0x20010 2763 #define ABMON_4 0x20011 2764 #define ABMON_5 0x20012 2765 #define ABMON_6 0x20013 2766 #define ABMON_7 0x20014 2767 #define ABMON_8 0x20015 2768 #define ABMON_9 0x20016 2769 #define ABMON_10 0x20017 2770 #define ABMON_11 0x20018 2771 #define ABMON_12 0x20019 2772 2773 2774 2775 #define MON_1 0x2001A 2776 #define MON_2 0x2001B 2777 #define MON_3 0x2001C 2778 #define MON_4 0x2001D 2779 #define MON_5 0x2001E 2780 #define MON_6 0x2001F 2781 #define MON_7 0x20020 2782 #define MON_8 0x20021 2783 #define MON_9 0x20022 2784 #define MON_10 0x20023 2785 #define MON_11 0x20024 2786 #define MON_12 0x20025 2787 2788 2789 2790 #define AM_STR 0x20026 2791 #define PM_STR 0x20027 2792 2793 2794 2795 #define D_T_FMT 0x20028 2796 #define D_FMT 0x20029 2797 #define T_FMT 0x2002A 2798 #define T_FMT_AMPM 0x2002B 2799 2800 2801 2802 #define ERA 0x2002C 2803 #define ERA_D_FMT 0x2002E 2804 #define ALT_DIGITS 0x2002F 2805 #define ERA_D_T_FMT 0x20030 2806 #define ERA_T_FMT 0x20031 2807 2808 2809 2810 2811 2812 2813 #define CODESET 14 2814 2815 2816 2817 #define CRNCYSTR 0x4000F 2818 2819 2820 2821 #define RADIXCHAR 0x10000 2822 #define THOUSEP 0x10001 2823 #define YESEXPR 0x50000 2824 #define NOEXPR 0x50001 2825 #define YESSTR 0x50002 2826 #define NOSTR 0x50003 2827 ------------------------------------------------------------------------------- 2828 2829 locale.h 2830 2831 #define LC_CTYPE 0 2832 #define LC_NUMERIC 1 2833 #define LC_TELEPHONE 10 2834 #define LC_MEASUREMENT 11 2835 #define LC_IDENTIFICATION 12 2836 #define LC_TIME 2 2837 #define LC_COLLATE 3 2838 #define LC_MONETARY 4 2839 #define LC_MESSAGES 5 2840 #define LC_ALL 6 2841 #define LC_PAPER 7 2842 #define LC_NAME 8 2843 #define LC_ADDRESS 9 2844 2845 2846 2847 2848 2849 struct lconv 2850 { 2851 char *decimal_point; 2852 char *thousands_sep; 2853 char *grouping; 2854 char *int_curr_symbol; 2855 char *currency_symbol; 2856 char *mon_decimal_point; 2857 char *mon_thousands_sep; 2858 char *mon_grouping; 2859 char *positive_sign; 2860 char *negative_sign; 2861 char int_frac_digits; 2862 char frac_digits; 2863 char p_cs_precedes; 2864 char p_sep_by_space; 2865 char n_cs_precedes; 2866 char n_sep_by_space; 2867 char p_sign_posn; 2868 char n_sign_posn; 2869 char int_p_cs_precedes; 2870 char int_p_sep_by_space; 2871 char int_n_cs_precedes; 2872 char int_n_sep_by_space; 2873 char int_p_sign_posn; 2874 char int_n_sign_posn; 2875 } 2876 ; 2877 ------------------------------------------------------------------------------- 2878 2879 math.h 2880 2881 #define HUGE_VAL 0x7FF00000UL 2882 #define DOMAIN 1 2883 #define SING 2 2884 2885 2886 struct exception 2887 { 2888 int type; 2889 char *name; 2890 double arg1; 2891 double arg2; 2892 double retval; 2893 } 2894 ; 2895 #define M_1_PI 0.31830988618379067154 2896 #define M_LOG10E 0.43429448190325182765 2897 #define M_2_PI 0.63661977236758134308 2898 #define M_LN2 0.69314718055994530942 2899 #define M_SQRT1_2 0.70710678118654752440 2900 #define M_PI_4 0.78539816339744830962 2901 #define M_2_SQRTPI 1.12837916709551257390 2902 #define M_SQRT2 1.41421356237309504880 2903 #define M_LOG2E 1.4426950408889634074 2904 #define M_PI_2 1.57079632679489661923 2905 #define M_LN10 2.30258509299404568402 2906 #define M_E 2.7182818284590452354 2907 #define M_PI 3.14159265358979323846 2908 ------------------------------------------------------------------------------- 2909 2910 netdb.h 2911 2912 #define h_errno (*__h_errno_location ()) 2913 #define NETDB_INTERNAL -1 2914 #define NETDB_SUCCESS 0 2915 #define HOST_NOT_FOUND 1 2916 #define TRY_AGAIN 2 2917 #define NO_RECOVERY 3 2918 #define NO_DATA 4 2919 #define h_addr h_addr_list[0] 2920 #define NO_ADDRESS NO_DATA 2921 2922 2923 struct servent 2924 { 2925 char *s_name; 2926 char **s_aliases; 2927 int s_port; 2928 char *s_proto; 2929 } 2930 ; 2931 struct hostent 2932 { 2933 char *h_name; 2934 char **h_aliases; 2935 int h_addrtype; 2936 socklen_t h_length; 2937 char **h_addr_list; 2938 } 2939 ; 2940 ------------------------------------------------------------------------------- 2941 2942 netinet/in.h 2943 2944 #define INADDR_NONE ((unsigned long int) 0xffffffff) 2945 #define INADDR_BROADCAST (0xffffffff) 2946 #define INADDR_ANY 0 2947 #define IPPROTO_IP 0 2948 #define IPPROTO_ICMP 1 2949 #define IP_TOS 1 2950 #define IPPROTO_UDP 17 2951 #define IPPROTO_IGMP 2 2952 #define IPPROTO_RAW 255 2953 #define IPPROTO_TCP 6 2954 2955 2956 2957 2958 2959 struct in_addr 2960 { 2961 uint32_t s_addr; 2962 } 2963 ; 2964 2965 2966 struct sockaddr_in 2967 { 2968 sa_family_t sin_family; 2969 unsigned short sin_port; 2970 struct in_addr sin_addr; 2971 unsigned char __pad[8]; 2972 } 2973 ; 2974 ------------------------------------------------------------------------------- 2975 2976 nl_types.h 2977 2978 #define NL_CAT_LOCALE 1 2979 #define NL_SETD 1 2980 2981 2982 2983 2984 2985 typedef void *nl_catd; 2986 2987 2988 typedef int nl_item; 2989 ------------------------------------------------------------------------------- 2990 2991 pwd.h 2992 2993 2994 2995 2996 2997 2998 struct passwd 2999 { 3000 char *pw_name; 3001 char *pw_passwd; 3002 uid_t pw_uid; 3003 gid_t pw_gid; 3004 char *pw_gecos; 3005 char *pw_dir; 3006 char *pw_shell; 3007 } 3008 ; 3009 ------------------------------------------------------------------------------- 3010 3011 regex.h 3012 3013 3014 3015 3016 #define RE_SYNTAX_GNU_AWK ((RE_SYNTAX_POSIX_EXTENDED|RE_BACKSLASH_ESCAPE_IN_LISTS|RE_DEBUG)& ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS)) 3017 #define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int)1) 3018 #define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS<<1) 3019 #define RE_SYNTAX_AWK (RE_BACKSLASH_ESCAPE_IN_LISTS|RE_DOT_NOT_NULL|RE_NO_BK_PARENS| RE_NO_BK_REFS| RE_NO_BK_VBAR| RE_NO_EMPTY_RANGES| RE_DOT_NEWLINE| RE_CONTEXT_INDEP_ANCHORS| RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) 3020 #define RE_CHAR_CLASSES (RE_BK_PLUS_QM<<1) 3021 #define RE_SYNTAX_GREP (RE_BK_PLUS_QM|RE_CHAR_CLASSES|RE_HAT_LISTS_NOT_NEWLINE|RE_INTERVALS|RE_NEWLINE_ALT) 3022 #define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES<<1) 3023 #define RE_SYNTAX_EGREP (RE_CHAR_CLASSES|RE_CONTEXT_INDEP_ANCHORS| RE_CONTEXT_INDEP_OPS|RE_HAT_LISTS_NOT_NEWLINE|RE_NEWLINE_ALT|RE_NO_BK_PARENS|RE_NO_BK_VBAR) 3024 #define _RE_SYNTAX_POSIX_COMMON (RE_CHAR_CLASSES|RE_DOT_NEWLINE|RE_DOT_NOT_NULL|RE_INTERVALS) 3025 #define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS<<1) 3026 #define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS<<1) 3027 #define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS<<1) 3028 #define RE_INVALID_INTERVAL_ORD (RE_DEBUG<<1) 3029 #define RE_DOT_NOT_NULL (RE_DOT_NEWLINE<<1) 3030 #define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL<<1) 3031 #define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE<<1) 3032 #define RE_LIMITED_OPS (RE_INTERVALS<<1) 3033 #define RE_NEWLINE_ALT (RE_LIMITED_OPS<<1) 3034 #define RE_NO_BK_BRACES (RE_NEWLINE_ALT<<1) 3035 #define RE_NO_BK_PARENS (RE_NO_BK_BRACES<<1) 3036 #define RE_NO_BK_REFS (RE_NO_BK_PARENS<<1) 3037 #define RE_NO_BK_VBAR (RE_NO_BK_REFS<<1) 3038 #define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR<<1) 3039 #define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES<<1) 3040 #define RE_DEBUG (RE_NO_GNU_OPS<<1) 3041 #define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING<<1) 3042 #define RE_SYNTAX_POSIX_EGREP (RE_SYNTAX_EGREP|RE_INTERVALS|RE_NO_BK_BRACES|RE_INVALID_INTERVAL_ORD) 3043 #define RE_SYNTAX_POSIX_AWK (RE_SYNTAX_POSIX_EXTENDED|RE_BACKSLASH_ESCAPE_IN_LISTS|RE_INTERVALS|RE_NO_GNU_OPS) 3044 #define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD<<1) 3045 #define RE_SYNTAX_POSIX_BASIC (_RE_SYNTAX_POSIX_COMMON|RE_BK_PLUS_QM) 3046 #define RE_SYNTAX_POSIX_EXTENDED (_RE_SYNTAX_POSIX_COMMON|RE_CONTEXT_INDEP_ANCHORS|RE_CONTEXT_INDEP_OPS|RE_NO_BK_BRACES|RE_NO_BK_PARENS|RE_NO_BK_VBAR|RE_CONTEXT_INVALID_OPS|RE_UNMATCHED_RIGHT_PAREN_ORD) 3047 #define RE_SYNTAX_POSIX_MINIMAL_EXTENDED (_RE_SYNTAX_POSIX_COMMON|RE_CONTEXT_INDEP_ANCHORS|RE_CONTEXT_INVALID_OPS|RE_NO_BK_BRACES|RE_NO_BK_PARENS|RE_NO_BK_REFS|RE_NO_BK_VBAR|RE_UNMATCHED_RIGHT_PAREN_ORD) 3048 #define RE_SYNTAX_POSIX_MINIMAL_BASIC (_RE_SYNTAX_POSIX_COMMON|RE_LIMITED_OPS) 3049 #define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC 3050 #define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC 3051 3052 3053 typedef unsigned long reg_syntax_t; 3054 3055 3056 3057 3058 3059 typedef struct re_pattern_buffer 3060 { 3061 unsigned char *buffer; 3062 unsigned long allocated; 3063 unsigned long used; 3064 reg_syntax_t syntax; 3065 char *fastmap; 3066 char *translate; 3067 size_t re_nsub; 3068 unsigned int can_be_null:1; 3069 unsigned int regs_allocated:2; 3070 unsigned int fastmap_accurate:1; 3071 unsigned int no_sub:1; 3072 unsigned int not_bol:1; 3073 unsigned int not_eol:1; 3074 unsigned int newline_anchor:1; 3075 } 3076 regex_t; 3077 typedef int regoff_t; 3078 typedef struct 3079 { 3080 regoff_t rm_so; 3081 regoff_t rm_eo; 3082 } 3083 regmatch_t; 3084 #define REG_NOTEOL (1<<1) 3085 #define REG_ICASE (REG_EXTENDED<<1) 3086 #define REG_NEWLINE (REG_ICASE<<1) 3087 #define REG_NOSUB (REG_NEWLINE<<1) 3088 #define REG_NOMATCH -1 3089 #define REG_EXTENDED 1 3090 #define REG_NOTBOL 1 3091 ------------------------------------------------------------------------------- 3092 3093 sched.h 3094 3095 #define SCHED_OTHER 0 3096 #define SCHED_FIFO 1 3097 #define SCHED_RR 2 3098 3099 3100 struct sched_param 3101 { 3102 int sched_priority; 3103 } 3104 ; 3105 ------------------------------------------------------------------------------- 3106 3107 search.h 3108 3109 3110 3111 3112 3113 3114 typedef struct entry 3115 { 3116 char *key; 3117 void *data; 3118 } 3119 ENTRY; 3120 typedef enum 3121 { 3122 FIND, ENTER 3123 } 3124 ACTION; 3125 typedef enum 3126 { 3127 preorder, postorder, endorder, leaf 3128 } 3129 VISIT; 3130 3131 3132 typedef void (*__action_fn_t) (void *__nodep, VISIT __value, int __level); 3133 ------------------------------------------------------------------------------- 3134 3135 setjmp.h 3136 3137 #define setjmp(env) _setjmp(env) 3138 #define sigsetjmp(a,b) __sigsetjmp(a,b) 3139 3140 3141 3142 3143 3144 typedef int __jmp_buf[6]; 3145 3146 3147 struct __jmp_buf_tag 3148 { 3149 __jmp_buf __jmpbuf; 3150 int __mask_was_saved; 3151 sigset_t __saved_mask; 3152 } 3153 ; 3154 3155 3156 typedef struct __jmp_buf_tag jmp_buf[1]; 3157 typedef jmp_buf sigjmp_buf; 3158 ------------------------------------------------------------------------------- 3159 3160 signal.h 3161 3162 #define SIGRTMAX (__libc_current_sigrtmax ()) 3163 #define SIGRTMIN (__libc_current_sigrtmin ()) 3164 #define SIGEV_SIGNAL 0 3165 #define SIG_BLOCK 0 3166 #define SIG_UNBLOCK 1 3167 #define SIGEV_THREAD 2 3168 #define SIG_SETMASK 2 3169 #define NSIG 64 3170 3171 3172 typedef int sig_atomic_t; 3173 struct sigstack 3174 { 3175 void *ss_sp; 3176 int ss_onstack; 3177 } 3178 ; 3179 #define SIG_ERR ((__sighandler_t)-1) 3180 #define SIG_DFL ((__sighandler_t)0) 3181 #define SIG_IGN ((__sighandler_t)1) 3182 #define SIGHUP 1 3183 #define SIGSEGV 11 3184 #define SIGPIPE 13 3185 #define SIGALRM 14 3186 #define SIGTERM 15 3187 #define SIGINT 2 3188 #define SIGPROF 27 3189 #define SIGQUIT 3 3190 #define SIGILL 4 3191 #define SIGTRAP 5 3192 #define SIGABRT 6 3193 #define SIGIOT 6 3194 #define SIGFPE 8 3195 #define SIGKILL 9 3196 #define SIGCLD SIGCHLD 3197 #define SIGPOLL SIGIO 3198 3199 3200 3201 3202 3203 typedef void (*__sighandler_t) (void); 3204 #define SV_ONSTACK (1<<0) 3205 #define SV_INTERRUPT (1<<1) 3206 #define SV_RESETHAND (1<<2) 3207 3208 3209 typedef union sigval 3210 { 3211 int sival_int; 3212 void *sival_ptr; 3213 } 3214 sigval_t; 3215 #define SIGEV_NONE 1 3216 3217 3218 typedef struct sigevent 3219 { 3220 sigval_t sigev_value; 3221 int sigev_signo; 3222 int sigev_notify; 3223 union 3224 { 3225 int _pad[SI_PAD_SIZE]; 3226 struct 3227 { 3228 void (*sigev_thread_func) (void); 3229 void *_attribute; 3230 } 3231 _sigev_thread; 3232 } 3233 _sigev_un; 3234 } 3235 sigevent_t; 3236 #define SI_QUEUE -1 3237 #define SI_TIMER -2 3238 #define SI_MESGQ -3 3239 #define SI_ASYNCIO -4 3240 #define SI_USER 0 3241 #define si_pid _sifields._kill._pid 3242 #define si_uid _sifields._kill._uid 3243 #define si_value _sifields._rt._sigval 3244 #define si_int _sifields._rt._sigval.sival_int 3245 #define si_ptr _sifields._rt._sigval.sival_ptr 3246 #define si_status _sifields._sigchld._status 3247 #define si_stime _sifields._sigchld._stime 3248 #define si_utime _sifields._sigchld._utime 3249 #define si_addr _sifields._sigfault._addr 3250 #define si_band _sifields._sigpoll._band 3251 #define si_fd _sifields._sigpoll._fd 3252 #define si_timer1 _sifields._timer._timer1 3253 3254 3255 typedef struct siginfo 3256 { 3257 int si_signo; 3258 int si_errno; 3259 int si_code; 3260 union 3261 { 3262 int _pad[SI_PAD_SIZE]; 3263 struct 3264 { 3265 pid_t _pid; 3266 uid_t _uid; 3267 } 3268 _kill; 3269 struct 3270 { 3271 unsigned int _timer1; 3272 unsigned int _timer2; 3273 } 3274 _timer; 3275 struct 3276 { 3277 pid_t _pid; 3278 uid_t _uid; 3279 sigval_t _sigval; 3280 } 3281 _rt; 3282 struct 3283 { 3284 pid_t _pid; 3285 uid_t _uid; 3286 int _status; 3287 clock_t _utime; 3288 clock_t _stime; 3289 } 3290 _sigchld; 3291 struct 3292 { 3293 void *_addr; 3294 } 3295 _sigfault; 3296 struct 3297 { 3298 int _band; 3299 int _fd; 3300 } 3301 _sigpoll; 3302 } 3303 _sifields; 3304 } 3305 siginfo_t; 3306 3307 3308 typedef struct 3309 { 3310 unsigned long sig[_SIGSET_NWORDS]; 3311 } 3312 sigset_t; 3313 #define SA_NOCLDSTOP 0x00000001 3314 #define SA_NOCLDWAIT 0x00000002 3315 #define SA_SIGINFO 0x00000004 3316 #define SA_ONSTACK 0x08000000 3317 #define SA_RESTART 0x10000000 3318 #define SA_INTERRUPT 0x20000000 3319 #define SA_NODEFER 0x40000000 3320 #define SA_RESETHAND 0x80000000 3321 #define SA_NOMASK SA_NODEFER 3322 #define SA_ONESHOT SA_RESETHAND 3323 3324 3325 struct sigaction 3326 { 3327 union 3328 { 3329 __sighandler_t _sa_handler; 3330 void (*_sa_sigaction) (void); 3331 } 3332 __sigaction_handler; 3333 unsigned long sa_flags; 3334 void (*sa_restorer) (void); 3335 sigset_t sa_mask; 3336 } 3337 ; 3338 3339 3340 typedef struct sigaltstack 3341 { 3342 void *ss_sp; 3343 int ss_flags; 3344 size_t ss_size; 3345 } 3346 stack_t; 3347 ------------------------------------------------------------------------------- 3348 3349 stdio.h 3350 3351 #define EOF (-1) 3352 #define P_tmpdir "/tmp" 3353 #define FOPEN_MAX 16 3354 #define L_tmpnam 20 3355 #define FILENAME_MAX 4096 3356 #define BUFSIZ 8192 3357 #define L_ctermid 9 3358 #define L_cuserid 9 3359 3360 3361 typedef struct _IO_FILE *FILE; 3362 typedef struct 3363 { 3364 off_t __pos; 3365 mbstate_t __state; 3366 } 3367 fpos_t; 3368 typedef struct 3369 { 3370 off64_t __pos; 3371 mbstate_t __state; 3372 } 3373 fpos64_t; 3374 3375 3376 3377 #define _IOFBF 0 3378 #define _IOLBF 1 3379 #define _IONBF 2 3380 ------------------------------------------------------------------------------- 3381 3382 stdlib.h 3383 3384 #define MB_CUR_MAX (__ctype_get_mb_cur_max()) 3385 #define EXIT_SUCCESS 0 3386 #define EXIT_FAILURE 1 3387 #define RAND_MAX 2147483647 3388 3389 3390 typedef int (*__compar_fn_t) (void); 3391 3392 3393 typedef struct 3394 { 3395 int quot; 3396 int rem; 3397 } 3398 div_t; 3399 3400 3401 typedef struct 3402 { 3403 long quot; 3404 long rem; 3405 } 3406 ldiv_t; 3407 3408 3409 typedef struct 3410 { 3411 long long quot; 3412 long long rem; 3413 } 3414 lldiv_t; 3415 ------------------------------------------------------------------------------- 3416 3417 sys/file.h 3418 3419 #define LOCK_SH 1 3420 #define LOCK_EX 2 3421 #define LOCK_NB 4 3422 #define LOCK_UN 8 3423 ------------------------------------------------------------------------------- 3424 3425 sys/ioctl.h 3426 3427 #define FIONREAD 0x541B 3428 ------------------------------------------------------------------------------- 3429 3430 sys/ipc.h 3431 3432 #define IPC_PRIVATE ((key_t)0) 3433 #define IPC_RMID 0 3434 #define IPC_CREAT 00001000 3435 #define IPC_EXCL 00002000 3436 #define IPC_NOWAIT 00004000 3437 #define IPC_SET 1 3438 #define IPC_STAT 2 3439 3440 3441 struct ipc_perm 3442 { 3443 key_t __key; 3444 uid_t uid; 3445 gid_t gid; 3446 uid_t cuid; 3447 gid_t cgid; 3448 unsigned short mode; 3449 unsigned short __pad1; 3450 unsigned short __seq; 3451 unsigned short __pad2; 3452 unsigned long __unused1; 3453 unsigned long __unused2; 3454 } 3455 ; 3456 ------------------------------------------------------------------------------- 3457 3458 sys/mman.h 3459 3460 #define MAP_FAILED ((void*)-1) 3461 #define PROT_NONE 0x0 3462 #define MAP_SHARED 0x01 3463 #define MAP_PRIVATE 0x02 3464 #define PROT_READ 0x1 3465 #define MAP_FIXED 0x10 3466 #define PROT_WRITE 0x2 3467 #define MAP_ANONYMOUS 0x20 3468 #define PROT_EXEC 0x4 3469 #define MCL_CURRENT 1 3470 #define MS_ASYNC 1 3471 #define MCL_FUTURE 2 3472 #define MS_INVALIDATE 2 3473 #define MS_SYNC 4 3474 #define MAP_ANON MAP_ANONYMOUS 3475 ------------------------------------------------------------------------------- 3476 3477 sys/msg.h 3478 3479 #define MSG_NOERROR 010000 3480 3481 3482 3483 3484 3485 3486 3487 3488 struct msqid_ds 3489 { 3490 struct ipc_perm msg_perm; 3491 time_t msg_stime; 3492 unsigned long __unused1; 3493 time_t msg_rtime; 3494 unsigned long __unused2; 3495 time_t msg_ctime; 3496 unsigned long __unused3; 3497 unsigned long __msg_cbytes; 3498 msgqnum_t msg_qnum; 3499 msglen_t msg_qbytes; 3500 pid_t msg_lspid; 3501 pid_t msg_lrpid; 3502 unsigned long __unused4; 3503 unsigned long __unused5; 3504 } 3505 ; 3506 ------------------------------------------------------------------------------- 3507 3508 sys/resource.h 3509 3510 #define RLIM_INFINITY (~0UL) 3511 #define RLIM_SAVED_CUR -1 3512 #define RLIM_SAVED_MAX -1 3513 #define RLIMIT_CPU 0 3514 #define RUSAGE_SELF 0 3515 #define RLIMIT_FSIZE 1 3516 #define RLIMIT_DATA 2 3517 #define RLIMIT_STACK 3 3518 #define RLIMIT_CORE 4 3519 #define RLIMIT_NOFILE 7 3520 #define RLIMIT_AS 9 3521 3522 3523 3524 3525 3526 typedef unsigned long rlim_t; 3527 typedef unsigned long long rlim64_t; 3528 3529 3530 struct rlimit 3531 { 3532 rlim_t rlim_cur; 3533 rlim_t rlim_max; 3534 } 3535 ; 3536 struct rlimit64 3537 { 3538 rlim64_t rlim_cur; 3539 rlim64_t rlim_max; 3540 } 3541 ; 3542 3543 3544 struct rusage 3545 { 3546 struct timeval ru_utime; 3547 struct timeval ru_stime; 3548 long ru_maxrss; 3549 long ru_ixrss; 3550 long ru_idrss; 3551 long ru_isrss; 3552 long ru_minflt; 3553 long ru_majflt; 3554 long ru_nswap; 3555 long ru_inblock; 3556 long ru_oublock; 3557 long ru_msgsnd; 3558 long ru_msgrcv; 3559 long ru_nsignals; 3560 long ru_nvcsw; 3561 long ru_nivcsw; 3562 } 3563 ; 3564 ------------------------------------------------------------------------------- 3565 3566 sys/sem.h 3567 3568 #define SEM_UNDO 0x1000 3569 #define GETPID 11 3570 #define GETVAL 12 3571 #define GETALL 13 3572 #define GETNCNT 14 3573 #define GETZCNT 15 3574 #define SETVAL 16 3575 #define SETALL 17 3576 3577 3578 struct sembuf 3579 { 3580 short sem_num; 3581 short sem_op; 3582 short sem_flg; 3583 } 3584 ; 3585 struct semid_ds 3586 { 3587 struct ipc_perm sem_perm; 3588 time_t sem_otime; 3589 unsigned long __unused1; 3590 time_t sem_ctime; 3591 unsigned long __unused2; 3592 unsigned long sem_nsems; 3593 unsigned long __unused3; 3594 unsigned long __unused4; 3595 } 3596 ; 3597 ------------------------------------------------------------------------------- 3598 3599 sys/shm.h 3600 3601 #define SHMLBA (__getpagesize()) 3602 #define SHM_RND 020000 3603 #define SHM_RDONLY 4096 3604 3605 3606 3607 3608 3609 3610 3611 3612 struct shmid_ds 3613 { 3614 struct ipc_perm shm_perm; 3615 int shm_segsz; 3616 time_t shm_atime; 3617 unsigned long __unused1; 3618 time_t shm_dtime; 3619 unsigned long __unused2; 3620 time_t shm_ctime; 3621 unsigned long __unused3; 3622 pid_t shm_cpid; 3623 pid_t shm_lpid; 3624 shmatt_t shm_nattch; 3625 unsigned long __unused4; 3626 unsigned long __unused5; 3627 } 3628 ; 3629 ------------------------------------------------------------------------------- 3630 3631 sys/socket.h 3632 3633 #define SHUT_RD 0 3634 #define MSG_WAITALL 0x100 3635 #define MSG_TRUNC 0x20 3636 #define MSG_EOR 0x80 3637 #define SIOCGIFCONF 0x8912 3638 #define MSG_OOB 1 3639 #define SHUT_WR 1 3640 #define MSG_PEEK 2 3641 #define SHUT_RDWR 2 3642 #define MSG_DONTROUTE 4 3643 #define MSG_CTRUNC 8 3644 #define PF_INET AF_INET 3645 #define PF_INET6 AF_INET6 3646 3647 3648 struct linger 3649 { 3650 int l_onoff; 3651 int l_linger; 3652 } 3653 ; 3654 struct cmsghdr 3655 { 3656 size_t cmsg_len; 3657 int cmsg_level; 3658 int cmsg_type; 3659 } 3660 ; 3661 struct iovec 3662 { 3663 void *iov_base; 3664 size_t iov_len; 3665 } 3666 ; 3667 3668 3669 typedef unsigned short sa_family_t; 3670 typedef unsigned int socklen_t; 3671 3672 3673 struct sockaddr 3674 { 3675 sa_family_t sa_family; 3676 char sa_data[14]; 3677 } 3678 ; 3679 3680 3681 struct msghdr 3682 { 3683 void *msg_name; 3684 int msg_namelen; 3685 struct iovec *msg_iov; 3686 size_t msg_iovlen; 3687 void *msg_control; 3688 size_t msg_controllen; 3689 unsigned int msg_flags; 3690 } 3691 ; 3692 #define AF_UNSPEC 0 3693 #define AF_LOCAL 1 3694 #define AF_UNIX 1 3695 #define AF_INET6 10 3696 #define AF_INET 2 3697 #define AF_AX25 3 3698 #define AF_IPX 4 3699 #define AF_APPLETALK 5 3700 #define AF_NETROM 6 3701 #define AF_BRIDGE 7 3702 #define AF_ATMPVC 8 3703 #define AF_X25 9 3704 3705 3706 3707 #define SOCK_STREAM 1 3708 #define SOCK_PACKET 10 3709 #define SOCK_DGRAM 2 3710 #define SOCK_RAW 3 3711 #define SOCK_RDM 4 3712 #define SOCK_SEQPACKET 5 3713 3714 3715 3716 #define SOL_IP 0 3717 #define SOL_SOCKET 1 3718 #define SO_DEBUG 1 3719 #define SO_OOBINLINE 10 3720 #define SO_NO_CHECK 11 3721 #define SO_PRIORITY 12 3722 #define SO_LINGER 13 3723 #define SOL_UDP 17 3724 #define SO_REUSEADDR 2 3725 #define SOL_RAW 255 3726 #define SO_TYPE 3 3727 #define SO_ERROR 4 3728 #define SO_DONTROUTE 5 3729 #define SOL_TCP 6 3730 #define SO_BROADCAST 6 3731 #define SO_SNDBUF 7 3732 #define SO_RCVBUF 8 3733 #define SO_KEEPALIVE 9 3734 ------------------------------------------------------------------------------- 3735 3736 sys/stat.h 3737 3738 #define S_ISBLK(m) (((m)& S_IFMT)==S_IFBLK) 3739 #define S_ISCHR(m) (((m)& S_IFMT)==S_IFCHR) 3740 #define S_ISDIR(m) (((m)& S_IFMT)==S_IFDIR) 3741 #define S_ISFIFO(m) (((m)& S_IFMT)==S_IFIFO) 3742 #define S_ISLNK(m) (((m)& S_IFMT)==S_IFLNK) 3743 #define S_ISREG(m) (((m)& S_IFMT)==S_IFREG) 3744 #define S_ISSOCK(m) (((m)& S_IFMT)==S_IFSOCK) 3745 #define S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode) 3746 #define S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode) 3747 #define S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode) 3748 #define S_IRWXU (S_IREAD|S_IWRITE|S_IEXEC) 3749 #define S_IROTH (S_IRGRP>>3) 3750 #define S_IRGRP (S_IRUSR>>3) 3751 #define S_IRWXO (S_IRWXG>>3) 3752 #define S_IRWXG (S_IRWXU>>3) 3753 #define S_IWOTH (S_IWGRP>>3) 3754 #define S_IWGRP (S_IWUSR>>3) 3755 #define S_IXOTH (S_IXGRP>>3) 3756 #define S_IXGRP (S_IXUSR>>3) 3757 #define S_ISVTX 01000 3758 #define S_IXUSR 0x0040 3759 #define S_IWUSR 0x0080 3760 #define S_IRUSR 0x0100 3761 #define S_ISGID 0x0400 3762 #define S_ISUID 0x0800 3763 #define S_IFIFO 0x1000 3764 #define S_IFCHR 0x2000 3765 #define S_IFDIR 0x4000 3766 #define S_IFBLK 0x6000 3767 #define S_IFREG 0x8000 3768 #define S_IFLNK 0xa000 3769 #define S_IFSOCK 0xc000 3770 #define S_IFMT 0xf000 3771 #define _STAT_VER 3 3772 #define S_IREAD S_IRUSR 3773 #define S_IWRITE S_IWUSR 3774 #define S_IEXEC S_IXUSR 3775 3776 3777 struct stat 3778 { 3779 dev_t st_dev; 3780 unsigned short __pad1; 3781 unsigned long st_ino; 3782 mode_t st_mode; 3783 nlink_t st_nlink; 3784 pid_t st_uid; 3785 gid_t st_gid; 3786 dev_t st_rdev; 3787 unsigned short __pad2; 3788 off_t st_size; 3789 blksize_t st_blksize; 3790 blkcnt_t st_blocks; 3791 time_t st_atime; 3792 unsigned long __unused1; 3793 time_t st_mtime; 3794 unsigned long __unused2; 3795 time_t st_ctime; 3796 unsigned long __unused3; 3797 unsigned long __unused4; 3798 unsigned long __unused5; 3799 } 3800 ; 3801 struct stat64 3802 { 3803 dev_t st_dev; 3804 unsigned int __pad0; 3805 ino_t __st_ino; 3806 mode_t st_mode; 3807 nlink_t st_nlink; 3808 uid_t st_uid; 3809 gid_t st_gid; 3810 dev_t st_rdev; 3811 unsigned int __pad2; 3812 off64_t st_size; 3813 blksize_t st_blksize; 3814 blkcnt64_t st_blocks; 3815 time_t st_atime; 3816 unsigned long __unused1; 3817 time_t st_mtime; 3818 unsigned long __unused2; 3819 time_t st_ctime; 3820 unsigned long __unused3; 3821 ino64_t st_ino; 3822 } 3823 ; 3824 ------------------------------------------------------------------------------- 3825 3826 sys/time.h 3827 3828 #define ITIMER_REAL 0 3829 #define ITIMER_VIRTUAL 1 3830 #define ITIMER_PROF 2 3831 3832 3833 struct timezone 3834 { 3835 int tz_minuteswest; 3836 int tz_dsttime; 3837 } 3838 ; 3839 3840 3841 3842 3843 3844 3845 3846 3847 struct timespec 3848 { 3849 time_t tv_sec; 3850 long tv_nsec; 3851 } 3852 ; 3853 3854 3855 3856 3857 3858 struct timeval 3859 { 3860 time_t tv_sec; 3861 suseconds_t tv_usec; 3862 } 3863 ; 3864 3865 3866 struct itimerval 3867 { 3868 struct timeval it_interval; 3869 struct timeval it_value; 3870 } 3871 ; 3872 ------------------------------------------------------------------------------- 3873 3874 sys/timeb.h 3875 3876 3877 3878 struct timeb 3879 { 3880 time_t time; 3881 unsigned short millitm; 3882 short timezone; 3883 short dstflag; 3884 } 3885 ; 3886 ------------------------------------------------------------------------------- 3887 3888 sys/times.h 3889 3890 3891 3892 struct tms 3893 { 3894 clock_t tms_utime; 3895 clock_t tms_stime; 3896 clock_t tms_cutime; 3897 clock_t tms_cstime; 3898 } 3899 ; 3900 ------------------------------------------------------------------------------- 3901 3902 sys/utsname.h 3903 3904 3905 3906 struct utsname 3907 { 3908 char sysname[65]; 3909 char nodename[65]; 3910 char release[65]; 3911 char version[65]; 3912 char machine[65]; 3913 char domainname[65]; 3914 } 3915 ; 3916 ------------------------------------------------------------------------------- 3917 3918 sys/wait.h 3919 3920 #define WIFSIGNALED(status) (!WIFSTOPPED(status) & & !WIFEXITED(status)) 3921 #define WIFSTOPPED(status) (((status) & 0xff) == 0x7f) 3922 #define WEXITSTATUS(status) (((status) & 0xff00) >> 8) 3923 #define WTERMSIG(status) ((status) & 0x7f) 3924 #define WCOREDUMP(status) ((status) & 0x80) 3925 #define WIFEXITED(status) (WTERMSIG(status) == 0) 3926 #define WNOHANG 0x00000001 3927 #define WUNTRACED 0x00000002 3928 #define WCOREFLAG 0x80 3929 #define WSTOPSIG(status) WEXITSTATUS(status) 3930 3931 3932 typedef enum 3933 { 3934 P_ALL, P_PID, P_PGID 3935 } 3936 idtype_t; 3937 ------------------------------------------------------------------------------- 3938 3939 syslog.h 3940 3941 3942 3943 3944 #define LOG_EMERG 0 3945 #define LOG_ALERT 1 3946 #define LOG_CRIT 2 3947 #define LOG_ERR 3 3948 #define LOG_WARNING 4 3949 #define LOG_NOTICE 5 3950 #define LOG_INFO 6 3951 #define LOG_DEBUG 7 3952 3953 3954 3955 #define LOG_KERN (0<<3) 3956 #define LOG_AUTHPRIV (10<<3) 3957 #define LOG_FTP (11<<3) 3958 #define LOG_USER (1<<3) 3959 #define LOG_MAIL (2<<3) 3960 #define LOG_DAEMON (3<<3) 3961 #define LOG_AUTH (4<<3) 3962 #define LOG_SYSLOG (5<<3) 3963 #define LOG_LPR (6<<3) 3964 #define LOG_NEWS (7<<3) 3965 #define LOG_UUCP (8<<3) 3966 #define LOG_CRON (9<<3) 3967 3968 3969 3970 #define LOG_LOCAL0 (16<<3) 3971 #define LOG_LOCAL1 (17<<3) 3972 #define LOG_LOCAL2 (18<<3) 3973 #define LOG_LOCAL3 (19<<3) 3974 #define LOG_LOCAL4 (20<<3) 3975 #define LOG_LOCAL5 (21<<3) 3976 #define LOG_LOCAL6 (22<<3) 3977 #define LOG_LOCAL7 (23<<3) 3978 3979 3980 3981 #define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) 3982 #define LOG_MASK(pri) (1 << (pri)) 3983 3984 3985 3986 #define LOG_PID 0x01 3987 #define LOG_CONS 0x02 3988 #define LOG_ODELAY 0x04 3989 #define LOG_NDELAY 0x08 3990 #define LOG_NOWAIT 0x10 3991 #define LOG_PERROR 0x20 3992 ------------------------------------------------------------------------------- 3993 3994 termios.h 3995 3996 #define TCIFLUSH 0 3997 #define TCOOFF 0 3998 #define TCSANOW 0 3999 #define BS0 0000000 4000 #define CR0 0000000 4001 #define FF0 0000000 4002 #define NL0 0000000 4003 #define TAB0 0000000 4004 #define VT0 0000000 4005 #define OPOST 0000001 4006 #define OLCUC 0000002 4007 #define ONLCR 0000004 4008 #define XCASE 0000004 4009 #define OCRNL 0000010 4010 #define ONOCR 0000020 4011 #define ONLRET 0000040 4012 #define OFILL 0000100 4013 #define OFDEL 0000200 4014 #define NL1 0000400 4015 #define NLDLY 0000400 4016 #define CR1 0001000 4017 #define IUCLC 0001000 4018 #define CR2 0002000 4019 #define CR3 0003000 4020 #define CRDLY 0003000 4021 #define TAB1 0004000 4022 #define TAB2 0010000 4023 #define TAB3 0014000 4024 #define TABDLY 0014000 4025 #define BS1 0020000 4026 #define BSDLY 0020000 4027 #define VT1 0040000 4028 #define VTDLY 0040000 4029 #define FF1 0100000 4030 #define FFDLY 0100000 4031 #define TCOFLUSH 1 4032 #define TCOON 1 4033 #define TCSADRAIN 1 4034 #define TCIOFF 2 4035 #define TCIOFLUSH 2 4036 #define TCSAFLUSH 2 4037 #define TCION 3 4038 4039 4040 struct winsize 4041 { 4042 unsigned short ws_row; 4043 unsigned short ws_col; 4044 unsigned short ws_xpixel; 4045 unsigned short ws_ypixel; 4046 } 4047 ; 4048 4049 4050 typedef int speed_t; 4051 typedef unsigned char cc_t; 4052 typedef unsigned int tcflag_t; 4053 #define NCCS 32 4054 4055 4056 struct termios 4057 { 4058 tcflag_t c_iflag; 4059 tcflag_t c_oflag; 4060 tcflag_t c_cflag; 4061 tcflag_t c_lflag; 4062 cc_t c_line; 4063 cc_t c_cc[NCCS]; 4064 speed_t c_ispeed; 4065 speed_t c_ospeed; 4066 } 4067 ; 4068 #define VINTR 0 4069 #define VQUIT 1 4070 #define VSUSP 10 4071 #define VEOL 11 4072 #define VREPRINT 12 4073 #define VDISCARD 13 4074 #define VWERASE 14 4075 #define VLNEXT 15 4076 #define VEOL2 16 4077 #define VERASE 2 4078 #define VKILL 3 4079 #define VEOF 4 4080 #define VMIN 6 4081 #define VSWTC 7 4082 #define VSTART 8 4083 #define VSTOP 9 4084 4085 4086 4087 #define IGNBRK 0000001 4088 #define BRKINT 0000002 4089 #define IGNPAR 0000004 4090 #define PARMRK 0000010 4091 #define INPCK 0000020 4092 #define ISTRIP 0000040 4093 #define INLCR 0000100 4094 #define IGNCR 0000200 4095 #define ICRNL 0000400 4096 #define IXON 0002000 4097 #define IXANY 0004000 4098 #define IXOFF 0010000 4099 #define IMAXBEL 0020000 4100 4101 4102 4103 4104 4105 4106 #define CS5 0000000 4107 #define CS6 0000020 4108 #define CS7 0000040 4109 #define CS8 0000060 4110 #define CSIZE 0000060 4111 #define CSTOPB 0000100 4112 #define CREAD 0000200 4113 #define PARENB 0000400 4114 #define PARODD 0001000 4115 #define HUPCL 0002000 4116 #define CLOCAL 0004000 4117 #define VTIME 5 4118 4119 4120 4121 #define ISIG 0000001 4122 #define ICANON 0000002 4123 #define ECHO 0000010 4124 #define ECHOE 0000020 4125 #define ECHOK 0000040 4126 #define ECHONL 0000100 4127 #define NOFLSH 0000200 4128 #define TOSTOP 0000400 4129 #define ECHOCTL 0001000 4130 #define ECHOPRT 0002000 4131 #define ECHOKE 0004000 4132 #define FLUSHO 0010000 4133 #define PENDIN 0040000 4134 #define IEXTEN 0100000 4135 4136 4137 4138 #define B0 0000000 4139 #define B50 0000001 4140 #define B75 0000002 4141 #define B110 0000003 4142 #define B134 0000004 4143 #define B150 0000005 4144 #define B200 0000006 4145 #define B300 0000007 4146 #define B600 0000010 4147 #define B1200 0000011 4148 #define B1800 0000012 4149 #define B2400 0000013 4150 #define B4800 0000014 4151 #define B9600 0000015 4152 #define B19200 0000016 4153 #define B38400 0000017 4154 ------------------------------------------------------------------------------- 4155 4156 time.h 4157 4158 #define CLOCK_REALTIME 0 4159 #define TIMER_ABSTIME 1 4160 #define CLOCKS_PER_SEC 1000000l 4161 4162 4163 struct tm 4164 { 4165 int tm_sec; 4166 int tm_min; 4167 int tm_hour; 4168 int tm_mday; 4169 int tm_mon; 4170 int tm_year; 4171 int tm_wday; 4172 int tm_yday; 4173 int tm_isdst; 4174 long tm_gmtoff; 4175 char *tm_zone; 4176 } 4177 ; 4178 struct itimerspec 4179 { 4180 struct timespec it_interval; 4181 struct timespec it_value; 4182 } 4183 ; 4184 ------------------------------------------------------------------------------- 4185 4186 ucontext.h 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 typedef struct 4215 { 4216 gregset_t gregs; 4217 fpregset_t fpregs; 4218 unsigned long oldmask; 4219 unsigned long cr2; 4220 } 4221 mcontext_t; 4222 4223 4224 typedef struct ucontext 4225 { 4226 unsigned long uc_flags; 4227 struct ucontext *uc_link; 4228 stack_t uc_stack; 4229 mcontext_t uc_mcontext; 4230 sigset_t uc_sigmask; 4231 struct _libc_fpstate __fpregs_mem; 4232 } 4233 ucontext_t; 4234 ------------------------------------------------------------------------------- 4235 4236 ulimit.h 4237 4238 #define UL_GETFSIZE 1 4239 #define UL_SETFSIZE 2 4240 ------------------------------------------------------------------------------- 4241 4242 unistd.h 4243 4244 #define SEEK_SET 0 4245 #define STDIN_FILENO 0 4246 #define SEEK_CUR 1 4247 #define STDOUT_FILENO 1 4248 #define SEEK_END 2 4249 #define STDERR_FILENO 2 4250 4251 4252 typedef long long off64_t; 4253 typedef int *intptr_t; 4254 #define F_OK 0 4255 #define X_OK 1 4256 #define W_OK 2 4257 #define R_OK 4 4258 4259 4260 4261 #define _POSIX_ASYNCHRONOUS_IO 1 4262 #define _POSIX_FSYNC 1 4263 #define _POSIX_MAPPED_FILES 1 4264 #define _POSIX_MEMLOCK 1 4265 #define _POSIX_MEMLOCK_RANGE 1 4266 #define _POSIX_MEMORY_PROTECTION 1 4267 #define _POSIX_MESSAGE_PASSING 1 4268 #define _POSIX_PRIORITY_SCHEDULING 1 4269 #define _POSIX_REALTIME_SIGNALS 1 4270 #define _POSIX_SEMAPHORES 1 4271 #define _POSIX_SHARED_MEMORY_OBJECTS 1 4272 #define _POSIX_SYNCHRONIZED_IO 1 4273 #define _POSIX_TIMERS 1 4274 #define _POSIX2_C_VERSION 199209L 4275 #define _POSIX2_VERSION 199209L 4276 #define _POSIX_VERSION 199506L 4277 4278 4279 4280 #define _PC_LINK_MAX 0 4281 #define _PC_MAX_CANON 1 4282 #define _PC_ASYNC_IO 10 4283 #define _PC_PRIO_IO 11 4284 #define _PC_FILESIZEBITS 13 4285 #define _PC_MAX_INPUT 2 4286 #define _PC_NAME_MAX 3 4287 #define _PC_PATH_MAX 4 4288 #define _PC_PIPE_BUF 5 4289 #define _PC_CHOWN_RESTRICTED 6 4290 #define _PC_NO_TRUNC 7 4291 #define _PC_VDISABLE 8 4292 #define _PC_SYNC_IO 9 4293 4294 4295 4296 #define _SC_ARG_MAX 0 4297 #define _SC_CHILD_MAX 1 4298 #define _SC_PRIORITY_SCHEDULING 10 4299 #define _SC_TIMERS 11 4300 #define _SC_ASYNCHRONOUS_IO 12 4301 #define _SC_XBS5_ILP32_OFF32 125 4302 #define _SC_XBS5_ILP32_OFFBIG 126 4303 #define _SC_XBS5_LP64_OFF64 127 4304 #define _SC_XBS5_LPBIG_OFFBIG 128 4305 #define _SC_XOPEN_LEGACY 129 4306 #define _SC_PRIORITIZED_IO 13 4307 #define _SC_XOPEN_REALTIME 130 4308 #define _SC_SYNCHRONIZED_IO 14 4309 #define _SC_MAPPED_FILES 16 4310 #define _SC_MEMLOCK 17 4311 #define _SC_MEMLOCK_RANGE 18 4312 #define _SC_MEMORY_PROTECTION 19 4313 #define _SC_CLK_TCK 2 4314 #define _SC_MESSAGE_PASSING 20 4315 #define _SC_SEMAPHORES 21 4316 #define _SC_SHARED_MEMORY_OBJECTS 22 4317 #define _SC_AIO_LISTIO_MAX 23 4318 #define _SC_AIO_MAX 24 4319 #define _SC_AIO_PRIO_DELTA_MAX 25 4320 #define _SC_DELAYTIMER_MAX 26 4321 #define _SC_MQ_OPEN_MAX 27 4322 #define _SC_MQ_PRIO_MAX 28 4323 #define _SC_VERSION 29 4324 #define _SC_NGROUPS_MAX 3 4325 #define _SC_PAGESIZE 30 4326 #define _SC_RTSIG_MAX 31 4327 #define _SC_SEM_NSEMS_MAX 32 4328 #define _SC_SEM_VALUE_MAX 33 4329 #define _SC_SIGQUEUE_MAX 34 4330 #define _SC_TIMER_MAX 35 4331 #define _SC_BC_BASE_MAX 36 4332 #define _SC_BC_DIM_MAX 37 4333 #define _SC_BC_SCALE_MAX 38 4334 #define _SC_BC_STRING_MAX 39 4335 #define _SC_OPEN_MAX 4 4336 #define _SC_COLL_WEIGHTS_MAX 40 4337 #define _SC_EXPR_NEST_MAX 42 4338 #define _SC_LINE_MAX 43 4339 #define _SC_RE_DUP_MAX 44 4340 #define _SC_2_VERSION 46 4341 #define _SC_2_C_BIND 47 4342 #define _SC_2_C_DEV 48 4343 #define _SC_2_FORT_DEV 49 4344 #define _SC_STREAM_MAX 5 4345 #define _SC_2_FORT_RUN 50 4346 #define _SC_2_SW_DEV 51 4347 #define _SC_2_LOCALEDEF 52 4348 #define _SC_TZNAME_MAX 6 4349 #define _SC_THREADS 67 4350 #define _SC_THREAD_SAFE_FUNCTIONS 68 4351 #define _SC_JOB_CONTROL 7 4352 #define _SC_THREAD_DESTRUCTOR_ITERATIONS 73 4353 #define _SC_THREAD_KEYS_MAX 74 4354 #define _SC_THREAD_STACK_MIN 75 4355 #define _SC_THREAD_THREADS_MAX 76 4356 #define _SC_THREAD_ATTR_STACKADDR 77 4357 #define _SC_THREAD_ATTR_STACKSIZE 78 4358 #define _SC_THREAD_PRIORITY_SCHEDULING 79 4359 #define _SC_SAVED_IDS 8 4360 #define _SC_THREAD_PRIO_INHERIT 80 4361 #define _SC_THREAD_PRIO_PROTECT 81 4362 #define _SC_THREAD_PROCESS_SHARED 82 4363 #define _SC_PASS_MAX 88 4364 #define _SC_XOPEN_VERSION 89 4365 #define _SC_REALTIME_SIGNALS 9 4366 #define _SC_XOPEN_CRYPT 92 4367 #define _SC_XOPEN_ENH_I18N 93 4368 #define _SC_XOPEN_SHM 94 4369 #define _SC_2_C_VERSION 96 4370 #define _SC_2_UPE 97 4371 4372 4373 4374 #define _CS_PATH 0 4375 #define _CS_XBS5_ILP32_OFF32_CFLAGS 1100 4376 #define _CS_XBS5_ILP32_OFF32_LDFLAGS 1101 4377 #define _CS_XBS5_ILP32_OFF32_LIBS 1102 4378 #define _CS_XBS5_ILP32_OFF32_LINTFLAGS 1103 4379 #define _CS_XBS5_ILP32_OFFBIG_CFLAGS 1104 4380 #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS 1105 4381 #define _CS_XBS5_ILP32_OFFBIG_LIBS 1106 4382 #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS 1107 4383 #define _CS_XBS5_LP64_OFF64_CFLAGS 1108 4384 #define _CS_XBS5_LP64_OFF64_LDFLAGS 1109 4385 #define _CS_XBS5_LP64_OFF64_LIBS 1110 4386 #define _CS_XBS5_LP64_OFF64_LINTFLAGS 1111 4387 #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS 1112 4388 #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS 1113 4389 #define _CS_XBS5_LPBIG_OFFBIG_LIBS 1114 4390 #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 1115 4391 4392 4393 4394 #define _XOPEN_REALTIME 1 4395 #define _XOPEN_XPG4 1 4396 #define _XOPEN_XCU_VERSION 4 4397 #define _XOPEN_VERSION 500 4398 ------------------------------------------------------------------------------- 4399 4400 utime.h 4401 4402 4403 4404 struct utimbuf 4405 { 4406 time_t actime; 4407 time_t modtime; 4408 } 4409 ; 4410 ------------------------------------------------------------------------------- 4411 4412 utmp.h 4413 4414 #define UT_HOSTSIZE 256 4415 #define UT_LINESIZE 32 4416 #define UT_NAMESIZE 32 4417 4418 4419 struct exit_status 4420 { 4421 short e_termination; 4422 short e_exit; 4423 } 4424 ; 4425 struct lastlog 4426 { 4427 timer_t ll_time; 4428 char ll_line[UT_LINESIZE]; 4429 char ll_host[UT_HOSTSIZE]; 4430 } 4431 ; 4432 4433 4434 struct utmp 4435 { 4436 short ut_type; 4437 pid_t ut_pid; 4438 char ut_line[UT_LINESIZE]; 4439 char ut_id[4]; 4440 char ut_user[UT_NAMESIZE]; 4441 char ut_host[UT_HOSTSIZE]; 4442 struct exit_status ut_exit; 4443 long ut_session; 4444 struct timeval ut_tv; 4445 int32_t ut_addr_v6[4]; 4446 char __unused[20]; 4447 } 4448 ; 4449 #define EMPTY 0 4450 #define RUN_LVL 1 4451 #define BOOT_TIME 2 4452 #define NEW_TIME 3 4453 #define OLD_TIME 4 4454 #define INIT_PROCESS 5 4455 #define LOGIN_PROCESS 6 4456 #define USER_PROCESS 7 4457 #define DEAD_PROCESS 8 4458 #define ACCOUNTING 9 4459 ------------------------------------------------------------------------------- 4460 4461 wchar.h 4462 4463 #define WEOF (0xffffffffu) 4464 #define WCHAR_MAX 0x7FFFFFFF 4465 #define WCHAR_MIN 0x80000000 4466 ------------------------------------------------------------------------------- 4467 4468 wctype.h 4469 4470 4471 4472 typedef unsigned long wctype_t; 4473 typedef unsigned int wint_t; 4474 typedef int wctrans_t; 4475 typedef struct 4476 { 4477 int count; 4478 wint_t value; 4479 } 4480 mbstate_t; 4481 ------------------------------------------------------------------------------- 4482 4483 wordexp.h 4484 4485 4486 4487 4488 4489 4490 enum 4491 { 4492 WRDE_DOOFFS, WRDE_APPEND, WRDE_NOCMD, WRDE_REUSE, WRDE_SHOWERR, WRDE_UNDEF, 4493 __WRDE_FLAGS 4494 } 4495 ; 4496 4497 4498 typedef struct 4499 { 4500 int we_wordc; 4501 char **we_wordv; 4502 int we_offs; 4503 } 4504 wordexp_t; 4505 4506 4507 enum 4508 { 4509 WRDE_NOSYS, WRDE_NOSPACE, WRDE_BADCHAR, WRDE_BADVAL, WRDE_CMDSUB, 4510 WRDE_SYNTAX 4511 } 4512 ; 4513 ------------------------------------------------------------------------------- 4514 4515 Interfaces Definitions for libc 4516 4517 Table of Contents 4518 _IO_feof -- alias for feof 4519 _IO_getc -- alias for getc 4520 _IO_putc -- alias for putc 4521 _IO_puts -- alias for puts 4522 __assert_fail -- abort the program after false assertion 4523 __ctype_b -- array index for ctype functions 4524 __ctype_get_mb_cur_max -- maximum length of a multibyte character in the 4525 current locale 4526 __ctype_tolower -- convert uppercase letter to lowercase letter 4527 __ctype_toupper -- convert lowercase letter to uppercase letter 4528 __cxa_atexit -- register a function to be called by exit or when a shared 4529 library is unloaded 4530 __daylight -- global variable containing daylight 4531 __dcgettext -- used by dcgettext in the translation to look up the MSGID in the 4532 DOMAINNAME message catalog for the current locale 4533 __environ -- alias for environ - user environment 4534 __errno_location -- address of errno variable 4535 __fpending -- returns in bytes the amount of output pending on a stream 4536 __getpagesize -- alias for getpagesize - get current page size 4537 __getpgid -- get the process group id 4538 __h_errno_location -- address of h_errno variable 4539 __libc_current_sigrtmax -- return number of available real-time signal with 4540 lowest priority 4541 __libc_current_sigrtmin -- return number of available real-time signal with 4542 highest priority 4543 __libc_start_main -- initialization routine 4544 __lxstat -- inline wrapper around call to lxstat 4545 __mempcpy -- copy given number of bytes of source to destination 4546 __rawmemchr -- scan memory 4547 __sigsetjmp -- save stack context for non-local goto 4548 __stpcpy -- copy a string returning a pointer to its end 4549 __strdup -- alias for strdup 4550 __strtod_internal -- underlying function for strtod 4551 __strtof_internal -- underlying function for strtof 4552 __strtok_r -- alias for strtok_r 4553 __strtol_internal -- alias for strtol 4554 __strtold_internal -- underlying function for strtold 4555 __strtoll_internal -- underlying function for strtoll 4556 __strtoul_internal -- underlying function for strtoul 4557 __strtoull_internal -- underlying function for strtoull 4558 __sysconf -- get configuration information at runtime 4559 __sysv_signal -- signal handling 4560 __timezone -- global variable containing timezone 4561 __tzname -- global variable containing the timezone 4562 __wcstod_internal -- underlying function for wcstod 4563 __wcstof_internal -- underlying function for wcstof 4564 __wcstol_internal -- underlying function for wcstol 4565 __wcstold_internal -- underlying function for wcstold 4566 __wcstoul_internal -- underlying function for wcstoul 4567 __xmknod -- make block or character special file 4568 __xstat -- provide inode information 4569 __xstat64 -- provide inode information 4570 _environ -- alias for environ - user environment 4571 _nl_msg_cat_cntr -- variable defined in loadmsgcat.c which gets incremented 4572 every time a new catalog is loaded 4573 _obstack_begin -- initialize an obstack for use 4574 _obstack_newchunk -- allocate a new current chunk of memory for the obstack 4575 _sys_errlist -- array containing the "C" locale strings used by strerror() 4576 _sys_siglist -- array containing the names of the signal names 4577 acct -- switch process accounting on or off 4578 adjtime -- correct the time to allow synchronization of the system clock 4579 adjtimex -- tune kernel clock 4580 alphasort -- compare two directory entries alphabetically (LSB deprecated) 4581 alphasort64 -- compare two directory entries alphabetically (LSB deprecated) 4582 bindresvport -- bind socket to privileged IP port 4583 cfmakeraw -- get and set terminal attributes 4584 cfsetspeed -- manipulate the termios structure 4585 daemon -- run in the background 4586 err -- display formatted error messages 4587 error -- print error message 4588 errx -- format error messages 4589 flock -- apply or remove an advisory lock on an open file 4590 fstatfs -- get file system statistics 4591 fwprintf -- formatted wide character output conversion 4592 getdomainname -- get NIS domain name. 4593 gethostbyname -- get network host entry 4594 gethostbyname_r -- find network host database entry matching host name 4595 getloadavg -- get system load averages 4596 getopt -- parse command line options 4597 getopt_long -- parse command line options 4598 getopt_long_only -- parse command line options 4599 getprotobyname -- get protocol entry 4600 getprotoent -- get protocol entry 4601 getpwnam_r -- reentrant version of getpwnam 4602 getservbyname -- get service entry 4603 getservent -- get service entry 4604 gettext -- look up MSGID in the current default message catalog for the current 4605 LC_MESSAGES locale 4606 getutent -- access utmp file entries 4607 getutent_r -- access utmp file entries 4608 glob64 -- find pathnames matching a pattern (Large File Support) 4609 globfree64 -- free memory from glob64() (Large File Support) 4610 initgroups -- initialize the supplementary group access list 4611 isblank -- character classification routine 4612 iswblank -- test for whitespace wide character 4613 iswctype -- wide character classification 4614 kill -- send a signal 4615 mbsnrtowcs -- convert a multibyte string to a wide character string 4616 memmem -- locate a substring 4617 memrchr -- scan memory for a character 4618 obstack_free -- free an object in the obstack 4619 opterr -- external variable used in getopt() 4620 optind -- external variable used in getopt() 4621 optopt -- external variable used in getopt() 4622 psignal -- print signal message 4623 random_r -- generate random number 4624 setbuffer -- stream buffering operation 4625 setdomainname -- set NIS domain name. 4626 setegid -- set effective group ID 4627 setenv -- change or add an environment variable 4628 seteuid -- set effective user ID 4629 setgroups -- set list of supplementary group IDs 4630 sethostid -- set the unique identifier of the current host 4631 sethostname -- set host name 4632 setmntent -- get file system descriptor file entry 4633 setutent -- access utmp file entries 4634 sigandset -- build a new signal set by combining the two input sets using 4635 logical AND 4636 sigblock -- manipulate the signal mask 4637 siggetmask -- manipulate the signal mask 4638 sigisemptyset -- signal function - check for empty SET 4639 sigorset -- build a new signal set by combining the two input sets using 4640 logical OR 4641 sigreturn -- return from signal handler and cleanup stack frame 4642 statfs -- get file system statistics 4643 stime -- set time 4644 stpcpy -- copy a string returning a pointer to its end 4645 stpncpy -- copy a fixed-size string, returning a pointer to its end 4646 strcasestr -- locate a substring - ignores the case of both strings 4647 strerror_r -- reentrant version of strerror 4648 strfry -- randomize a string 4649 strndup -- return a malloc'd copy of at most the specified number of bytes of a 4650 string 4651 strnlen -- determine the length of a fixed-size string 4652 strptime -- parse a time string 4653 strsep -- extract token from string 4654 strsignal -- return string describing signal 4655 strtok_r -- extract tokens from strings 4656 strtoq -- convert string value to a long or quad_t integer 4657 strtouq -- convert a string to an uquad_t 4658 strverscmp -- compare strings holding name and indices/version numbers 4659 system -- execute a shell command 4660 unlink -- remove a directory entry 4661 unsetenv -- delete an environment variable 4662 vasprintf -- write formatted output to a string dynamically allocated with 4663 malloc and store the address of the string 4664 vdprintf -- write formatted output to a file descriptor 4665 verrx -- display formatted error messages 4666 vsyslog -- log to system log 4667 wait4 -- wait for process termination, BSD style 4668 warn -- formatted error messages 4669 warnx -- formatted error messages 4670 wcpcpy -- copy a wide character string, returning a pointer to its end 4671 wcpncpy -- copy a fixed-size string of wide characters, returning a pointer to 4672 its end 4673 wcscasecmp -- compare two wide-character strings, ignoring case 4674 wcsdup -- duplicate a wide-character string 4675 wcsncasecmp -- compare two fixed-size wide-character strings, ignoring case 4676 wcsnlen -- determine the length of a fixed-size wide-character string 4677 wcsnrtombs -- convert a wide character string to a multi-byte string 4678 wcstoq -- convert initial portion of wide string NPTR to long int 4679 representation 4680 wcstouq -- convert initial portion of wide string NPTR to unsigned long long 4681 int representation 4682 4683 _IO_feof 4684 4685 Name 4686 4687 _IO_feof -- alias for feof 4688 4689 Synopsis 4690 4691 int _IO_feof(_IO_FILE *__fp); 4692 4693 Description 4694 4695 The function _IO_feof() tests the end-of-file indicator for the stream pointed 4696 to by __fp, returning non-zero if it is set. 4697 4698 _IO_feof is not in the source standard; it is only in the binary standard. 4699 4700 _IO_getc 4701 4702 Name 4703 4704 _IO_getc -- alias for getc 4705 4706 Synopsis 4707 4708 int _IO_getc(_IO_FILE *__fp); 4709 4710 Description 4711 4712 _IO_getc() reads the next character from __fp and returns it as an unsigned 4713 char cast to an int, or EOF on end of file or error. 4714 4715 _IO_getc is not in the source standard; it is only in the binary standard. 4716 4717 _IO_putc 4718 4719 Name 4720 4721 _IO_putc -- alias for putc 4722 4723 Synopsis 4724 4725 int _IO_putc(int __c, _IO_FILE *__fp); 4726 4727 Description 4728 4729 _IO_putc() writes the character __c, cast to an unsigned char, to __fp. 4730 4731 _IO_putc is not in the source standard; it is only in the binary standard. 4732 4733 _IO_puts 4734 4735 Name 4736 4737 _IO_puts -- alias for puts 4738 4739 Synopsis 4740 4741 int _IO_puts(const char *__c); 4742 4743 Description 4744 4745 _IO_puts() writes the string __s and a trailing newline to stdout. 4746 4747 _IO_puts is not in the source standard; it is only in the binary standard. 4748 4749 __assert_fail 4750 4751 Name 4752 4753 __assert_fail -- abort the program after false assertion 4754 4755 Synopsis 4756 4757 void 4758 __assert_fail(const char *assertion, 4759 const char *file, 4760 unsigned int line, 4761 const char *function); 4762 4763 Description 4764 4765 This function, when passed a string containing an asserted expression, a 4766 filename, and a line number, prints a message on the standard error stream such 4767 as: 4768 4769 4770 a.c:10: foobar: Assertion a == b failed. 4771 4772 It then aborts program execution via a call to abort. The exact form of the 4773 message is up to the implementation. 4774 4775 If FUNCTION is NULL, then omit information about the function. 4776 4777 FILE, LINE, and ASSERTION must be non-NULL. 4778 4779 __assert_fail is not in the source standard; it is only in the binary standard. 4780 4781 __ctype_b 4782 4783 Name 4784 4785 __ctype_c -- array index for ctype functions 4786 4787 Synopsis 4788 4789 #include 4790 4791 extern const unsigned short int *ctype_b; 4792 4793 Description 4794 4795 Array index for ctype functions. 4796 4797 __ctype_b is not in the source standard; it is only in the binary standard. 4798 4799 __ctype_get_mb_cur_max 4800 4801 Name 4802 4803 __ctype_get_mb_cur_max -- maximum length of a multibyte character in the 4804 current locale 4805 4806 Synopsis 4807 4808 size_t __ctype_get_mb_cur_max(void); 4809 4810 Description 4811 4812 __ctype_get_mb_cur_max() returns the maximum length of a multibyte character in 4813 the current locale. 4814 4815 __ctype_get_mb_cur_max is not in the source standard; it is only in the binary 4816 standard. 4817 4818 __ctype_tolower 4819 4820 Name 4821 4822 __ctype_tolower -- convert uppercase letter to lowercase letter 4823 4824 Synopsis 4825 4826 #include 4827 4828 int __ctype_tolower(int c); 4829 4830 Description 4831 4832 The __ctype_tolower() function converts an uppercase letter to the 4833 corresponding lowercase letter. If the argument is an uppercase letter, the 4834 __ctype_tolower() function returns the corresponding lowercase letter if there 4835 is one; otherwise, the argument is returned unchanged. 4836 4837 __ctype_tolower is not in the source standard; it is only in the binary 4838 standard. 4839 4840 __ctype_toupper 4841 4842 Name 4843 4844 __ctype_toupper -- convert lowercase letter to uppercase letter 4845 4846 Synopsis 4847 4848 #include 4849 4850 int __ctype_toupper(int c); 4851 4852 Description 4853 4854 The __ctype_toupper() function converts a lowercase letter to the corresponding 4855 uppercase letter. If the argument is a lowercase letter, the __ctype_toupper() 4856 function returns the corresponding uppercase letter if there is one; otherwise, 4857 the argument is returned unchanged. 4858 4859 __ctype_toupper is not in the source standard; it is only in the binary 4860 standard. 4861 4862 __cxa_atexit 4863 4864 Name 4865 4866 __cxa_atexit -- register a function to be called by exit or when a shared 4867 library is unloaded 4868 4869 Synopsis 4870 4871 int __cxa_atexit(void (*func) (void *), void *arg, void *d); 4872 4873 Description 4874 4875 Register a function to be called by exit or when a shared library is unloaded. 4876 This function is only called from code generated by the C++ compiler. 4877 4878 __cxa_atexit() has the same specification as atexit(). 4879 4880 __cxa_atexit is not in the source standard; it is only in the binary standard. 4881 4882 __daylight 4883 4884 Name 4885 4886 -- global variable containing daylight 4887 4888 Synopsis 4889 4890 int __daylight; 4891 4892 Description 4893 4894 The specification for "__daylight" is as specified in the SUSv2. 4895 4896 ERRORS 4897 4898 __dcgettext 4899 4900 Name 4901 4902 __dcgettext -- used by dcgettext in the translation to look up the MSGID in the 4903 DOMAINNAME message catalog for the current locale 4904 4905 Synopsis 4906 4907 #include 4908 4909 extern char *__dcgettext(const char *domainname, 4910 const char *msgid, int category); 4911 4912 Description 4913 4914 Used by dcgettext in the translation to look up the MSGID in the DOMAINNAME 4915 message catalog for the current locale. CATEGORY locale. 4916 4917 __dcgettext() has the same specification as dcgettext(). 4918 4919 __dcgettext is not in the source standard; it is only in the binary standard. 4920 4921 __environ 4922 4923 Name 4924 4925 __environ -- alias for environ - user environment 4926 4927 Synopsis 4928 4929 extern char **__environ; 4930 4931 Description 4932 4933 Alias for environ - user environment. 4934 4935 __environ has the same specification as environ. 4936 4937 __environ is not in the source standard; it is only in the binary standard. 4938 4939 __errno_location 4940 4941 Name 4942 4943 __errno_location -- address of errno variable 4944 4945 Synopsis 4946 4947 int *__errno_location(void); 4948 4949 Description 4950 4951 __errno_location is not in the source standard; it is only in the binary 4952 standard. 4953 4954 __fpending 4955 4956 Name 4957 4958 __fpending -- returns in bytes the amount of output pending on a stream 4959 4960 Synopsis 4961 4962 #include 4963 4964 size_t __fpending(FILE *stream); 4965 4966 Description 4967 4968 The __fpending function returns the amount of output in bytes pending on a 4969 stream. 4970 4971 __fpending is not in the source standard; it is only in the binary standard. 4972 4973 __getpagesize 4974 4975 Name 4976 4977 __getpagesize -- alias for getpagesize - get current page size 4978 4979 Synopsis 4980 4981 extern int __getpagesize(void); 4982 4983 Description 4984 4985 Alias for getpagesize - get current page size. 4986 4987 __getpagesize has the same specification as getpagesize. 4988 4989 __getpagesize is not in the source standard; it is only in the binary standard. 4990 4991 __getpgid 4992 4993 Name 4994 4995 __getpgid -- get the process group id 4996 4997 Synopsis 4998 4999 pid_t __getpgid(pid_t pid); 5000 5001 Description 5002 5003 __getpgid(pid) has the same specification as getpgid(pid). 5004 5005 __getpgid is not in the source standard; it is only in the binary standard. 5006 5007 __h_errno_location 5008 5009 Name 5010 5011 __h_errno_location -- address of h_errno variable 5012 5013 Synopsis 5014 5015 int *__h_errno_location (void); 5016 5017 Description 5018 5019 Return the address of the h_errno variable, where h_errno is as specified in 5020 the Single Unix Specification. Only in the binary standard, not the source 5021 standard. Note that h_errno itself is only in the source standard, not the 5022 binary standard. 5023 5024 __libc_current_sigrtmax 5025 5026 Name 5027 5028 __libc_current_sigrtmax -- return number of available real-time signal with 5029 lowest priority 5030 5031 Synopsis 5032 5033 int __libc_current_sigrtmax(void); 5034 5035 Description 5036 5037 __libc_current_sigrtmax() returns the number of an available real-time signal 5038 with the lowest priority. 5039 5040 __libc_current_sigrtmax is not in the source standard; it is only in the binary 5041 standard. 5042 5043 __libc_current_sigrtmin 5044 5045 Name 5046 5047 __libc_current_sigrtmin -- return number of available real-time signal with 5048 highest priority 5049 5050 Synopsis 5051 5052 int __libc_current_sigrtmin(void); 5053 5054 Description 5055 5056 __libc_current_sigrtmin() returns the number of an available real-time signal 5057 with the highest priority 5058 5059 __libc_current_sigrtmin is not in the source standard; it is only in the binary 5060 standard 5061 5062 __libc_start_main 5063 5064 Name 5065 5066 __libc_start_main -- initialization routine 5067 5068 Synopsis 5069 5070 BP_SYM __libc_start_main (int (*main) (int, char**, char**), 5071 int argc, char *__unbounded *__unbounded ubp_av, 5072 void (*init) (void), void (*fini) (void), 5073 void (*rtld_fini) (void), void (*__unbounded stack_end); 5074 5075 Description 5076 5077 Initialize glibc. 5078 5079 __libc_start_main is not in the source standard; it is only in the binary 5080 standard. 5081 5082 __lxstat 5083 5084 Name 5085 5086 __lxstat -- inline wrapper around call to lxstat 5087 5088 Synopsis 5089 5090 #include 5091 5092 int __lxstat(int version, char *__path, struct stat *__statbuf); 5093 5094 Description 5095 5096 Inline wrapper around call to lxstat. 5097 5098 __lxstat is not in the source standard; it is only in the binary standard. 5099 5100 __mempcpy 5101 5102 Name 5103 5104 __mempcpy -- copy given number of bytes of source to destination 5105 5106 Synopsis 5107 5108 #include 5109 5110 extern ptr_t __mempcpy(ptr_t restrict dest, 5111 const ptr_t restrict src, size_t n)); 5112 5113 Description 5114 5115 Copy n bytes of source to destination, returning pointer to bytes after the 5116 last written byte. 5117 5118 __mempcpy is not in the source standard; it is only in the binary standard. 5119 5120 __rawmemchr 5121 5122 Name 5123 5124 __rawmemchr -- scan memory 5125 5126 Synopsis 5127 5128 #include 5129 5130 extern ptr_t __rawmemchr(const ptr_t s, int c); 5131 5132 Description 5133 5134 __rawmemchr searches in s for c. 5135 5136 This is a weak alias to rawmemchr. It is similar to memchr, but there is no 5137 length limit. 5138 5139 __rawmemchr is not in the source standard; it is only in the binary standard. 5140 5141 __sigsetjmp 5142 5143 Name 5144 5145 __sigsetjmp -- save stack context for non-local goto 5146 5147 Synopsis 5148 5149 int __sigsetjmp(jmp_buf env, int savemask); 5150 5151 Description 5152 5153 __sigsetjmp(env, savemask) has the same behavior as sigsetjmp(env, savemask) as 5154 specified by POSIX. 5155 5156 __sigsetjmp is not in the source standard; it is only in the binary standard. 5157 5158 __stpcpy 5159 5160 Name 5161 5162 __stpcpy -- copy a string returning a pointer to its end 5163 5164 Synopsis 5165 5166 #include 5167 5168 char * __stpcpy(char *dest, const char *src); 5169 5170 Description 5171 5172 The __stpcpy() function copies the string pointed to by src (including the 5173 terminating /0 character) to the array pointed to by dest. The strings may not 5174 overlap, and the destination string dest must be large enough to receive the 5175 copy. 5176 5177 Return Value 5178 5179 __stpcpy() returns a pointer to the end of the string dest (that is, the 5180 address of the terminating null character) rather than the beginning. 5181 5182 __stpcpy() has the same specification as stpcpy(). 5183 5184 __stpcpy is not in the source standard; it is only in the binary standard. 5185 5186 __strdup 5187 5188 Name 5189 5190 __strdup -- alias for strdup 5191 5192 Synopsis 5193 5194 char *__strdup(__const char *string); 5195 5196 Description 5197 5198 __strdup(string) has the same specification as strdup(string). 5199 5200 __strdup is not in the source standard; it is only in the binary standard. 5201 5202 __strtod_internal 5203 5204 Name 5205 5206 __strtod_internal -- underlying function for strtod 5207 5208 Synopsis 5209 5210 double __strtod_internal(const char *__nptr, 5211 char **__endptr, 5212 int __group); 5213 5214 Description 5215 5216 The __group argument must be 0 or the behavior is undefined. 5217 5218 __strtod_internal(__nptr, __endptr, __group) has the same specification as 5219 strtod(__nptr, __endptr). 5220 5221 __strtod_internal is not in the source standard; it is only in the binary 5222 standard. 5223 5224 __strtof_internal 5225 5226 Name 5227 5228 __strtof_internal -- underlying function for strtof 5229 5230 Synopsis 5231 5232 float __strtof_internal (const char *__nptr, 5233 char **__endptr, int __group); 5234 5235 Description 5236 5237 The __group argument must be 0 or the behavior is undefined. Otherwise the same 5238 as strtof (__nptr, __endptr). Only in the binary standard, not the source 5239 standard. 5240 5241 __strtok_r 5242 5243 Name 5244 5245 __strtok_r -- alias for strtok_r 5246 5247 Synopsis 5248 5249 char *__strtok_r(char *__restrict s, 5250 __const char *__restrict delim, 5251 char **__restrict save_ptr); 5252 5253 Description 5254 5255 __strtok_r(s, delim, save_ptr) has the same specification as strtok_r(s, delim, 5256 save_ptr). 5257 5258 __strtok_r is not in the source standard; it is only in the binary standard. 5259 5260 __strtol_internal 5261 5262 Name 5263 5264 __strtol_internal -- alias for strtol 5265 5266 Synopsis 5267 5268 long int __strtol_internal(const char *__nptr, char **__endptr, 5269 int __base, int __group); 5270 5271 Description 5272 5273 __GROUP must be 0 or the behavior is undefined. 5274 5275 __strtol_internal(__nptr, __endptr, __base, __group) has the same specification 5276 as strtol(__nptr, __endptr, __base). 5277 5278 __strtol_internal is not in the source standard; it is only in the binary 5279 standard. 5280 5281 __strtold_internal 5282 5283 Name 5284 5285 __strtold_internal -- underlying function for strtold 5286 5287 Synopsis 5288 5289 long double __strtold_internal(const char *__nptr, 5290 char **__endptr, 5291 int __group); 5292 5293 Description 5294 5295 The __group argument must be 0 or the behavior is undefined. Otherwise the same 5296 as strtold (__nptr, __endptr). Only in the binary standard, not the source 5297 standard. 5298 5299 __strtoll_internal 5300 5301 Name 5302 5303 __strtoll_internal -- underlying function for strtoll 5304 5305 Synopsis 5306 5307 long long __strtoll_internal(const char *__nptr, 5308 char **__endptr, 5309 int __base, 5310 int __group); 5311 5312 Description 5313 5314 The __group argument must be 0 or the behavior is undefined. Otherwise the same 5315 as strtoll (__nptr, __endptr, __base). Only in the binary standard, not the 5316 source standard. 5317 5318 __strtoul_internal 5319 5320 Name 5321 5322 __strtoul_internal -- underlying function for strtoul 5323 5324 Synopsis 5325 5326 unsigned long int __strtoul_internal (const char *__nptr, 5327 char **__endptr, int __base, 5328 int __group); 5329 5330 Description 5331 5332 The __group argument must be 0 or the behavior is undefined. Otherwise the same 5333 as strtoul (__nptr, __endptr, __base). Only in the binary standard, not the 5334 source standard. 5335 5336 __strtoull_internal 5337 5338 Name 5339 5340 __strtoull_internal -- underlying function for strtoull 5341 5342 Synopsis 5343 5344 unsigned long long __strtoull_internal(const char *__nptr, 5345 char **__endptr, int __base, 5346 int __group); 5347 5348 Description 5349 5350 The __group argument must be 0 or the behavior is undefined. Otherwise the same 5351 as strtoull (__nptr, __endptr, __base). Only in the binary standard, not the 5352 source standard. 5353 5354 __sysconf 5355 5356 Name 5357 5358 __sysconf -- get configuration information at runtime 5359 5360 Synopsis 5361 5362 #include 5363 5364 long __sysconf(int name); 5365 5366 Description 5367 5368 Get configuration information at runtime. 5369 5370 This is weak alias to sysconf. 5371 5372 __sysconf(name) has the same specification as sysconf(name). 5373 5374 __sysconf is not in the source standard; it is only in the binary standard. 5375 5376 __sysv_signal 5377 5378 Name 5379 5380 __sysv_signal -- signal handling 5381 5382 Synopsis 5383 5384 __sighandler_t __sysv_signal(int sig, __sighandler_t handler); 5385 5386 Description 5387 5388 __sysv_signal(sig, handler) has the same behavior as signal(sig, handler) as 5389 specified by X/Open. 5390 5391 __sysv_signal is not in the source standard; it is only in the binary standard. 5392 5393 __timezone 5394 5395 Name 5396 5397 -- global variable containing timezone 5398 5399 Synopsis 5400 5401 long int __timezone; 5402 5403 Description 5404 5405 The specification for "__timezone" is the same as "timezone" as specified in 5406 the SUS. 5407 5408 ERRORS 5409 5410 __tzname 5411 5412 Name 5413 5414 -- global variable containing the timezone 5415 5416 Synopsis 5417 5418 char *__tzname[2]; 5419 5420 Description 5421 5422 The specification for "__tzname" is the same as "tzname" as specified in the 5423 SUS (note that the array size is two; this is explicit in the SUSv3 but not the 5424 SUSv2). 5425 5426 ERRORS 5427 5428 __wcstod_internal 5429 5430 Name 5431 5432 __wcstod_internal -- underlying function for wcstod 5433 5434 Synopsis 5435 5436 double __wcstod_internal(const wchar_t *nptr, 5437 wchar_t **endptr, 5438 int group); 5439 5440 Description 5441 5442 The group argument must be 0 or the behavior is undefined. Otherwise the same 5443 as wcstod(nptr, endptr). Only in the binary standard, not the source standard. 5444 5445 __wcstof_internal 5446 5447 Name 5448 5449 __wcstof_internal -- underlying function for wcstof 5450 5451 Synopsis 5452 5453 float __wcstof_internal(const wchar_t *nptr, 5454 wchar_t **endptr, 5455 int group); 5456 5457 Description 5458 5459 The group argument must be 0 or the behavior is undefined. Otherwise the same 5460 as wcstof(nptr, endptr). Only in the binary standard, not the source standard. 5461 5462 __wcstol_internal 5463 5464 Name 5465 5466 __wcstol_internal -- underlying function for wcstol 5467 5468 Synopsis 5469 5470 long __wcstol_internal(const wchar_t *nptr, 5471 wchar_t ** endptr, 5472 int base, 5473 int group); 5474 5475 Description 5476 5477 The group argument must be 0 or the behavior is undefined. Otherwise the same 5478 as wcstol(nptr, endptr, base). Only in the binary standard, not the source 5479 standard. 5480 5481 __wcstold_internal 5482 5483 Name 5484 5485 __wcstold_internal -- underlying function for wcstold 5486 5487 Synopsis 5488 5489 long double __wcstold_internal(const wchar_t *nptr, 5490 wchar_t ** endptr, 5491 int group); 5492 5493 Description 5494 5495 The group argument must be 0 or the behavior is undefined. Otherwise the same 5496 as wcstold(nptr, endptr). Only in the binary standard, not the source standard. 5497 5498 __wcstoul_internal 5499 5500 Name 5501 5502 __wcstoul_internal -- underlying function for wcstoul 5503 5504 Synopsis 5505 5506 unsigned long 5507 __wcstoul_internal(const wchar_t *restrict nptr, 5508 wchar_t **restrict endptr, 5509 int base, int group); 5510 5511 Description 5512 5513 The group argument must be 0 or the behavior is undefined. Otherwise the same 5514 as wcstoul(nptr, endptr, base). Only in the binary standard, not the source 5515 standard. 5516 5517 __xmknod 5518 5519 Name 5520 5521 __xmknod -- make block or character special file 5522 5523 Synopsis 5524 5525 int __xmknod(int ver, 5526 __const char *path, 5527 __mode_t mode, 5528 __dev_t *dev); 5529 5530 Description 5531 5532 ver must be 1 or the behavior is undefined. 5533 5534 __xmknod(1, path, mode, dev) has the same specification as mknod(path, mode, 5535 dev). 5536 5537 Note that the format of dev_t is not the same as the argument that the kernel 5538 syscall uses. 5539 5540 __xmknod is not in the source standard; it is only in the binary standard. 5541 5542 __xstat 5543 5544 Name 5545 5546 __xstat -- provide inode information 5547 5548 Synopsis 5549 5550 #include 5551 #include 5552 5553 int __xstat (int __ver, 5554 const char *__filename, 5555 struct stat *__stat_buf) 5556 5557 int __lxstat (int __ver, 5558 const char *__filename, 5559 struct stat *__stat_buf) 5560 5561 int __fxstat (int __ver, 5562 int __filedesc, 5563 struct stat *__stat_buf) 5564 5565 Inputs 5566 5567 __ver 5568 5569 Must be 3 or the behavior is undefined. 5570 5571 __filename 5572 5573 As in POSIX. 5574 5575 __filedesc 5576 5577 As in POSIX. 5578 5579 __stat_buf 5580 5581 As in POSIX. 5582 5583 Description 5584 5585 __xstat() has the same behavior as stat (__filename, __stat_buf) as specified 5586 by POSIX. 5587 5588 __lxstat() has the same behavior as lstat (__filename, __stat_buf) as specified 5589 by POSIX. 5590 5591 __fxstat() has the same behavior as fstat (__filedesc, __stat_buf) as specified 5592 by POSIX. 5593 5594 Note that the struct stat used by these functions is not the one that the 5595 kernel uses. 5596 5597 Usage 5598 5599 __xstat, __lxstat, and __fxstat are not in the source standard; stat, lstat, 5600 and fstat are not in the binary standard. 5601 5602 __xstat64 5603 5604 Name 5605 5606 __xstat64 -- provide inode information 5607 5608 Synopsis 5609 5610 #define _LARGEFILE_SOURCE 1 5611 #include 5612 #include 5613 5614 int __xstat64 (int __ver, 5615 const char *__filename, 5616 struct stat64 *__stat_buf) 5617 5618 int __lxstat64 (int __ver, 5619 const char *__filename, 5620 struct stat64 *__stat_buf) 5621 5622 int __fxstat64 (int __ver, 5623 int __filedesc, 5624 struct stat64 *__stat_buf) 5625 5626 Inputs 5627 5628 __ver 5629 5630 Must be 3 or the behavior is undefined. 5631 5632 __filename 5633 5634 As in Large File Summit. 5635 5636 __filedesc 5637 5638 As in Large File Summit. 5639 5640 __stat_buf 5641 5642 As in Large File Summit. 5643 5644 Description 5645 5646 __xstat64() has the same behavior as stat64 (__filename, __stat_buf) as 5647 specified by Large File Summit. 5648 5649 __lxstat64() has the same behavior as lstat64 (__filename, __stat_buf) as 5650 specified by Large File Summit. 5651 5652 __fxstat64() has the same behavior as fstat64 (__filedesc, __stat_buf) as 5653 specified by Large File Summit. 5654 5655 Usage 5656 5657 __xstat64, __lxstat64, and __fxstat64 are not in the source standard; stat64, 5658 lstat64, and fstat64 are not in the binary standard. 5659 5660 _environ 5661 5662 Name 5663 5664 _environ -- alias for environ - user environment 5665 5666 Synopsis 5667 5668 extern char **_environ; 5669 5670 Description 5671 5672 Alias for environ - user environment. 5673 5674 _nl_msg_cat_cntr 5675 5676 Name 5677 5678 _nl_msg_cat_cntr -- variable defined in loadmsgcat.c which gets incremented 5679 every time a new catalog is loaded 5680 5681 Synopsis 5682 5683 #include 5684 5685 extern int _nl_msg_cat_cntr; 5686 5687 Description 5688 5689 Used by Message catalogs for internationalization. A variable defined which 5690 gets incremented every time a new catalog is loaded. 5691 5692 _obstack_begin 5693 5694 Name 5695 5696 _obstack_begin -- initialize an obstack for use 5697 5698 Synopsis 5699 5700 #include 5701 5702 extern int _obstack_begin(struct obstack *, int, int, 5703 void *(*) (long), void (*) (void *)); 5704 5705 Description 5706 5707 Initialize an obstack for use. 5708 5709 _obstack_newchunk 5710 5711 Name 5712 5713 _obstack_newchunk -- allocate a new current chunk of memory for the obstack 5714 5715 Synopsis 5716 5717 #include 5718 5719 extern void _obstack_newchunk(struct obstack *, int); 5720 5721 Description 5722 5723 Allocate a new current chunk of memory for the obstack. 5724 5725 _sys_errlist 5726 5727 Name 5728 5729 _sys_errlist -- array containing the "C" locale strings used by strerror() 5730 5731 Synopsis 5732 5733 #include 5734 5735 extern const char *const _sys_errlist[]; 5736 5737 Description 5738 5739 An array containing the "C" locale strings used by strerror(). This normally 5740 should not be used directly. The strerror function provides all the needed 5741 functionality. 5742 5743 _sys_siglist 5744 5745 Name 5746 5747 _sys_siglist -- array containing the names of the signal names 5748 5749 Synopsis 5750 5751 #include 5752 5753 extern const char *const _sys_siglist[NSIG]; 5754 5755 Description 5756 5757 An array containing the names of the signal names. 5758 5759 This exists only for compatibility. Use strsignal instead (see ). 5760 5761 acct 5762 5763 Name 5764 5765 acct -- switch process accounting on or off 5766 5767 Synopsis 5768 5769 #include 5770 5771 int acct(const char *filename); 5772 5773 Description 5774 5775 When called with the name of an existing file as argument, accounting is turned 5776 on and records for each terminating process are appended to filename as it 5777 terminates. An argument of NULL causes accounting to be turned off. 5778 5779 Return Value 5780 5781 On success, zero is returned. On error, -1 is returned, and errno is set 5782 appropriately. 5783 5784 Errors 5785 5786 ENOSYS 5787 5788 BSD process accounting has not been enabled when the operating system 5789 kernel was compiled. The kernel configuration parameter controlling this 5790 feature is CONFIG_BSD_PROCESS_ACCT. 5791 5792 ENOMEM 5793 5794 Out of memory. 5795 5796 EPERM 5797 5798 The calling process has no permission to enable process accounting. 5799 5800 EACCES 5801 5802 The argument filename is not a regular file. 5803 5804 EIO 5805 5806 Error writing to the file filename. 5807 5808 EUSERS 5809 5810 There are no more free file structures or we run out of memory. 5811 5812 adjtime 5813 5814 Name 5815 5816 adjtime -- correct the time to allow synchronization of the system clock 5817 5818 Synopsis 5819 5820 #include 5821 5822 int adjtime(const struct timeval *delta, struct timeval *olddelta); 5823 5824 Description 5825 5826 The adjtime function makes small adjustments to the system time, as returned by 5827 gettimeofday(2), advancing or retarding it by the time specified by the timeval 5828 delta. If delta is negative, the clock is slowed down by incrementing it more 5829 slowly than normal until the correction is complete. If delta is positive, a 5830 larger increment than normal is used. The skew used to perform the correction 5831 is generally a fraction of one percent. Thus, the time is always a 5832 monotonically increasing function. A time correction from an earlier call to 5833 adjtime() may not be finished when adjtime() is called again. If olddelta is 5834 non-nil, the structure pointed to will contain, upon return, the number of 5835 microseconds still to be corrected from the earlier call. 5836 5837 This call may be used by time servers that synchronize the clocks of computers 5838 in a local area network. Such time servers would slow down the clocks of some 5839 machines and speed up the clocks of others to bring them to the average network 5840 time. 5841 5842 The call adjtime() is restricted to the super-user. 5843 5844 Return Value 5845 5846 On success, zero is returned. On error, -1 is returned, and errno is set 5847 appropriately. 5848 5849 ERRORS 5850 5851 EFAULT 5852 5853 An argument points outside the process's allocated address space. 5854 5855 EPERM 5856 5857 The process's effective user ID is not that of the super-user. 5858 5859 adjtimex 5860 5861 Name 5862 5863 adjtimex -- tune kernel clock 5864 5865 Synopsis 5866 5867 #include 5868 5869 int adjtimex(struct timex *buf); 5870 5871 Description 5872 5873 Linux uses David L. Mills' clock adjustment algorithm (see RFC 1305). The 5874 system call adjtimex reads and optionally sets adjustment parameters for this 5875 algorithm. It takes a pointer to a timex structure, updates kernel parameters 5876 from field values, and returns the same structure with current kernel values. 5877 This structure is declared as follows: 5878 5879 struct timex { 5880 5881 int modes; /* mode selector */ 5882 5883 long offset; /* time offset (usec) */ 5884 5885 long freq; /* frequency offset (scaled ppm) */ 5886 5887 long maxerror; /* maximum error (usec) */ 5888 5889 long esterror; /* estimated error (usec) */ 5890 5891 int status; /* clock command/status */ 5892 5893 long constant; /* pll time constant */ 5894 5895 long precision; /* clock precision (usec) (read only) */ 5896 5897 long tolerance; /* clock frequency tolerance (ppm) (read only) */ 5898 5899 struct timeval time; /* current time (read only) */ 5900 5901 long tick; /* usecs between clock ticks */ 5902 5903 }; 5904 5905 The modes field determines which parameters, if any, to set. It may contain a 5906 bitwise-or combination of zero or more of the following bits: 5907 5908 #define ADJ_OFFSET 0x0001 /* time offset */ 5909 5910 #define ADJ_FREQUENCY 0x0002 /* frequency offset */ 5911 5912 #define ADJ_MAXERROR 0x0004 /* maximum time error */ 5913 5914 #define ADJ_ESTERROR 0x0008 /* estimated time error */ 5915 5916 #define ADJ_STATUS 0x0010 /* clock status */ 5917 5918 #define ADJ_TIMECONST 0x0020 /* pll time constant */ 5919 5920 #define ADJ_TICK 0x4000 /* tick value */ 5921 5922 #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ 5923 5924 Ordinary users are restricted to a zero value for mode. Only the superuser may 5925 set any parameters. 5926 5927 Return Value 5928 5929 On success, adjtimex returns the clock state: 5930 5931 #define TIME_OK 0 /* clock synchronized */ 5932 5933 #define TIME_INS 1 /* insert leap second */ 5934 5935 #define TIME_DEL 2 /* delete leap second */ 5936 5937 #define TIME_OOP 3 /* leap second in progress */ 5938 5939 #define TIME_WAIT 4 /* leap second has occurred */ 5940 5941 #define TIME_BAD 5 /* clock not synchronized */ 5942 5943 On error, -1 is returned, and errno is set appropriately. 5944 5945 Errors 5946 5947 EFAULT 5948 5949 buf does not point to writable memory. 5950 5951 EPERM 5952 5953 buf.mode is non-zero and the user is not super-user. 5954 5955 EINVAL 5956 5957 An attempt is made to set buf.offset to a value outside the range -131071 5958 to +131071, or to set buf.status to a value other than those listed above, 5959 or to set buf.tick to a value outside the range 900000/HZ to 1100000/HZ, 5960 where HZ is the system timer interrupt frequency. 5961 5962 alphasort 5963 5964 Name 5965 5966 alphasort -- compare two directory entries alphabetically (LSB deprecated) 5967 5968 Synopsis 5969 5970 #include 5971 5972 int alphasort(const struct dirent **a, const struct dirent **b); 5973 5974 Description 5975 5976 The alphasort interface is expected to disappear from a future version of the 5977 LSB; applications should provide their own routine to sort filenames.[11] 5978 5979 The alphasort() function can be used as the comparison function for the scandir 5980 () function to sort the directory entries into alphabetical order. Its 5981 parameters are the two directory entries, a and b, to compare. 5982 5983 Return Value 5984 5985 The alphasort() function returns an integer less than, equal to, or greater 5986 than zero if the first argument is considered to be respectively less than, 5987 equal to, or greater than the second. 5988 5989 Errors 5990 5991 ENOMEM 5992 5993 Insufficient memory to complete the operation. 5994 5995 alphasort64 5996 5997 Name 5998 5999 alphasort64 -- compare two directory entries alphabetically (LSB deprecated) 6000 6001 Synopsis 6002 6003 #include 6004 6005 int alphasort64(const struct dirent64 **a, const struct dirent64 **b); 6006 6007 Description 6008 6009 The alphasort64 interface is expected to disappear from a future version of the 6010 LSB; applications should provide their own routine to sort filenames.[12] 6011 6012 Function to compare two struct dirent64s alphabetically. This function is like 6013 alphasort but it uses the 64bit dirent structure. 6014 6015 bindresvport 6016 6017 Name 6018 6019 bindresvport -- bind socket to privileged IP port 6020 6021 Synopsis 6022 6023 #include 6024 #include 6025 6026 int bindresvport(int sd, struct sockaddr_in *sin); 6027 6028 Description 6029 6030 The bindresvport() function is used to bind a socket to a privileged IP port. 6031 This function can be used only by root. 6032 6033 Return Value 6034 6035 On success, zero is returned. On failure, -1 is returned, and errno is set 6036 appropriately. 6037 6038 Errors 6039 6040 EPFNOSUPPORT 6041 6042 Address of second argument provided did not match address family of first 6043 argument. 6044 6045 cfmakeraw 6046 6047 Name 6048 6049 cfmakeraw -- get and set terminal attributes 6050 6051 Synopsis 6052 6053 #include 6054 6055 int cfmakeraw(struct termios *termios_p); 6056 6057 Description 6058 6059 cfmakeraw sets the terminal attributes as follows: 6060 6061 termios_p->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP |INLCR|IGNCR|ICRNL| 6062 IXON); 6063 6064 termios_p->c_oflag &= ~OPOST; 6065 6066 termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); 6067 6068 termios_p->c_cflag &= ~(CSIZE|PARENB); 6069 6070 termios_p->c_cflag |= CS8; 6071 6072 termios_p is a pointer to a termios structure. This structure contains the 6073 following members: 6074 6075 tcflag_t c_iflag; /* input modes */ 6076 6077 tcflag_t c_oflag; /* output modes */ 6078 6079 tcflag_t c_cflag; /* control modes */ 6080 6081 tcflag_t c_lflag; /* local modes */ 6082 6083 cc_t c_cc[NCCS]; /* control chars */ 6084 6085 Return Value 6086 6087 On success, zero is returned. On failure, -1 is returned, and errno is set 6088 appropriately. 6089 6090 cfsetspeed 6091 6092 Name 6093 6094 cfsetspeed -- manipulate the termios structure 6095 6096 Synopsis 6097 6098 #include 6099 6100 int cfsetspeed(struct termios *t, speedt speed); 6101 6102 Description 6103 6104 The cfsetspeed function is provided for setting the baud rate values in the 6105 termios structure. The effects of the function on the terminal as described 6106 below do not become effective, nor are all errors detected, until the tcsetattr 6107 function is called. Certain values for baud rates set in the termios structure 6108 and passed to tcsetattr have special meanings. 6109 6110 Getting and Setting the Baud Rate 6111 6112 The input and output baud rates are found in the termios structure. The 6113 unsigned integer speed_t is typdef'd in the include file . The value 6114 of the integer corresponds directly to the baud rate being represented, 6115 however, the following symbolic values are defined. 6116 6117 #define B0 0 6118 6119 #define B50 50 6120 6121 #define B75 75 6122 6123 #define B110 110 6124 6125 #define B134 134 6126 6127 #define B150 150 6128 6129 #define B200 200 6130 6131 #define B300 300 6132 6133 #define B600 600 6134 6135 #define B1200 1200 6136 6137 #define B1800 1800 6138 6139 #define B2400 2400 6140 6141 #define B4800 4800 6142 6143 #define B9600 9600 6144 6145 #define B19200 19200 6146 6147 #define B38400 38400 6148 6149 #ifndef _POSIX_SOURCE 6150 6151 #define EXTA 19200 6152 6153 #define EXTB 38400 6154 6155 #endif /*_POSIX_SOURCE */ 6156 6157 The cfsetspeed function sets both the input and output baud rate in the termios 6158 structure referenced by t to speed. 6159 6160 Return Value 6161 6162 On success, zero is returned. On error, -1 is returned, and errno is set 6163 appropriately. 6164 6165 daemon 6166 6167 Name 6168 6169 daemon -- run in the background 6170 6171 Synopsis 6172 6173 #include 6174 6175 int daemon(int nochdir, int noclose); 6176 6177 Description 6178 6179 The daemon() function is for programs wishing to detach themselves from the 6180 controlling terminal and run in the background as system daemons. Unless the 6181 argument nochdir is non-zero, daemon() changes the current working directory to 6182 the root (`/'). Unless the argument noclose is non-zero, daemon() will redirect 6183 standard input, standard output and standard error to /dev/null. 6184 6185 Errors 6186 6187 On error, -1 is returned, and errno is set to any of the errors specified for 6188 the library functions fork(2) and setsid(2). 6189 6190 err 6191 6192 Name 6193 6194 err -- display formatted error messages 6195 6196 Synopsis 6197 6198 #include 6199 6200 void err(int eval, const char *fmt, ...); 6201 6202 Description 6203 6204 The err() function displays a formatted error message on the standard error 6205 output. The last component of the program name, a colon character, and a space 6206 are output. If the fmt argument is not NULL, the formatted error message, a 6207 colon character, and a space are output. The error message string affiliated 6208 with the current value of the global variable errno is output. The output is 6209 followed by a newline character. 6210 6211 The err() function does not return, but exits with the value of the argument 6212 eval. 6213 6214 error 6215 6216 Name 6217 6218 error -- print error message 6219 6220 Synopsis 6221 6222 void error (int exitstatus, int errnum, const char *format, ...) 6223 6224 Description 6225 6226 Print a message to standard error. First print the name of the program. If 6227 there is a function called error_print_progname (which would be provided by the 6228 application), call it to print the program name. If not, print the contents of 6229 the global variable program_name as the program name. 6230 6231 Then print a colon, a space, and the result of using the printf-style format 6232 and the optional arguments. 6233 6234 Then, if errnum is nonzero, print a colon, a space, and the result of strerror 6235 (errnum). 6236 6237 Then print a newline. 6238 6239 Then, if exitstatus is nonzero, call exit(exitstatus). 6240 6241 errx 6242 6243 Name 6244 6245 errx -- format error messages 6246 6247 Synopsis 6248 6249 #include 6250 6251 void errx(int eval, const char *fmt, ...); 6252 6253 Description 6254 6255 The errx() function displays a formatted error message on the standard error 6256 output. The last component of the program name, a colon character, and a space 6257 are output. If the fmt argument is not NULL, the formatted error message, a 6258 colon character, and a space are output. The output is followed by a newline 6259 character. 6260 6261 The errx() function does not return, but exits with the value of the argument 6262 eval. 6263 6264 flock 6265 6266 Name 6267 6268 flock -- apply or remove an advisory lock on an open file 6269 6270 Synopsis 6271 6272 int flock(int fd, int operation); 6273 6274 Description 6275 6276 Apply or remove an advisory lock on an open file. The file is specified by fd. 6277 Valid operations are given below: 6278 6279 LOCK_SH 6280 6281 Shared lock. More than one process may hold a shared lock for a given file 6282 at a given time. 6283 6284 LOCK_EX 6285 6286 Exclusive lock. Only one process may hold an exclusive lock for a given 6287 file at a given time. 6288 6289 LOCK_UN 6290 6291 Unlock. 6292 6293 LOCK_NB 6294 6295 Don't block when locking. May be specified (by or'ing) along with one of 6296 the other operations. 6297 6298 A single file may not simultaneously have both shared and exclusive locks. 6299 6300 Return Value 6301 6302 On success, zero is returned. On error, -1 is returned, and errno is set 6303 appropriately. 6304 6305 Errors 6306 6307 EWOULDBLOCK 6308 6309 The file is locked and the LOCK_NB flag was selected. 6310 6311 fstatfs 6312 6313 Name 6314 6315 fstatfs -- get file system statistics 6316 6317 Synopsis 6318 6319 #include 6320 6321 int fstatfs(int fd, struct statfs *buf); 6322 6323 Description 6324 6325 fstatfs returns information about a mounted file system. fd is the open file 6326 descriptor of any file within the mounted filesystem. buf is a pointer to a 6327 statfs structure defined as follows: 6328 6329 struct statfs { 6330 6331 long f_type; /* type of filesystem (see below) */ 6332 6333 long f_bsize; /* optimal transfer block size */ 6334 6335 long f_blocks; /* total data blocks in file system */ 6336 6337 long f_bfree; /* free blocks in fs */ 6338 6339 long f_bavail; /* free blocks avail to non-superuser */ 6340 6341 long f_files; /* total file nodes in file system */ 6342 6343 long f_ffree; /* free file nodes in fs */ 6344 6345 fsid_t f_fsid; /* file system id */ 6346 6347 long f_namelen; /* maximum length of filenames */ 6348 6349 long f_spare[6]; /* spare for later */ 6350 6351 }; 6352 6353 Fields that are undefined for a particular file system are set to 0. 6354 6355 Return Value 6356 6357 On success, zero is returned. On error, -1 is returned, and errno is set 6358 appropriately. 6359 6360 Errors 6361 6362 EBADF 6363 6364 fd is not a valid open file descriptor. 6365 6366 EFAULT 6367 6368 buf points to an invalid address. 6369 6370 EIO 6371 6372 An I/O error occurred while reading from or writing to the file system. 6373 6374 ENOSYS 6375 6376 The filesystem fd is open on does not support statfs. 6377 6378 fwprintf 6379 6380 Name 6381 6382 fwprintf -- formatted wide character output conversion 6383 6384 Synopsis 6385 6386 int fwprintf(FILE* stream, const wchar_t* format, ...); 6387 6388 Description 6389 6390 The specification for "fwprintf" is as specified in the SUSv2 but with the 6391 following differences as listed below. 6392 6393 Wide-character Conversion: 6394 6395 The following wide-character are not specified in GNU: 6396 6397 d, i, o, u, x, X, f, e, E , g, G , c, s, p, n, C, S, % 6398 6399 Errors 6400 6401 The following error types are not specified in GNU: 6402 6403 EILSEQ 6404 6405 EINVAL 6406 6407 ENOMEM 6408 6409 getdomainname 6410 6411 Name 6412 6413 getdomainname -- get NIS domain name. 6414 6415 Synopsis 6416 6417 #include 6418 6419 extern int getdomainname(char *name, size_t namelen); 6420 6421 Description 6422 6423 If NIS is in use, provide the NIS domain name. Note that this is not the same 6424 as the domain name which provides the domain portion of a fully qualified 6425 domain name (for example, in DNS). If NIS is not in use, provide the string " 6426 (none)". 6427 6428 If the string which is provided is strictly less than namelen characters in 6429 length, getdomainname places it in the array pointed to by name followed by a 6430 terminating null character. If not, getdomainname may either truncate it to 6431 namelen characters and place it in name (without a terminating null character), 6432 or may fail with EINVAL. 6433 6434 Return Value 6435 6436 getdomainname returns 0 if successful; -1 if not (in which case errno is set to 6437 indicate the error). 6438 6439 gethostbyname 6440 6441 Name 6442 6443 gethostbyname -- get network host entry 6444 6445 Synopsis 6446 6447 #include 6448 6449 struct hostent *gethostbyname(const char *name); 6450 6451 Description 6452 6453 The gethostbyname() function returns a structure of type hostent for the given 6454 host name. Here name is either a host name, or an IPv4 address in standard dot 6455 notation, or an IPv6 address in colon (and possibly dot) notation. (See RFC 6456 1884 for the description of IPv6 addresses.) If name is an IPv4 or IPv6 6457 address, no lookup is performed and gethostbyname() simply copies name into the 6458 h_name field and its struct in_addr equivalent into the h_addr_list[0] field of 6459 the returned hostent structure. If name doesn't end in a dot and the 6460 environment variable HOSTALIASES is set, the alias file pointed to by 6461 HOSTALIASES will first be searched for name (see hostname(7) for the file 6462 format). The current domain and its parents are searched unless name ends in a 6463 dot. 6464 6465 The domain name queries carried out by gethostbyname() use a combination of any 6466 or all of the name server named(8), a broken out line from /etc/hosts, and the 6467 Network Information Service (NIS or YP), depending upon the contents of the 6468 order line in /etc/host.conf. (See resolv+(8)). The default action is to query 6469 named(8), followed by /etc/hosts. 6470 6471 The hostent structure is defined in as follows: 6472 6473 struct hostent { 6474 6475 char *h_name; /* official name of host */ 6476 6477 char **h_aliases; /* alias list */ 6478 6479 int h_addrtype; /* host address type */ 6480 6481 int h_length; /* length of address */ 6482 6483 char **h_addr_list; /* list of addresses */ 6484 6485 } 6486 6487 #define h_addr h_addr_list[0] /* for backward compatibility */ 6488 6489 Return Value 6490 6491 The gethostbyname()) functions return the hostent structure or a NULL pointer 6492 if an error occurs. On error, the h_errno variable holds an error number. 6493 6494 Errors 6495 6496 ENOMEM 6497 6498 Insufficient memory to complete the operation. 6499 6500 gethostbyname_r 6501 6502 Name 6503 6504 gethostbyname_r -- find network host database entry matching host name 6505 6506 Synopsis 6507 6508 extern int gethostbyname_r(__const char *__restrict __name, 6509 struct hostent *__restrict __result_buf, 6510 char *__restrict __buf, size_t __buflen, 6511 struct hostent **__restrict __result, 6512 int *__restrict __h_errnop); 6513 6514 Description 6515 6516 The gethostbyname_r() function is a reentrant version of the gethostbyname 6517 function that searches the network host database for a host name match. 6518 6519 getloadavg 6520 6521 Name 6522 6523 getloadavg -- get system load averages 6524 6525 Synopsis 6526 6527 #include 6528 6529 int getloadavg(double loadavg[], int nelem); 6530 6531 Description 6532 6533 The getloadavg() function returns the number of processes in the system run 6534 queue averaged over various periods of time. Up to nelem samples are retrieved 6535 and assigned to successive elements of loadavg[]. The system imposes a maximum 6536 of 3 samples, representing averages over the last 1, 5, and 15 minutes, 6537 respectively. 6538 6539 getopt 6540 6541 Name 6542 6543 getopt -- parse command line options 6544 6545 Synopsis 6546 6547 int getopt(int argc, char * const argv[], const char *optstring); 6548 extern char *optarg; 6549 extern int optind, opterr, optopt; 6550 6551 GNU supports the following extensions of getopt: 6552 6553 int getopt_long(int argc, char * const argv[], 6554 const char *optstring, 6555 const struct option *longopts, int *longindex); 6556 6557 int getopt_long_only(int argc, char * const argv[], 6558 const char *optstring, 6559 const struct option *longopts, int *longindex); 6560 6561 Description 6562 6563 The getopt() function parses command line arguments. GNU and POSIX 6564 specifications for this function vary in the following areas. 6565 6566 Option Characteristics 6567 6568 GNU specifies that: 6569 6570 * an element of argv that starts with "-" (and is not exactly "-" or "--") is 6571 an option element. 6572 6573 * characters of an option element, aside from the initial "-", are option 6574 characters. 6575 6576 POSIX specifies that: 6577 6578 * applications using getopt() must obey the following syntax guidelines: 6579 6580 + option name is a single alphanumeric character from the portable 6581 character set 6582 6583 + option is preceded by the "-" delimiter character 6584 6585 + options without option-arguments should be accepted when grouped behind 6586 one "-" delimiter 6587 6588 + each option and option-argument is a separate argument 6589 6590 + option-arguments are not optional 6591 6592 + all options should precede operands on the command line 6593 6594 + the argument "--" is accepted as a delimiter indicating the end of 6595 options and the consideration of subsequent arguments, if any, as 6596 operands 6597 6598 * historical implementations of getopt() support other characters as options 6599 as an allowed extension, but applications that use extensions are not 6600 maximally portable. 6601 6602 * support for multi-byte option characters is only possible when such 6603 characters can be represented as type int. 6604 6605 * applications that call any utility with a first operand starting with "-" 6606 should usually specify "--" to mark the end of the options. Standard 6607 utilities that do not support this guideline indicate that fact in the 6608 OPTIONS section of the utility description. 6609 6610 Extensions 6611 6612 GNU specifies that: 6613 6614 * if a character is followed by two colons, the option takes an optional arg; 6615 if there is text in the current argv-element, it is returned in optarg, 6616 otherwise optarg is set to zero. 6617 6618 * if optstring contains W followed by a semi-colon, then -W foo is treated as 6619 the long option --foo. (Not available with libraries before GNU libc 2.) 6620 6621 * getopt_long() works like getopt() except that it also accepts "long 6622 options", or, options that are preface with two dashes instead of one. 6623 6624 * long option names may be abbreviated if the abbreviation is unique or an 6625 exact match for some defined option. 6626 6627 * a long option may take a parameter, of the form --arg=param or --arg param. 6628 6629 * getopt_long_only() works like getopt_long(), except that both "-" and "--" 6630 indicate long option. If an option that starts with "-" (not "--") doesn't 6631 match a long option, but does match a short option, it is parsed instead as 6632 a short option. 6633 6634 POSIX specifies that: 6635 6636 * the -W option is reserved for implementation extensions. 6637 6638 Return Values 6639 6640 GNU specifies the following getopt() return values: 6641 6642 * the next option character is returned, if found successfully. 6643 6644 * colon character (":") is returned if a parameter is missing for one of the 6645 options. 6646 6647 * question mark ("?") is returned if an unknown option character is 6648 encountered. 6649 6650 * "-1" is returned for the end of the option list. 6651 6652 GNU specifies the following getopt_long() and getopt_long_only() return values: 6653 6654 * when short option is recognized, the option character is returned. 6655 6656 * when long option is recognized, val is returned if flag is NULL, otherwise, 6657 0 is returned. 6658 6659 * error and -1 returns are the same as for getopt(). 6660 6661 * question mark ("?") is returned for an ambiguous match or an extraneous 6662 parameter. 6663 6664 POSIX specifies the following getopt() return values: 6665 6666 * the next option character is returned, if found successfully. 6667 6668 * colon character (":") is returned if a parameter is missing for one of the 6669 options and the first character of opstring is ":". 6670 6671 * question mark ("?") is returned if an unknown option character not in 6672 optstring is encountered, or if getopt() detects a missing argument and the 6673 first character of optstring is not ":". 6674 6675 * "-1" is returned for the end of the option list. 6676 6677 Environmental Variables 6678 6679 GNU specifies that: 6680 6681 * if the variable POSIXLY_CORRECT is set, option processing stops as soon as 6682 a non-option argument is encountered. 6683 6684 * if POSIXLY_CORRECT is set, GNU getopt() conforms to POSIX.2. 6685 6686 * the variable _[PID]_GNU_nonoption_argv_flags_ was used by bash 2.0 to 6687 communicate to GNU libc which arguments resulted from wildcard expansion 6688 and so should not be considered as options. This behavior was removed in 6689 bash version 2.01, but the support remains in GNU libc. 6690 6691 Environmental Variables 6692 6693 POSIX.2 Interpretation 150 reports a technical error in the function of getopt 6694 (). GNU implements the correct behavior of getopt(). 6695 6696 getopt_long 6697 6698 Name 6699 6700 getopt_long -- parse command line options 6701 6702 Synopsis 6703 6704 #define _GNU_SOURCE 6705 #include 6706 6707 int getopt_long(int argc, char * const argv[], 6708 const char *optstring, 6709 const struct option *longopts, int *longindex); 6710 6711 Description 6712 6713 The getopt_long() function works like getopt() except that it also accepts long 6714 options, started out by two dashes. Long option names may be abbreviated if the 6715 abbreviation is unique or is an exact match for some defined option. A long 6716 option may take a parameter, of the form --arg=param or --arg param. 6717 6718 longopts is a pointer to the first element of an array of struct option 6719 declared in as 6720 6721 struct option { 6722 6723 const char *name; 6724 6725 int *flag; 6726 6727 int has_arg; 6728 6729 int val; 6730 6731 }; 6732 6733 Return Value 6734 6735 The getopt_long() function returns the option character if the option was found 6736 successfully, : if there was a missing parameter for one of the options, ? for 6737 an unknown option character, or -1 for the end of the option list. 6738 6739 getopt_long() also returns the option character when a short option is 6740 recognized. For a long option, they return val if flag is NULL, and 0 6741 otherwise. Error and -1 returns are the same as for getopt(), plus ? for an 6742 ambiguous match or an extraneous parameter. 6743 6744 getopt_long_only 6745 6746 Name 6747 6748 getopt_long_only -- parse command line options 6749 6750 Synopsis 6751 6752 #define _GNU_SOURCE 6753 #include 6754 6755 int getopt_long_only(int argc, char * const argv[], 6756 const char *optstring, 6757 const struct option *longopts, int *longindex); 6758 6759 Description 6760 6761 getopt_long_only() is like getopt_long(), but - as well as -- can indicate a 6762 long option. If an option that starts with - (not --) doesn't match a long 6763 option, but does match a short option, it is parsed as a short option instead. 6764 6765 Return Value 6766 6767 The function getopt_long_only() returns the option character if the option was 6768 found successfully, : if there was a missing parameter for one of the options, 6769 ? for an unknown option character, or -1 for the end of the option list. 6770 getopt_long_only() also returns the option character when a short option is 6771 recognized. For a long option, they return val if flag is NULL, and 0 6772 otherwise. Error and -1 returns are the same as for getopt(), plus ? for an 6773 ambiguous match or an extraneous parameter. 6774 6775 getprotobyname 6776 6777 Name 6778 6779 getprotobyname -- get protocol entry 6780 6781 Synopsis 6782 6783 struct protoent *getprotobynumber(int proto); 6784 6785 Description 6786 6787 The getprotobyname() function returns a protoent structure for the line from / 6788 etc/protocols that matches the protocol name name. 6789 6790 The protoent structure is defined in as follows: 6791 6792 struct protoent { 6793 6794 char *p_name; /* official protocol name */ 6795 6796 char **p_aliases; /* alias list */ 6797 6798 int p_proto; /* protocol number */ 6799 6800 } 6801 6802 Return Value 6803 6804 The getprotobyname() function returns the protoent structure, or a NULL pointer 6805 if an error occurs or the end of the file is reached. 6806 6807 Files 6808 6809 /etc/protocols protocol database file 6810 6811 getprotoent 6812 6813 Name 6814 6815 getprotoent -- get protocol entry 6816 6817 Synopsis 6818 6819 struct protoent *getprotoent(void); 6820 6821 Description 6822 6823 The getprotoent() function reads the next line from the file /etc/protocols and 6824 returns a structure protoent containing the broken out fields from the line. 6825 The /etc/protocols file is opened if necessary. 6826 6827 The protoent structure is defined in as follows: 6828 6829 struct protoent { 6830 6831 char *p_name; /* official protocol name */ 6832 6833 char **p_aliases; /* alias list */ 6834 6835 int p_proto; /* protocol number */ 6836 6837 } 6838 6839 Return Value 6840 6841 The getprotoent() function returns the protoent structure, or a NULL pointer if 6842 an error occurs or the end of the file is reached. 6843 6844 Files 6845 6846 /etc/protocols protocol database file 6847 6848 getpwnam_r 6849 6850 Name 6851 6852 getpwnam_r -- reentrant version of getpwnam 6853 6854 Synopsis 6855 6856 #include 6857 6858 extern int getpwnam_r (const char *name, 6859 struct passwd *resultbuf, 6860 char *buffer, 6861 size_t buflen, 6862 struct passwd **result) 6863 6864 Description 6865 6866 Reentrant version of getpwnam. The additional arguments resultsbuf and buffer 6867 are for internal storage, buflen the size of the buffer, and result is the 6868 password structure used to return the requested information. 6869 6870 getservbyname 6871 6872 Name 6873 6874 getservbyname -- get service entry 6875 6876 Synopsis 6877 6878 #include 6879 6880 struct servent *getservbyname(const char *name, const char *proto); 6881 6882 Description 6883 6884 The getservbyname() function returns a servent structure for the line from /etc 6885 /services that matches the service name using protocol proto. 6886 6887 The servent structure is defined in as follows: 6888 6889 struct servent { 6890 6891 char *s_name; /* official service name */ 6892 6893 char **s_aliases; /* alias list */ 6894 6895 int s_port; /* port number */ 6896 6897 char *s_proto; /* protocol to use */ 6898 6899 } 6900 6901 Return Value 6902 6903 getservbyname() returns the servent structure, or a NULL pointer if an error 6904 occurs or the end of the file is reached. 6905 6906 Files 6907 6908 /etc/services services database file 6909 6910 getservent 6911 6912 Name 6913 6914 getservent -- get service entry 6915 6916 Synopsis 6917 6918 #include 6919 6920 struct servent *getservent(void); 6921 6922 Description 6923 6924 The getservent() function reads the next line from the file /etc/services and 6925 returns a structure servent containing the broken out fields from the line. The 6926 /etc/services file is opened if necessary. 6927 6928 The servent structure is defined in as follows: 6929 6930 struct servent { 6931 6932 char *s_name; /* official service name */ 6933 6934 char **s_aliases; /* alias list */ 6935 6936 int s_port; /* port number */ 6937 6938 char *s_proto; /* protocol to use */ 6939 6940 } 6941 6942 Return Value 6943 6944 getservent() returns the servent structure, or a NULL pointer if an error 6945 occurs or the end of the file is reached. 6946 6947 Files 6948 6949 /etc/services services database file 6950 6951 gettext 6952 6953 Name 6954 6955 gettext -- look up MSGID in the current default message catalog for the current 6956 LC_MESSAGES locale 6957 6958 Synopsis 6959 6960 #include 6961 6962 extern char *gettext((const char *msgid)); 6963 6964 Description 6965 6966 Used to look up the MSGID in the DOMAINNAME message catalog for the current 6967 CATEGORY locale. If not found, returns MSGID itself (the default text). 6968 6969 getutent 6970 6971 Name 6972 6973 getutent -- access utmp file entries 6974 6975 Synopsis 6976 6977 #include 6978 6979 struct utmp *getutent(void); 6980 6981 Description 6982 6983 getutent() reads a line from the current file position in the utmp file. It 6984 returns a pointer to a structure containing the fields of the line. 6985 6986 Return Value 6987 6988 getutent() returns a pointer to a static struct utmp. 6989 6990 Errors 6991 6992 On error, (struct utmp*)0 will be returned. 6993 6994 Files 6995 6996 /var/run/utmp database of currently logged-in users 6997 6998 /var/log/wtmp database of past user logins 6999 7000 getutent_r 7001 7002 Name 7003 7004 getutent_r -- access utmp file entries 7005 7006 Synopsis 7007 7008 extern int getutent_r(struct utmp *__buffer, 7009 struct utmp **__result); 7010 7011 Description 7012 7013 The getutent_r() function is a reentrant version of the getutent utmp file 7014 handler. 7015 7016 glob64 7017 7018 Name 7019 7020 glob64 -- find pathnames matching a pattern (Large File Support) 7021 7022 Synopsis 7023 7024 #include 7025 int glob64((const char *pattern, int flags, 7026 int (*errfunc) (const char *, int), 7027 glob64_t *pglob)); 7028 7029 Description 7030 7031 The glob64() function searches for all the pathnames matching pattern according 7032 to the rules used by the shell (see glob(7)). No tilde expansion or parameter 7033 substitution is done; if you want these, use wordexp(3). The results of a 7034 glob64() call are stored in the structure pointed to by pglob, which is a 7035 glob64_t which is declared in and includes the following elements 7036 defined by POSIX.2 (more may be present as an extension): 7037 7038 The glob64() function is a 64-bit version of glob. 7039 7040 Return Value 7041 7042 On successful completion, glob64() returns zero. Other possible returns are: 7043 GLOB_NOSPACE for running out of memory, GLOB_ABORTED for a read error, and 7044 GLOB_NOMATCH for no found matches. 7045 7046 globfree64 7047 7048 Name 7049 7050 globfree64 -- free memory from glob64() (Large File Support) 7051 7052 Synopsis 7053 7054 #include 7055 7056 void globfree64(glob64_t *pglob); 7057 7058 Description 7059 7060 The globfree64() function frees the dynamically allocate storage from an 7061 earlier call to glob64(). 7062 7063 The globfree64 function is a 64-bit version of globfree. 7064 7065 initgroups 7066 7067 Name 7068 7069 initgroups -- initialize the supplementary group access list 7070 7071 Synopsis 7072 7073 #include 7074 #include 7075 7076 int initgroups(const char *user, gid_t group); 7077 7078 Description 7079 7080 The initgroups() function initializes the group access list by reading the 7081 group database and using all groups of which user is a member. The additional 7082 group group is also added to the list. 7083 7084 Return Value 7085 7086 On success, zero is returned. On error, -1 is returned, and errno is set 7087 appropriately. 7088 7089 Errors 7090 7091 EPERM 7092 7093 The calling process does not have sufficient privileges. 7094 7095 ENOMEM 7096 7097 Insufficient memory to allocate group information structure. 7098 7099 isblank 7100 7101 Name 7102 7103 isblank -- character classification routine 7104 7105 Synopsis 7106 7107 #include 7108 7109 int isblank(int c); 7110 7111 Description 7112 7113 This functions checks whether c, which must have the value of an unsigned char 7114 or EOF, falls into a certain character class according to the current locale. 7115 7116 isblank() checks for a blank character; that is, a space or a tab. This 7117 function is a GNU extension. 7118 7119 Return Value 7120 7121 The values returned are nonzero if the character c falls into the tested class, 7122 and a zero value if not. 7123 7124 Notes 7125 7126 The details of what characters belong into which class depend on the current 7127 locale. For example, isupper() will not recognize an A - umlaut as an uppercase 7128 letter in the default C locale. 7129 7130 iswblank 7131 7132 Name 7133 7134 iswblank -- test for whitespace wide character 7135 7136 Synopsis 7137 7138 #include 7139 7140 int iswblank(wint_t wc); 7141 7142 Description 7143 7144 The iswblank function is the wide-character equivalent of the isblank function. 7145 It tests whether wc is a wide character belonging to the wide character class 7146 "blank". 7147 7148 The wide character class "blank" is a subclass of the wide character class 7149 "space". 7150 7151 Being a subclass of the wide character class "space", the wide character class 7152 "blank" is disjoint from the wide character class "graph" and therefore also 7153 disjoint from its subclasses "alnum", "alpha", "upper", "lower", "digit", 7154 "xdigit", "punct". 7155 7156 The wide character class "blank" always contains at least the space character 7157 and the control character '\t'. 7158 7159 Return Value 7160 7161 The iswblank function returns non-zero if wc is a wide character belonging to 7162 the wide character class "blank". Otherwise it returns zero. 7163 7164 Notes 7165 7166 The behavior of iswblank depends on the LC_CTYPE category of the current 7167 locale. 7168 7169 iswctype 7170 7171 Name 7172 7173 iswctype -- wide character classification 7174 7175 Synopsis 7176 7177 #include 7178 7179 int iswctype(wint_t wc, wctype_t desc); 7180 7181 Description 7182 7183 If wc is a wide character having the character property designated by desc (or 7184 in other words: belongs to the character class designated by desc), the 7185 iswctype function returns non-zero. Otherwise it returns zero. If wc is WEOF, 7186 zero is returned. 7187 7188 desc must be a character property descriptor returned by the wctype function. 7189 7190 Return Value 7191 7192 iswctype returns non-zero if the wc has the designated property. Otherwise it 7193 returns 0. 7194 7195 Notes 7196 7197 The behavior of iswctype depends on the LC_CTYPE category of the current 7198 locale. 7199 7200 kill 7201 7202 Name 7203 7204 kill -- send a signal 7205 7206 Synopsis 7207 7208 int kill(pid_t pid, int sig); 7209 7210 Description 7211 7212 The specification for "kill" is as specified in the SUSv2 but with the 7213 following differences as listed below. 7214 7215 Process ID -1 doesn't affect calling process 7216 7217 If pid is specified as -1, sig shall not be sent to the calling process.[13] 7218 Other than this, the rules in the SUSv2 apply. 7219 7220 mbsnrtowcs 7221 7222 Name 7223 7224 mbsnrtowcs -- convert a multibyte string to a wide character string 7225 7226 Synopsis 7227 7228 #include 7229 7230 size_t mbsnrtowcs(wchar_t *dest, const char **src, 7231 size_t nms, size_t len, mbstate_t *ps); 7232 7233 Description 7234 7235 The mbsnrtowcs function is like the mbsrtowcs function, except that the number 7236 of bytes to be converted, starting at *src, is limited to nms. 7237 7238 If dest is not a NULL pointer, the mbsnrtowcs function converts at most nms 7239 bytes from the multibyte string *src to a wide-character string starting at 7240 dest. At most len wide characters are written to dest. The state *ps is 7241 updated. The conversion is effectively performed by repeatedly calling mbrtowc 7242 (dest,*src,n,ps) where n is some positive number, as long as this call 7243 succeeds, and then incrementing dest by one and *src by the number of bytes 7244 consumed. The conversion can stop for three reasons: 7245 7246 1. An invalid multibyte sequence has been encountered. In this case *src is 7247 left pointing to the invalid multibyte sequence, (size_t)(-1) is returned, and 7248 errno is set to EILSEQ. 7249 7250 2. The nms limit forces a stop, or len non-L'\0' wide characters have been 7251 stored at dest. In this case *src is left pointing to the next multibyte 7252 sequence to be converted, and the number of wide characters written to dest is 7253 returned. 7254 7255 3. The multibyte string has been completely converted, including the 7256 terminating '\0' (which has the side effect of bringing back *ps to the initial 7257 state). In this case *src is set to NULL, and the number of wide characters 7258 written to dest, excluding the terminating L'\0' character, is returned. 7259 7260 If dest is NULL, len is ignored, and the conversion proceeds as above, except 7261 that the converted wide characters are not written out to memory, and that no 7262 destination length limit exists. 7263 7264 In both of the above cases, if ps is a NULL pointer, a static anonymous state 7265 only known to the mbsnrtowcs function is used instead. 7266 7267 The programmer must ensure that there is room for at least len wide characters 7268 at dest. 7269 7270 Return Value 7271 7272 The mbsnrtowcs function returns the number of wide characters that make up the 7273 converted part of the wide character string, not including the terminating null 7274 wide character. If an invalid multibyte sequence was encountered, (size_t)(-1) 7275 is returned, and errno set to EILSEQ. 7276 7277 Notes 7278 7279 The behavior of mbsnrtowcs depends on the LC_CTYPE category of the current 7280 locale. 7281 7282 Passing NULL as ps is not multi-thread safe. 7283 7284 memmem 7285 7286 Name 7287 7288 memmem -- locate a substring 7289 7290 Synopsis 7291 7292 #define _GNU_SOURCE 7293 #include 7294 7295 void *memmem(const void *haystack, size_t haystacklen, 7296 const void *needle, size_t needlelen); 7297 7298 Description 7299 7300 The memmem() function finds the start of the first occurrence of the substring 7301 needle of length needlelen in the memory area haystack of length haystacklen. 7302 7303 Return Value 7304 7305 The memmem() function returns a pointer to the beginning of the substring, or 7306 NULL if the substring is not found. 7307 7308 Notes 7309 7310 This function was broken in Linux libraries up to and including libc 5.0.9; 7311 there the needle and haystack arguments were interchanged, and a pointer to the 7312 end of the first occurrence of needle was returned. Since libc 5.0.9 is still 7313 widely used, this is a dangerous function to use. 7314 7315 Both old and new libc's have the bug that if needle is empty haystack-1 7316 (instead of haystack) is returned. And glibc 2.0 makes it worse, and returns a 7317 pointer to the last byte of haystack. This is fixed in glibc 2.1. 7318 7319 memrchr 7320 7321 Name 7322 7323 memrchr -- scan memory for a character 7324 7325 Synopsis 7326 7327 #include 7328 7329 void *memrchr(const void *s, int c, size_t n); 7330 7331 Description 7332 7333 memrchr() returns a pointer to the last occurrence of the character represented 7334 by c in the first n characters of the string represented by s. 7335 7336 obstack_free 7337 7338 Name 7339 7340 obstack_free -- free an object in the obstack 7341 7342 Synopsis 7343 7344 #include 7345 7346 void obstack_free(struct obstack *obstack, void *block); 7347 7348 Description 7349 7350 Free an object in the obstack. 7351 7352 opterr 7353 7354 Name 7355 7356 opterr -- external variable used in getopt() 7357 7358 Synopsis 7359 7360 extern int opterr; 7361 7362 Description 7363 7364 opterr is used as a flag to suppress error message generated by getopt(). When 7365 opterr is set to 0; it suppresses the error message generated by getopt() when 7366 getopt() does not recognize an option character. 7367 7368 optind 7369 7370 Name 7371 7372 optind -- external variable used in getopt() 7373 7374 Synopsis 7375 7376 extern int optind; 7377 7378 Description 7379 7380 optind holds the current index of the array argr[] which contains the command 7381 line options being parsed by getopt(). 7382 7383 optopt 7384 7385 Name 7386 7387 optopt -- external variable used in getopt() 7388 7389 Synopsis 7390 7391 extern int optopt; 7392 7393 Description 7394 7395 optopt holds the unknown option character when that option character is not 7396 recognized by getopt() 7397 7398 psignal 7399 7400 Name 7401 7402 psignal -- print signal message 7403 7404 Synopsis 7405 7406 #include 7407 7408 void psignal(int sig, const char *s); 7409 7410 extern const char *const sys_siglist[] 7411 7412 Description 7413 7414 The psignal() function displays a message on stderr consisting of the string s, 7415 a colon, a space, and a string describing the signal number sig. If sig is 7416 invalid, the message displayed will indicate an unknown signal. 7417 7418 The array sys_siglist holds the signal description strings indexed by signal 7419 number. 7420 7421 Return Value 7422 7423 psignal() returns no value. 7424 7425 random_r 7426 7427 Name 7428 7429 random_r -- generate random number 7430 7431 Synopsis 7432 7433 extern int random_r(struct random_data *__restrict __buf, 7434 int32_t *__restrict __result); 7435 7436 Description 7437 7438 The random_r() function is a reentrant version of the random function that 7439 generates a pseudorandom number. 7440 7441 setbuffer 7442 7443 Name 7444 7445 setbuffer -- stream buffering operation 7446 7447 Synopsis 7448 7449 #include 7450 7451 void setbuffer(FILE *stream, char *buf, size_tsize); 7452 7453 Description 7454 7455 setbuffer is an alias for call to setvbuf. It works the same, except that the 7456 size of the buffer is up to the caller, rather than being determined by the 7457 default BUFSIZ. 7458 7459 setdomainname 7460 7461 Name 7462 7463 setdomainname -- set NIS domain name. 7464 7465 Synopsis 7466 7467 #include 7468 7469 extern int setdomainname(char *name, size_t namelen); 7470 7471 Description 7472 7473 If NIS is in use, set the NIS domain name. Note that this is not the same as 7474 the domain name which provides the domain portion of a fully qualified domain 7475 name (for example, in DNS). If NIS is not in use, this function may set the 7476 domain name anyway, or it may fail. 7477 7478 This call shall fail unless the caller has appropriate privileges. 7479 7480 namelen shall be the length of the string pointed to by name. 7481 7482 Return Value 7483 7484 setdomainname returns 0 if successful; -1 if not (in which case errno is set to 7485 indicate the error). 7486 7487 setegid 7488 7489 Name 7490 7491 setegid -- set effective group ID 7492 7493 Description 7494 7495 The setegid() function is as specified in the SUSv3. 7496 7497 setenv 7498 7499 Name 7500 7501 setenv -- change or add an environment variable 7502 7503 Synopsis 7504 7505 #include 7506 7507 int setenv(const char *name, const char *value, int overwrite); 7508 7509 Description 7510 7511 The setenv() function is as specified in the SUSv3. 7512 7513 seteuid 7514 7515 Name 7516 7517 seteuid -- set effective user ID 7518 7519 Description 7520 7521 The seteuid() function is as specified in the SUSv3. 7522 7523 setgroups 7524 7525 Name 7526 7527 setgroups -- set list of supplementary group IDs 7528 7529 Synopsis 7530 7531 #define __USE_BSD 7532 #include 7533 7534 int setgroups(size_t size, const gid_t *list); 7535 7536 Description 7537 7538 Sets the supplementary groups for the process. Only the super-user may use this 7539 function. 7540 7541 Return Value 7542 7543 On success, zero is returned. On error, -1 is returned, and errno is set 7544 appropriately. 7545 7546 Errors 7547 7548 EFAULT 7549 7550 list has an invalid address. 7551 7552 EPERM 7553 7554 The user is not the super-user. 7555 7556 EINVA 7557 7558 Size is greater than NGROUPS (32 for Linux 2.0.32). 7559 7560 Bugs 7561 7562 The __USE_BSD flag probably shouldn't be required for setgroups. 7563 7564 sethostid 7565 7566 Name 7567 7568 sethostid -- set the unique identifier of the current host 7569 7570 Synopsis 7571 7572 #include 7573 7574 int sethostid(long int hostid); 7575 7576 Description 7577 7578 Set a unique 32-bit identifier for the current machine. The 32-bit identifier 7579 is intended to be unique among all UNIX systems in existence. This normally 7580 resembles the Internet address for the local machine, as returned by 7581 gethostbyname(3), and thus usually never needs to be set. 7582 7583 The sethostid call is restricted to the superuser. 7584 7585 The hostid argument is stored in the file /etc/hostid. 7586 7587 Return Value 7588 7589 gethostid returns the 32-bit identifier for the current host as set by 7590 sethostid(2). 7591 7592 Files 7593 7594 /etc/hostid 7595 7596 sethostname 7597 7598 Name 7599 7600 sethostname -- set host name 7601 7602 Synopsis 7603 7604 #include 7605 7606 int sethostname(const char *name, size_t len); 7607 7608 Description 7609 7610 This function is used to change the host name of the current processor. 7611 7612 Return Value 7613 7614 On success, zero is returned. On error, -1 is returned, and errno is set 7615 appropriately. 7616 7617 Errors 7618 7619 EINVAL 7620 7621 len is negative or len is larger than the maximum allowed size. 7622 7623 EPERM 7624 7625 the caller was not the superuser. 7626 7627 EFAULT 7628 7629 name is an invalid address. 7630 7631 Notes 7632 7633 SUSv2 guarantees that Host names are limited to 255 bytes. 7634 7635 setmntent 7636 7637 Name 7638 7639 setmntent -- get file system descriptor file entry 7640 7641 Synopsis 7642 7643 #include 7644 #include 7645 7646 FILE *setmntent(const char *filename, const char *type); 7647 7648 Description 7649 7650 This routine is used to access the file system description file /etc/fstab and 7651 the mounted file system description file /etc/mtab. 7652 7653 The setmntent() function opens the file system description file filep and 7654 returns a file pointer which can be used by getmntent(). The argument type is 7655 the type of access required and can take the same values as the mode argument 7656 of fopen(3). 7657 7658 The mntent structure is defined in as follows: 7659 7660 struct mntent { 7661 7662 char *mnt_fsname; /* name of mounted file system */ 7663 7664 char *mnt_dir; /* file system path prefix */ 7665 7666 char *mnt_type; /* mount type (see mntent.h) */ 7667 7668 char *mnt_opts; /* mount options (see mntent.h) */ 7669 7670 int mnt_freq; /* dump frequency in days */ 7671 7672 int mnt_passno; /* pass number on parallel fsck */ 7673 7674 }; 7675 7676 Files 7677 7678 /etc/fstab file system description file /etc/mtab mounted file system 7679 description file 7680 7681 setutent 7682 7683 Name 7684 7685 setutent -- access utmp file entries 7686 7687 Synopsis 7688 7689 #include 7690 7691 void setutent(void); 7692 7693 Description 7694 7695 setutent() rewinds the file pointer to the beginning of the utmp file. It is 7696 generally a Good Idea to call it before any of the other functions. 7697 7698 Errors 7699 7700 On error, (struct utmp*)0 will be returned. 7701 7702 Files 7703 7704 /var/run/utmp database of currently logged-in users /var/log/wtmp database of 7705 past user logins 7706 7707 sigandset 7708 7709 Name 7710 7711 sigandset -- build a new signal set by combining the two input sets using 7712 logical AND 7713 7714 Synopsis 7715 7716 #include 7717 7718 extern int sigandset(sigset_t *set, const sigset_t *left, 7719 const sigset_t *right); 7720 7721 Description 7722 7723 A signal function that builds a new signal set by combining the two input sets 7724 using logical AND. 7725 7726 sigblock 7727 7728 Name 7729 7730 sigblock -- manipulate the signal mask 7731 7732 Synopsis 7733 7734 #include 7735 7736 int sigblock(int mask); 7737 7738 Description 7739 7740 This interface is made obsolete by sigprocmask(2). 7741 7742 The sigblock system call adds the signals specified in mask to the set of 7743 signals currently being blocked from delivery. 7744 7745 Notes 7746 7747 Prototype for this function is only available if _BSD_SOURCE is defined before 7748 the inclusion of any system. 7749 7750 siggetmask 7751 7752 Name 7753 7754 siggetmask -- manipulate the signal mask 7755 7756 Synopsis 7757 7758 #include 7759 7760 int siggetmask(void); 7761 7762 Description 7763 7764 This interface is made obsolete by sigprocmask(2). 7765 7766 siggetmask returns the current set of masked signals. 7767 7768 Notes 7769 7770 Prototype for this function is only available if _BSD_SOURCE is defined before 7771 the inclusion of any system header file. 7772 7773 sigisemptyset 7774 7775 Name 7776 7777 sigisemptyset -- signal function - check for empty SET 7778 7779 Synopsis 7780 7781 #include 7782 7783 extern int sigisemptyset(const sigset_t *set); 7784 7785 Description 7786 7787 Signal function - Check for empty SET. Returns non-empty value if SET is not 7788 empty. 7789 7790 sigorset 7791 7792 Name 7793 7794 sigorset -- build a new signal set by combining the two input sets using 7795 logical OR 7796 7797 Synopsis 7798 7799 #include <:signal.h> 7800 7801 extern int sigorset((sigset_t *set, const sigset_t *left, 7802 const sigset_t *right)); 7803 7804 Description 7805 7806 A signal function that builds a new signal set by combining the two input sets 7807 using logical OR. 7808 7809 sigreturn 7810 7811 Name 7812 7813 sigreturn -- return from signal handler and cleanup stack frame 7814 7815 Synopsis 7816 7817 int sigreturn(unsigned long __unused); 7818 7819 Description 7820 7821 When the Linux kernel creates the stack frame for a signal handler, a call to 7822 sigreturn is inserted into the stack frame so that the the signal handler will 7823 call sigreturn upon return. This inserted call to sigreturn cleans up the stack 7824 so that the process can restart from where it was interrupted by the signal. 7825 7826 Return Value 7827 7828 sigreturn never returns. 7829 7830 Warning 7831 7832 sigreturn call is used by the kernel to implement signal handlers. It should 7833 never be called directly. Better yet, the specific use of the __unused argument 7834 varies depending on the architecture. 7835 7836 Files 7837 7838 /usr/src/linux/arch/i386/kernel/signal.c 7839 7840 /usr/src/linux/arch/alpha/kernel/entry.s 7841 7842 statfs 7843 7844 Name 7845 7846 statfs -- get file system statistics 7847 7848 Synopsis 7849 7850 #include 7851 7852 int statfs(const char *path, struct statfs *buf); 7853 7854 Description 7855 7856 statfs returns information about a mounted file system. path is the path name 7857 of any file within the mounted filesystem. 7858 7859 buf is a pointer to a statfs structure defined as follow: 7860 7861 struct statfs { 7862 7863 long f_type; /* type of filesystem (see below) */ 7864 7865 long f_bsize; /* optimal transfer block size */ 7866 7867 long f_blocks; /* total data blocks in file system */ 7868 7869 long f_bfree; /* free blocks in fs */ 7870 7871 long f_bavail; /* free blocks avail to non-superuser */ 7872 7873 long f_files; /* total file nodes in file system */ 7874 7875 long f_ffree; /* free file nodes in fs */ 7876 7877 long f_ffree; /* free file nodes in fs */ 7878 7879 fsid_t f_fsid; /* file system id */ 7880 7881 long f_namelen; /* maximum length of filenames */ 7882 7883 long f_spare[6]; /* spare for later */ 7884 7885 }; 7886 7887 Fields that are undefined for a particular file system are set to 0. 7888 7889 Return Value 7890 7891 On success, zero is returned. On error, -1 is returned, and errno is set 7892 appropriately. 7893 7894 Errors 7895 7896 ENOTDIR 7897 7898 A component of the path prefix of path is not a directory. 7899 7900 ENAMETOOLONG 7901 7902 path is too long. 7903 7904 ENOENT 7905 7906 The file referred to by path does not exist. 7907 7908 EACCES 7909 7910 Search permission is denied for a component of the path prefix of path. 7911 7912 ELOOP 7913 7914 Too many symbolic links were encountered in translating path. 7915 7916 EFAULT 7917 7918 Buf or path points to an invalid address. 7919 7920 EIO 7921 7922 An I/O error occurred while reading from or writing to the file system. 7923 7924 ENOMEM 7925 7926 Insufficient kernel memory was available. 7927 7928 ENOSYS 7929 7930 The filesystem path is on does not support statfs. 7931 7932 stime 7933 7934 Name 7935 7936 stime -- set time 7937 7938 Synopsis 7939 7940 #define _SVID_SOURCE /* glibc2 needs this */ 7941 #include 7942 7943 int stime(time_t *t); 7944 7945 Description 7946 7947 stime sets the system's idea of the time and date. Time, pointed to by t, is 7948 measured in seconds from 00:00:00 GMT January 1, 1970. stime() may only be 7949 executed by the super user. 7950 7951 Return Value 7952 7953 On success, zero is returned. On error, -1 is returned, and errno is set 7954 appropriately. 7955 7956 Errors 7957 7958 EPERM 7959 7960 The caller is not the super-user. 7961 7962 Notes 7963 7964 Under glibc2, only provides a prototype when _SVID_SOURCE is defined. 7965 7966 stpcpy 7967 7968 Name 7969 7970 stpcpy -- copy a string returning a pointer to its end 7971 7972 Synopsis 7973 7974 #include 7975 7976 char *stpcpy(char *dest, const char *src); 7977 7978 Description 7979 7980 The stpcpy() function copies the string pointed to by src (including the 7981 terminating \0 character) to the array pointed to by dest. The strings may not 7982 overlap, and the destination string dest must be large enough to receive the 7983 copy. 7984 7985 Return Value 7986 7987 stpcpy() returns a pointer to the end of the string dest (that is, the address 7988 of the terminating null character) rather than the beginning. 7989 7990 Example 7991 7992 For example, this program uses stpcpy to concatenate foo and bar to produce 7993 foobar, which it then prints. 7994 7995 #include 7996 7997 int main (void) { char *to = buffer; to = stpcpy (to, "foo"); to = stpcpy (to, 7998 "bar"); printf ("%s\n", buffer); } 7999 8000 stpncpy 8001 8002 Name 8003 8004 stpncpy -- copy a fixed-size string, returning a pointer to its end 8005 8006 Synopsis 8007 8008 #include 8009 8010 char *stpncpy (char *dest, const char *src, size_t n); 8011 8012 Description 8013 8014 The stpncpy function copies at most n characters from the string pointed to by 8015 src, including the terminating '\0' character, to the array pointed to by dest. 8016 Exactly n characters are written at dest. If the length strlen(src) is smaller 8017 than n, the remaining characters in the array pointed to by dest are filled 8018 with '\0' characters. If the length strlen(src) is greater or equal to n, the 8019 string pointed to by dest will not be '\0' terminated. The strings may not 8020 overlap. The programmer must ensure that there is room for at least n 8021 characters at dest. 8022 8023 Return Value 8024 8025 stpncpy returns a pointer to the terminating null in dest, or, if dest is not 8026 null-terminated, dest + n. 8027 8028 strcasestr 8029 8030 Name 8031 8032 strcasestr -- locate a substring - ignores the case of both strings 8033 8034 Synopsis 8035 8036 #include 8037 8038 char *strcasestr(const char *haystack, const char *needle); 8039 8040 Description 8041 8042 Similar to strstr but this function ignores the case of both strings. 8043 8044 strerror_r 8045 8046 Name 8047 8048 strerror_r -- reentrant version of strerror 8049 8050 Synopsis 8051 8052 #include 8053 8054 extern char *strerror_r(int errnum, char *buf, size_t buflen); 8055 8056 Description 8057 8058 Reentrant version of strerror. If a temporary buffer is required, at most 8059 BUFLEN bytes of BUF will be used. 8060 8061 strfry 8062 8063 Name 8064 8065 strfry -- randomize a string 8066 8067 Synopsis 8068 8069 #include 8070 8071 char *strfry(char *string); 8072 8073 Description 8074 8075 The strfry() function randomizes the contents of string by using rand(3) to 8076 randomly swap characters in the string. The result is an anagram of string. 8077 8078 Return Value 8079 8080 The strfry() functions returns a pointer to the randomized string. 8081 8082 strndup 8083 8084 Name 8085 8086 strndup -- return a malloc'd copy of at most the specified number of bytes of a 8087 string 8088 8089 Synopsis 8090 8091 #include 8092 8093 extern char *strndup(const char *string, size_t n); 8094 8095 Description 8096 8097 Return a malloc'd copy of at most n bytes of string. The resultant string is 8098 terminated even if no null terminator appears before STRING[N]. 8099 8100 strnlen 8101 8102 Name 8103 8104 strnlen -- determine the length of a fixed-size string 8105 8106 Synopsis 8107 8108 #include 8109 8110 size_t strnlen(const char *s, size_t maxlen); 8111 8112 Description 8113 8114 The strnlen function returns the number of characters in the string pointed to 8115 by s, not including the terminating '\0' character, but at most maxlen. In 8116 doing this, strnlen looks only at the first maxlen characters at s and never 8117 beyond s+maxlen. 8118 8119 Return Value 8120 8121 The strnlen function returns strlen(s), if that is less than maxlen, or maxlen 8122 if there is no '\0' character among the first maxlen characters pointed to by 8123 s. 8124 8125 strptime 8126 8127 Name 8128 8129 strptime -- parse a time string 8130 8131 Synopsis 8132 8133 (synopsis as in SUS) 8134 8135 Description 8136 8137 The specification for "strptime" is as specified in the SUSv2 but with the 8138 following differences as listed below. 8139 8140 Number of leading zeroes limited 8141 8142 For all fields for which the SUSv2 specifies, "leading zeros are permitted but 8143 not required", applications must not expect to be able to supply more leading 8144 zeroes than would be implied by the range of the field. Implementations may 8145 choose to either match an input with excess leading zeroes, or treat this as a 8146 non-matching input. For example, %j has a range of 001 to 366, so 0, 00, 000, 8147 001, or 045 are acceptable inputs, but inputs such as 0000, 0366 and the like 8148 are not. 8149 8150 Rationale 8151 8152 Glibc developers consider forbidding excess leading zeroes to be the correct 8153 behavior. When trying to parse a given input against several format strings, 8154 forbidding excess leading zeroes could be helpful. For example, if one matches 8155 "0011-12-26" against "%m-%d-%Y" and then against "%Y-%m-%d", it seems useful 8156 for the first match to fail, as it would be perverse to parse that date as 8157 November 12, year 26. The second pattern parses it as December 26, year 11. 8158 8159 The SUS is not explicit that an unlimited number of leading zeroes are 8160 required, although it may imply this. The LSB explicitly allows implementations 8161 to have either behavior. Future versions of this standard may require 8162 implementations to forbid excess leading zeroes. 8163 8164 strsep 8165 8166 Name 8167 8168 strsep -- extract token from string 8169 8170 Synopsis 8171 8172 #include 8173 8174 char *strsep(char **stringp, const char *delim); 8175 8176 Description 8177 8178 If *stringp is NULL, the strsep() function returns NULL and does nothing else. 8179 Otherwise, this function finds the first token in the string *stringp, where 8180 tokens are delimited by symbols in the string delim. This token is terminated 8181 with a \0 character (by overwriting the delimiter) and *stringp is updated to 8182 point past the token. In case no delimiter was found, the token is taken to be 8183 the entire string *stringp, and *stringp is made NULL. 8184 8185 Return Value 8186 8187 The strsep() function returns a pointer to the token, that is, it returns the 8188 original value of *stringp. 8189 8190 Notes 8191 8192 The strsep() function was introduced as a replacement for strtok(), since the 8193 latter cannot handle empty fields. However, strtok() conforms to ANSI-C and 8194 hence is more portable. 8195 8196 Bugs 8197 8198 This function suffers from the same problems as strtok(). In particular, it 8199 modifies the original string. Avoid it. 8200 8201 strsignal 8202 8203 Name 8204 8205 strsignal -- return string describing signal 8206 8207 Synopsis 8208 8209 #define _GNU_SOURCE 8210 #include 8211 8212 char *strsignal(int sig); 8213 8214 extern const char * const sys_siglist[]; 8215 8216 Description 8217 8218 The strsignal() function returns a string describing the signal number passed 8219 in the argument sig. The string can only be used until the next call to 8220 strsignal(). 8221 8222 The array sys_siglist holds the signal description strings indexed by signal 8223 number. The strsignal() function should be used if possible instead of this 8224 array. 8225 8226 Return Value 8227 8228 The strsignal() function returns the appropriate description string, or an 8229 unknown signal message if the signal number is invalid. On some systems (but 8230 not on Linux), a NULL pointer may be returned instead for an invalid signal 8231 number. 8232 8233 strtok_r 8234 8235 Name 8236 8237 strtok_r -- extract tokens from strings 8238 8239 Synopsis 8240 8241 #include 8242 8243 char *strtok_r(char *s, const char *delim, char **ptrptr); 8244 8245 Description 8246 8247 A token is a nonempty string of characters not occurring in the string delim, 8248 followed by \0 or by a character occurring in delim. 8249 8250 The strtok_r() function can be used to parse the string s into tokens. The 8251 first call to strtok_r() should have s as its first argument. Subsequent calls 8252 should have the first argument set to NULL. Each call returns a pointer to the 8253 next token, or NULL when no more tokens are found. 8254 8255 If a token ends with a delimiter, this delimiting character is overwritten with 8256 a \0 and a pointer to the next character is saved for the next call to strtok_r 8257 (). The delimiter string delim may be different for each call. 8258 8259 ptrptr is a user allocated char* pointer. It must be the same while parsing the 8260 same string. 8261 8262 Bugs 8263 8264 Never use this function. Note that: 8265 8266 * It modifies its first argument. 8267 8268 * The identity of the delimiting character is lost. 8269 8270 * This function cannot be used on constant strings. 8271 8272 Return Value 8273 8274 The strtok_r() function returns a pointer to the next token, or NULL if there 8275 are no more tokens. 8276 8277 strtoq 8278 8279 Name 8280 8281 strtoq -- convert string value to a long or quad_t integer 8282 8283 Synopsis 8284 8285 #include 8286 #include 8287 #include 8288 8289 quadt strtoq(const char *nptr, char **endptr, int base); 8290 8291 Description 8292 8293 The strtoq() function converts the string in nptr to a quadt value. The 8294 conversion is done according to the given base, which must be between 2 and 36 8295 inclusive, or be the special value 0. 8296 8297 The string may begin with an arbitrary amount of white space (as determine by 8298 isspace(3)) followed by a single optional + or - sign. If base is zero or 16, 8299 the string may then include a 0x prefix, and the number will be read in base 8300 16; otherwise, a zero base is taken as 10 (decimal) unless the next character 8301 is 0, in which case it is taken as 8 (octal). 8302 8303 The remainder of the string is converted to a long value in the obvious manner, 8304 stopping at the first character which is not a valid digit in the given base. 8305 (In bases above 10, the letter A in either upper or lower case represents 10, B 8306 represents 11, and so forth, with Z representing 35.) 8307 8308 Return Value 8309 8310 strtoq() function returns the result of the conversion, unless the value would 8311 underflow or overflow. If an underflow occurs, strtoq() returns QUAD_MIN. If an 8312 overflow occurs, strtoq() returns QUAD_MAX. In both cases, errno is set to 8313 ERANGE. 8314 8315 Errors 8316 8317 ERANGE 8318 8319 The given string was out of range; the value converted has been clamped. 8320 8321 strtouq 8322 8323 Name 8324 8325 strtouq -- convert a string to an uquad_t 8326 8327 Synopsis 8328 8329 #include 8330 #include 8331 #include 8332 8333 uquadt strtouq(const char *nptr, char **endptr, int base); 8334 8335 Description 8336 8337 The strtouq() function converts the string in nptr to a uquadt value. The 8338 conversion is done according to the given base, which must be between 2 and 36 8339 inclusive, or be the special value 0. 8340 8341 The string may begin with an arbitrary amount of white space (as determined by 8342 isspace(3)) followed by a single optional + or - sign. If base is zero or 16, 8343 the string may then include a 0x prefix, and the number will be read in base 8344 16; otherwise, a zero base is taken as 10 (decimal) unless the next character 8345 is 0, in which case it is taken as 8 (octal). 8346 8347 The remainder of the string is converted to an unsigned long value in the 8348 obvious manner, stopping at the end of the string or at the first character 8349 that does not produce a valid digit in the given base. (In bases above 10, the 8350 letter A in either upper or lower case represents 10, B represents 11, and so 8351 forth, with Z representing 35.) 8352 8353 Return Value 8354 8355 Upon success the strtouq() function returns either the result of the conversion 8356 or, if there was a leading minus sign, the negation of the result of the 8357 conversion, unless the original (non-negated) value would overflow. In the case 8358 of an overflow the function returns UQUAD_MAX and the global variable errno is 8359 set to ERANGE. 8360 8361 Errors 8362 8363 ERANGE 8364 8365 The given string was out of range; the value converted has been clamped. 8366 8367 strverscmp 8368 8369 Name 8370 8371 strverscmp -- compare strings holding name and indices/version numbers 8372 8373 Synopsis 8374 8375 #include 8376 8377 extern int strverscmp(const char *s1, const char *s2); 8378 8379 Description 8380 8381 Compare s1 and s2 as strings holding name and indices/version numbers. 8382 8383 system 8384 8385 Name 8386 8387 system -- execute a shell command 8388 8389 Synopsis 8390 8391 #include 8392 8393 int system (const char * string); 8394 8395 Description 8396 8397 system() executes a command specified in string by calling /bin/sh -c string, 8398 and returns after the command has been completed. During execution of the 8399 command, SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored. 8400 8401 Return Value 8402 8403 The value returned is 127 if the execve() call for /bin/sh fails, -1 if there 8404 was another error and the return code of the command otherwise. 8405 8406 If the value of string is NULL, system() returns nonzero if the shell is 8407 available, and zero if not. 8408 8409 system() does not affect the wait status of any other children. 8410 8411 Notes 8412 8413 The fact that system() ignores interrupts is often not what a program wants. 8414 The Single UNIX Specification describes some of the consequences - one 8415 additional one is that a program which calls system() from a loop cannot 8416 reliably be interrupted. Many programs will want to use the exec(3) family of 8417 functions instead. 8418 8419 Do not use system() from a program with suid or sgid privileges, because 8420 strange values for some environment variables might be used to subvert system 8421 integrity. Use the exec(3) family of functions instead, but not execlp(3) or 8422 execvp(3). system() will not, in fact, work properly from programs with suid or 8423 sgid privileges on systems on which /bin/sh is bash version 2, since bash 2 8424 drops privileges on startup. (Debian uses a modified bash which does not do 8425 this when invoked as sh.) 8426 8427 The check for the availability of /bin/sh is not actually performed; it is 8428 always assumed to be available. ISO C specifies the check, but POSIX.2 8429 specifies that the return shall always be non-zero, since a system without the 8430 shell is not conforming, and it is this that is implemented. 8431 8432 It is possible for the shell command to return 127, so that code is not a sure 8433 indication that the execve() call failed; check errno to make sure. 8434 8435 unlink 8436 8437 Name 8438 8439 unlink -- remove a directory entry 8440 8441 Synopsis 8442 8443 int unlink(const char *path); 8444 8445 Description 8446 8447 The specification for "unlink" is as specified in the SUSv2 but with the 8448 following differences as listed below. 8449 8450 See also Additional behaviors: unlink/link on directory>. 8451 8452 May return EISDIR on directories 8453 8454 If path specifies a directory, the implementation may return EISDIR instead of 8455 EPERM as specified by SUSv2. [14] 8456 8457 unsetenv 8458 8459 Name 8460 8461 unsetenv -- delete an environment variable 8462 8463 Synopsis 8464 8465 #include 8466 8467 void unsetenv(const char *name); 8468 8469 Description 8470 8471 The unsetenv() function is as specified in the SUSv3. 8472 8473 vasprintf 8474 8475 Name 8476 8477 vasprintf -- write formatted output to a string dynamically allocated with 8478 malloc and store the address of the string 8479 8480 Synopsis 8481 8482 #include 8483 8484 extern int vasprintf(char **restrict ptr, const char *restrict f, 8485 G_va_list arg); 8486 8487 Description 8488 8489 Write formatted output to a string dynamically allocated with malloc. 8490 8491 Store the address of the string in *ptr. 8492 8493 vdprintf 8494 8495 Name 8496 8497 vdprintf -- write formatted output to a file descriptor 8498 8499 Synopsis 8500 8501 #include 8502 8503 extern int vdprintf(int fd, const char *restrict fmt, 8504 G_va_list arg); 8505 8506 Description 8507 8508 Write formatted output to a file descriptor. 8509 8510 verrx 8511 8512 Name 8513 8514 verrx -- display formatted error messages 8515 8516 Synopsis 8517 8518 #include 8519 8520 void verrx(int eval, const char *fmt, valist args); 8521 8522 Description 8523 8524 The verrx() function displays a formatted error message on the standard error 8525 output. The last component of the program name, a colon character, and a space 8526 are output. If the fmt argument is not NULL, the formatted error message, a 8527 colon character, and a space are output. The output is followed by a newline 8528 character. 8529 8530 The verrx() function does not return, but exits with the value of the argument 8531 eval. 8532 8533 vsyslog 8534 8535 Name 8536 8537 vsyslog -- log to system log 8538 8539 Synopsis 8540 8541 void vsyslog (int priority, char *message, va_list arglist) 8542 8543 Description 8544 8545 Identical to syslog as specified in the SUS, except that arglist (as defined by 8546 stdarg.h) replaces the variable number of arguments. 8547 8548 The caller is responsible for running va_end after calling vsyslog. 8549 8550 wait4 8551 8552 Name 8553 8554 wait4 -- wait for process termination, BSD style 8555 8556 Synopsis 8557 8558 #define _USE_BSD 8559 #include 8560 #include 8561 #include 8562 8563 pid_t wait4(pid_t pid, int *status, int options, 8564 struct rusage *rusage); 8565 8566 Description 8567 8568 The wait4 function suspends execution of the current process until a child as 8569 specified by the pid argument has exited, or until a signal is delivered whose 8570 action is to terminate the current process or to call a signal handling 8571 function. If a child as requested by pid has already exited by the time of the 8572 call (a so-called "zombie" process), the function returns immediately. Any 8573 system resources used by the child are freed. 8574 8575 The value of pid can be one of: 8576 8577 < -1 8578 8579 wait for any child process whose process group ID is equal to the absolute 8580 value of pid. 8581 8582 -1 8583 8584 wait for any child process; this is equivalent to calling wait3. 8585 8586 0 8587 8588 wait for any child process whose process group ID is equal to that of the 8589 calling process. 8590 8591 > 0 8592 8593 wait for the child whose process ID is equal to the value of pid. 8594 8595 The value of options is a bitwise OR of zero or more of the following 8596 constants: 8597 8598 WNOHANG 8599 8600 return immediately if no child is there to be waited for. 8601 8602 WUNTRACED 8603 8604 return for children which are stopped, and whose status has not been 8605 reported. 8606 8607 If status is not NULL, wait4 stores status information in the location pointed 8608 to by status. 8609 8610 This status can be evaluated with the following macros (these macros take the 8611 stat buffer (an int) as an argument -- not a pointer to the buffer!): 8612 8613 WIFEXITED(status) 8614 8615 is non-zero if the child exited normally. 8616 8617 WEXITSTATUS(status) 8618 8619 evaluates to the least significant eight bits of the return code of the 8620 child which terminated, which may have been set as the argument to a call 8621 to exit() or as the argument for a return statement in the main program. 8622 This macro can only be evaluated if WIFEXITED returned non-zero. 8623 8624 WIFSIGNALED(status) 8625 8626 returns true if the child process exited because of a signal which was not 8627 caught. 8628 8629 WTERMSIG(status) 8630 8631 returns the number of the signal that caused the child process to 8632 terminate. This macro can only be evaluated if WIFSIGNALED returned 8633 non-zero. 8634 8635 WIFSTOPPED(status) 8636 8637 returns true if the child process which caused the return is currently 8638 stopped; this is only possible if the call was done using WUNTRACED. 8639 8640 WSTOPSIG(status) 8641 8642 returns the number of the signal which caused the child to stop. This macro 8643 can only be evaluated if WIFSTOPPED returned non-zero. 8644 8645 If rusage is not NULL, the struct rusage as defined in it 8646 points to will be filled with accounting information. See getrusage(2) for 8647 details. 8648 8649 Return Value 8650 8651 The process ID of the child which exited, -1 on error (in particular, when no 8652 unwaited-for child processes of the specified kind exist) or zero if WNOHANG 8653 was used and no child was available yet. In the latter two cases errno will be 8654 set appropriately. 8655 8656 Errors 8657 8658 ECHILD 8659 8660 No unwaited-for child process as specified does exist. 8661 8662 ERESTARTSYS 8663 8664 If WNOHANG was not set and an unblocked signal or a SIGCHLD was caught. 8665 This error is returned by the system call. The library interface is not 8666 allowed to return ERESTARTSYS, but will return EINTR. 8667 8668 warn 8669 8670 Name 8671 8672 warn -- formatted error messages 8673 8674 Synopsis 8675 8676 #include 8677 8678 void warn(const char *fmt, ...); 8679 8680 Description 8681 8682 The warn() function displays a formatted error message on the standard error 8683 output. The last component of the program name, a colon character, and a space 8684 are output. If the fmt argument is not NULL, the formatted error message, a 8685 colon character, and a space are output. The error message string affiliated 8686 with the current value of the global variable errno is output. The output is 8687 followed by a newline character. 8688 8689 warnx 8690 8691 Name 8692 8693 warnx -- formatted error messages 8694 8695 Synopsis 8696 8697 #include 8698 8699 void warnx(const char *fmt, ...); 8700 8701 Description 8702 8703 The warnx() function displays a formatted error message on the standard error 8704 output. The last component of the program name, a colon character, and a space 8705 are output. If the fmt argument is not NULL, the formatted error message, a 8706 colon character, and a space are output. The output is followed by a newline 8707 character. 8708 8709 wcpcpy 8710 8711 Name 8712 8713 wcpcpy -- copy a wide character string, returning a pointer to its end 8714 8715 Synopsis 8716 8717 #include 8718 8719 wchar_t *wcpcpy(wchar_t *dest, const wchar_t *src); 8720 8721 Description 8722 8723 The wcpcpy function is the wide-character equivalent of the stpcpy function. It 8724 copies the wide character string pointed to by src, including the terminating 8725 L'\0' character, to the array pointed to by dest. 8726 8727 The strings may not overlap. 8728 8729 The programmer must ensure that there is room for at least wcslen(src)+1 wide 8730 characters at dest. 8731 8732 Return Value 8733 8734 wcpcpy returns a pointer to the end of the wide-character string dest, that is, 8735 a pointer to the terminating L'\0' character. 8736 8737 wcpncpy 8738 8739 Name 8740 8741 wcpncpy -- copy a fixed-size string of wide characters, returning a pointer to 8742 its end 8743 8744 Synopsis 8745 8746 #include 8747 8748 wchar_t *wcpncpy(wchar_t *dest, const wchar_t *src, size_t n); 8749 8750 Description 8751 8752 The wcpncpy function is the wide-character equivalent of the stpncpy function. 8753 It copies at most n wide characters from the wide-character string pointed to 8754 by src, including the terminating L'\0' character, to the array pointed to by 8755 dest. Exactly n wide characters are written at dest. If the length wcslen(src) 8756 is smaller than n, the remaining wide characters in the array pointed to by 8757 dest are filled with L'\0' characters. If the length wcslen(src) is greater or 8758 equal to n, the string pointed to by dest will not be L'\0' terminated. 8759 8760 The strings may not overlap. 8761 8762 The programmer must ensure that there is room for at least n wide characters at 8763 dest. 8764 8765 Return Value 8766 8767 wcpncpy returns a pointer to the last wide character written, i.e. dest + n - 8768 1. 8769 8770 wcscasecmp 8771 8772 Name 8773 8774 wcscasecmp -- compare two wide-character strings, ignoring case 8775 8776 Synopsis 8777 8778 #include 8779 8780 int wcscasecmp(const wchar_t *s1, const wchar_t *s2); 8781 8782 Description 8783 8784 The wcscasecmp function is the wide-character equivalent of the strcasecmp 8785 function. It compares the wide-character string pointed to by s1 and the 8786 wide-character string pointed to by s2, ignoring case differences (towupper, 8787 towlower). 8788 8789 Return Value 8790 8791 The wcscasecmp function returns zero if the wide-character strings at s1 and s2 8792 are equal except for case distinctions. It returns a positive integer if s1 is 8793 greater than s2, ignoring case. It returns a negative integer if s1 is smaller 8794 than s2, ignoring case. 8795 8796 Notes 8797 8798 The behavior of wcscasecmp depends on the LC_CTYPE category of the current 8799 locale. 8800 8801 wcsdup 8802 8803 Name 8804 8805 wcsdup -- duplicate a wide-character string 8806 8807 Synopsis 8808 8809 #include 8810 8811 wchar_t *wcsdup(const wchar_t *s); 8812 8813 Description 8814 8815 The wcsdup function is the wide-character equivalent of the strdup function. It 8816 allocates and returns a new wide-character string whose initial contents is a 8817 duplicate of the wide-character string pointed to by s. 8818 8819 Memory for the new wide-character string is obtained with malloc(3), and can be 8820 freed with free(3). 8821 8822 Return Value 8823 8824 The wcsdup function returns a pointer to the new wide-character string, or NULL 8825 if sufficient memory was not available. 8826 8827 wcsncasecmp 8828 8829 Name 8830 8831 wcsncasecmp -- compare two fixed-size wide-character strings, ignoring case 8832 8833 Synopsis 8834 8835 #include 8836 8837 int wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n); 8838 8839 Description 8840 8841 The wcsncasecmp function is the wide-character equivalent of the strncasecmp 8842 function. It compares the wide-character string pointed to by s1 and the 8843 wide-character string pointed to by s2, but at most n wide characters from each 8844 string, ignoring case differences (towupper, towlower). 8845 8846 Return Value 8847 8848 The wcsncasecmp function returns zero if the wide-character strings at s1 and 8849 s2, truncated to at most length n, are equal except for case distinctions. It 8850 returns a positive integer if truncated s1 is greater than truncated s2, 8851 ignoring case. It returns a negative integer if truncated s1 is smaller than 8852 truncated s2, ignoring case. 8853 8854 Notes 8855 8856 The behavior of wcsncasecmp depends on the LC_CTYPE category of the current 8857 locale. 8858 8859 wcsnlen 8860 8861 Name 8862 8863 wcsnlen -- determine the length of a fixed-size wide-character string 8864 8865 Synopsis 8866 8867 #include 8868 8869 size_t wcsnlen(const wchar_t *s, size_t maxlen); 8870 8871 Description 8872 8873 The wcsnlen function is the wide-character equivalent of the strnlen function. 8874 It returns the number of wide-characters in the string pointed to by s, not 8875 including the terminating L'\0' character, but at most maxlen. In doing this, 8876 wcsnlen looks only at the first maxlen wide-characters at s and never beyond 8877 s+maxlen. 8878 8879 Return Value 8880 8881 The wcsnlen function returns wcslen(s), if that is less than maxlen, or maxlen 8882 if there is no L'\0' character among the first maxlen wide characters pointed 8883 to by s. 8884 8885 Notes 8886 8887 The behavior of wcsncasecmp depends on the LC_CTYPE category of the current 8888 locale. 8889 8890 wcsnrtombs 8891 8892 Name 8893 8894 wcsnrtombs -- convert a wide character string to a multi-byte string 8895 8896 Synopsis 8897 8898 #include 8899 8900 size_t wcsnrtombs(char *dest, const wchar_t **src, size_t nwc, 8901 size_t len, mbstate_t *ps); 8902 8903 Description 8904 8905 The wcsnrtombs function is like the wcsrtombs function, except that the number 8906 of wide characters to be converted, starting at *src, is limited to nwc. 8907 8908 If dest is not a NULL pointer, the wcsnrtombs function converts at most nwc 8909 wide characters from the wide-character string *src to a multibyte string 8910 starting at dest. At most len bytes are written to dest. The state *ps is 8911 updated. The conversion is effectively performed by repeatedly calling wcrtomb 8912 (dest,*src,ps), as long as this call succeeds, and then incrementing dest by 8913 the number of bytes written and *src by one. The conversion can stop for three 8914 reasons: 8915 8916 1. A wide character has been encountered that can not be represented as a 8917 multibyte sequence (according to the current locale). In this case *src is left 8918 pointing to the invalid wide character, (size_t)(-1) is returned, and errno is 8919 set to EILSEQ. 8920 8921 2. nwc wide characters have been converted without encountering a L'\0', or the 8922 length limit forces a stop. In this case *src is left pointing to the next wide 8923 character to be converted, and the number of bytes written to dest is returned. 8924 8925 3. The wide-character string has been completely converted, including the 8926 terminating L'\0' (which has the side effect of bringing back *ps to the 8927 initial state). In this case *src is set to NULL, and the number of bytes 8928 written to dest, excluding the terminating '\0' byte, is returned. 8929 8930 If dest is NULL, len is ignored, and the conversion proceeds as above, except 8931 that the converted bytes are not written out to memory, and that no destination 8932 length limit exists. 8933 8934 In both of the above cases, if ps is a NULL pointer, a static anonymous state 8935 only known to the wcsnrtombs function is used instead. 8936 8937 The programmer must ensure that there is room for at least len bytes at dest. 8938 8939 Return Value 8940 8941 The wcsnrtombs function returns the number of bytes that make up the converted 8942 part of multibyte sequence, not including the terminating null byte. If a wide 8943 character was encountered which could not be converted, (size_t)(-1) is 8944 returned, and errno set to EILSEQ. 8945 8946 Notes 8947 8948 The behavior of wcsnrtombs depends on the LC_CTYPE category of the current 8949 locale. 8950 8951 Passing NULL as ps is not multi-thread safe. 8952 8953 wcstoq 8954 8955 Name 8956 8957 wcstoq -- convert initial portion of wide string NPTR to long int 8958 representation 8959 8960 Synopsis 8961 8962 #include 8963 8964 extern long long int wcstoq(const wchar_t *restrict nptr, 8965 wchar_t **restrict endptr, int base); 8966 8967 Description 8968 8969 Convert initial portion of wide string NPTR to long int representation. 8970 8971 wcstouq 8972 8973 Name 8974 8975 wcstouq -- convert initial portion of wide string NPTR to unsigned long long 8976 int representation 8977 8978 Synopsis 8979 8980 #include 8981 8982 extern unsigned long long int wcstouq(const wchar_t *restrict nptr, 8983 wchar_t **restrict endptr,int base); 8984 8985 Description 8986 8987 Convert initial portion of wide string NPTR to unsigned long long int 8988 representation. 8989 8990 ------------------------------------------------------------------------------- 8991 8992 Interfaces for libm 8993 8994 Table 11-26. libm Definition 8995 8996 +----------------------+ 8997 |Library:|libm | 8998 |--------+-------------| 8999 |SONAME: |See archLSB. | 9000 +----------------------+ 9001 9002 The behavior of the interfaces in this library is specified by the following 9003 standards. 9004 9005 ISO/IEC 9899: 1999, Programming Languages --C[15] 9006 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 9007 (ISBN: 1-85912-181-0, C606)[16] 9008 9009 ------------------------------------------------------------------------------- 9010 9011 Math 9012 9013 Table 11-27. libm - Math Function Interfaces 9014 9015 +-----------------------------------------------------------------------------+ 9016 |acos[16] |ceilf[15] |erfcl[15] |j1[16] |remainderl[15] | 9017 |-----------+-------------+------------------+---------------+----------------| 9018 |acosf[15] |ceill[15] |erff[15] |j1f[15] |remquo[15] | 9019 |-----------+-------------+------------------+---------------+----------------| 9020 |acosh[16] |cexp[15] |erfl[15] |j1l[15] |remquof[15] | 9021 |-----------+-------------+------------------+---------------+----------------| 9022 |acoshf[15] |cexpf[15] |exp[16] |jn[16] |remquol[15] | 9023 |-----------+-------------+------------------+---------------+----------------| 9024 |acoshl[15] |cexpl[15] |expm1[16] |jnf[15] |rint[16] | 9025 |-----------+-------------+------------------+---------------+----------------| 9026 |acosl[15] |cimag[15] |fabs[16] |jnl[15] |rintf[15] | 9027 |-----------+-------------+------------------+---------------+----------------| 9028 |asin[16] |cimagf[15] |fabsf[15] |ldexp[16] |rintl[15] | 9029 |-----------+-------------+------------------+---------------+----------------| 9030 |asinf[15] |cimagl[15] |fabsl[15] |ldexpf[15] |round[15] | 9031 |-----------+-------------+------------------+---------------+----------------| 9032 |asinh[16] |clog[15] |fdim[15] |ldexpl[15] |roundf[15] | 9033 |-----------+-------------+------------------+---------------+----------------| 9034 |asinhf[15] |clog10[15] |fdimf[15] |lgamma[16] |roundl[15] | 9035 |-----------+-------------+------------------+---------------+----------------| 9036 |asinhl[15] |clog10f[15] |fdiml[15] |lgamma_r[15] |scalb[16] | 9037 |-----------+-------------+------------------+---------------+----------------| 9038 |asinl[15] |clog10l[15] |feclearexcept[15] |lgammaf[15] |scalbf[15] | 9039 |-----------+-------------+------------------+---------------+----------------| 9040 |atan[16] |clogf[15] |fegetenv[15] |lgammaf_r[15] |scalbl[15] | 9041 |-----------+-------------+------------------+---------------+----------------| 9042 |atan2[16] |clogl[15] |fegetexceptflag |lgammal[15] |scalbln[15] | 9043 | | |[15] | | | 9044 |-----------+-------------+------------------+---------------+----------------| 9045 |atan2f[15] |conj[15] |fegetround[15] |lgammal_r[15] |scalblnf[15] | 9046 |-----------+-------------+------------------+---------------+----------------| 9047 |atan2l[15] |conjf[15] |feholdexcept[15] |llrint[15] |scalblnl[15] | 9048 |-----------+-------------+------------------+---------------+----------------| 9049 |atanf[15] |conjl[15] |feraiseexcept[15] |llrintf[15] |scalbn[15] | 9050 |-----------+-------------+------------------+---------------+----------------| 9051 |atanh[16] |copysign[15] |fesetenv[15] |llrintl[15] |scalbnf[15] | 9052 |-----------+-------------+------------------+---------------+----------------| 9053 |atanhf[15] |copysignf[15]|fesetexceptflag |llround[15] |scalbnl[15] | 9054 | | |[15] | | | 9055 |-----------+-------------+------------------+---------------+----------------| 9056 |atanhl[15] |copysignl[15]|fesetround[15] |llroundf[15] |significand[15] | 9057 |-----------+-------------+------------------+---------------+----------------| 9058 |atanl[15] |cos[16] |fetestexcept[15] |llroundl[15] |significandf[15]| 9059 |-----------+-------------+------------------+---------------+----------------| 9060 |cabs[16] |cosf[15] |feupdateenv[15] |log[16] |significandl[15]| 9061 |-----------+-------------+------------------+---------------+----------------| 9062 |cabsf[15] |cosh[16] |finite[16] |log10[16] |sin[16] | 9063 |-----------+-------------+------------------+---------------+----------------| 9064 |cabsl[15] |coshf[15] |finitef[15] |log1p[16] |sincos[15] | 9065 |-----------+-------------+------------------+---------------+----------------| 9066 |cacos[15] |coshl[15] |finitel[15] |logb[16] |sincosf[15] | 9067 |-----------+-------------+------------------+---------------+----------------| 9068 |cacosf[15] |cosl[15] |floor[16] |lrint[15] |sincosl[15] | 9069 |-----------+-------------+------------------+---------------+----------------| 9070 |cacosh[15] |cpow[15] |floorf[15] |lrintf[15] |sinf[15] | 9071 |-----------+-------------+------------------+---------------+----------------| 9072 |cacoshf[15]|cpowf[15] |floorl[15] |lrintl[15] |sinh[16] | 9073 |-----------+-------------+------------------+---------------+----------------| 9074 |cacoshl[15]|cpowl[15] |fma[15] |lround[15] |sinhf[15] | 9075 |-----------+-------------+------------------+---------------+----------------| 9076 |cacosl[15] |cproj[15] |fmaf[15] |lroundf[15] |sinhl[15] | 9077 |-----------+-------------+------------------+---------------+----------------| 9078 |carg[15] |cprojf[15] |fmal[15] |lroundl[15] |sinl[15] | 9079 |-----------+-------------+------------------+---------------+----------------| 9080 |cargf[15] |cprojl[15] |fmax[15] |matherr[15] |sqrt[16] | 9081 |-----------+-------------+------------------+---------------+----------------| 9082 |cargl[15] |creal[15] |fmaxf[15] |modf[16] |sqrtf[15] | 9083 |-----------+-------------+------------------+---------------+----------------| 9084 |casin[15] |crealf[15] |fmaxl[15] |modff[15] |sqrtl[15] | 9085 |-----------+-------------+------------------+---------------+----------------| 9086 |casinf[15] |creall[15] |fmin[15] |modfl[15] |tan[16] | 9087 |-----------+-------------+------------------+---------------+----------------| 9088 |casinh[15] |csin[15] |fminf[15] |nan[15] |tanf[15] | 9089 |-----------+-------------+------------------+---------------+----------------| 9090 |casinhf[15]|csinf[15] |fminl[15] |nanf[15] |tanh[16] | 9091 |-----------+-------------+------------------+---------------+----------------| 9092 |casinhl[15]|csinh[15] |fmod[16] |nanl[15] |tanhf[15] | 9093 |-----------+-------------+------------------+---------------+----------------| 9094 |casinl[15] |csinhf[15] |fmodf[15] |nearbyint[15] |tanhl[15] | 9095 |-----------+-------------+------------------+---------------+----------------| 9096 |catan[15] |csinhl[15] |fmodl[15] |nearbyintf[15] |tanl[15] | 9097 |-----------+-------------+------------------+---------------+----------------| 9098 |catanf[15] |csinl[15] |frexp[16] |nearbyintl[15] |tgamma[15] | 9099 |-----------+-------------+------------------+---------------+----------------| 9100 |catanh[15] |csqrt[15] |frexpf[15] |nextafter[16] |tgammaf[15] | 9101 |-----------+-------------+------------------+---------------+----------------| 9102 |catanhf[15]|csqrtf[15] |frexpl[15] |nextafterf[15] |tgammal[15] | 9103 |-----------+-------------+------------------+---------------+----------------| 9104 |catanhl[15]|csqrtl[15] |gamma[16] |nextafterl[15] |trunc[15] | 9105 |-----------+-------------+------------------+---------------+----------------| 9106 |catanl[15] |ctan[15] |gammaf[15] |nexttoward[15] |truncf[15] | 9107 |-----------+-------------+------------------+---------------+----------------| 9108 |cbrt[16] |ctanf[15] |gammal[15] |nexttowardf[15]|truncl[15] | 9109 |-----------+-------------+------------------+---------------+----------------| 9110 |cbrtf[15] |ctanh[15] |hypot[16] |nexttowardl[15]|y0[16] | 9111 |-----------+-------------+------------------+---------------+----------------| 9112 |cbrtl[15] |ctanhf[15] |hypotf[15] |pow[15] |y0f[15] | 9113 |-----------+-------------+------------------+---------------+----------------| 9114 |ccos[15] |ctanhl[15] |hypotl[15] |pow10[15] |y0l[15] | 9115 |-----------+-------------+------------------+---------------+----------------| 9116 |ccosf[15] |ctanl[15] |ilogb[16] |pow10f[15] |y1[16] | 9117 |-----------+-------------+------------------+---------------+----------------| 9118 |ccosh[15] |dremf[15] |ilogbf[15] |pow10l[15] |y1f[15] | 9119 |-----------+-------------+------------------+---------------+----------------| 9120 |ccoshf[15] |dreml[15] |ilogbl[15] |powf[15] |y1l[15] | 9121 |-----------+-------------+------------------+---------------+----------------| 9122 |ccoshl[15] |erf[16] |j0[16] |powl[15] |yn[16] | 9123 |-----------+-------------+------------------+---------------+----------------| 9124 |ccosl[15] |erfc[16] |j0f[15] |remainder[16] |ynf[15] | 9125 |-----------+-------------+------------------+---------------+----------------| 9126 |ceil[16] |erfcf[15] |j0l[15] |remainderf[15] |ynl[15] | 9127 +-----------------------------------------------------------------------------+ 9128 9129 Table 11-28. libm - Math Data Interfaces 9130 9131 +--------------------+ 9132 |signgam[16] | | | | | 9133 +--------------------+ 9134 ------------------------------------------------------------------------------- 9135 9136 Data Definitions for libm 9137 9138 ------------------------------------------------------------------------------- 9139 9140 math.h 9141 9142 #define HUGE_VAL 0x7FF00000UL 9143 #define DOMAIN 1 9144 #define SING 2 9145 9146 9147 struct exception 9148 { 9149 int type; 9150 char *name; 9151 double arg1; 9152 double arg2; 9153 double retval; 9154 } 9155 ; 9156 #define M_1_PI 0.31830988618379067154 9157 #define M_LOG10E 0.43429448190325182765 9158 #define M_2_PI 0.63661977236758134308 9159 #define M_LN2 0.69314718055994530942 9160 #define M_SQRT1_2 0.70710678118654752440 9161 #define M_PI_4 0.78539816339744830962 9162 #define M_2_SQRTPI 1.12837916709551257390 9163 #define M_SQRT2 1.41421356237309504880 9164 #define M_LOG2E 1.4426950408889634074 9165 #define M_PI_2 1.57079632679489661923 9166 #define M_LN10 2.30258509299404568402 9167 #define M_E 2.7182818284590452354 9168 #define M_PI 3.14159265358979323846 9169 ------------------------------------------------------------------------------- 9170 9171 Interfaces for libpthread 9172 9173 Table 11-29. libpthread Definition 9174 9175 +-------------------------+ 9176 |Library:|libpthread | 9177 |--------+----------------| 9178 |SONAME: |libpthread.so.0 | 9179 +-------------------------+ 9180 9181 LSB systems support POSIX threads with the following exceptions. This list is 9182 intended to match the behavior of historical Linux implementations. 9183 Applications should be written to deal with either POSIX threads or the thread 9184 behaviors described here. 9185 9186 * POSIX specifies a concept of per-process rather than per-thread signals. 9187 The LSB does not require this behavior; traditional Linux implementations 9188 have had per-thread signals only. A related issue is that applications 9189 cannot rely on getpid() returning the same value in different threads. 9190 9191 * Note: one implication of per-thread signals is that a core dump (for 9192 example) may not stop all threads in a given process. This may be an issue 9193 when designing ways to stop/start applications. 9194 9195 * Applications which create child processes (using fork() and the like) must 9196 then wait for them (using waitpid() family of functions) in the same thread 9197 as they created them. Note that coding applications this way will work both 9198 with full POSIX threads and legacy Linux thread implementations. 9199 9200 * POSIX specifies that changing the user or group id instantly affects the 9201 behavior of all threads. This behavior is not specified; applications must 9202 use their own lock if they need this behavior. Rationale: it seems 9203 unnecessary and it is a performance hit (an SMP kernel must lock the user 9204 id). 9205 9206 * Although this standard doesn't have a way to list processes (/proc or "ps" 9207 command line isn't in, right?), it is our intention to not specify one way 9208 or the other whether multiple threads appear as separate processes or as a 9209 single process. 9210 9211 * Applications cannot rely on resource limits (getrusage and setrusage) being 9212 maintained per-process rather than per-thread. 9213 9214 * Applications must disconnect from the controlling tty before calling 9215 pthread_create. 9216 9217 * times() doesn't account for all threads, just the caller. 9218 9219 * Applications must not call pthread_cancel if they call any system libraries 9220 (most notably X Window System libraries), as system libraries are not 9221 guaranteed to be thread safe. Likewise, for such libraries, only one thread 9222 per process may call them. 9223 9224 * Applications cannot rely on fcntl/lockf locks being visible per-process 9225 rather than per-thread. Likewise for mandatory file locks. 9226 9227 * Threaded applications cannot use SIGUSR1 or SIGUSR2. 9228 9229 The behavior of the interfaces in this library is specified by the following 9230 standards. 9231 9232 Linux Standard Base[17] 9233 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 9234 (ISBN: 1-85912-181-0, C606)[18] 9235 9236 ------------------------------------------------------------------------------- 9237 9238 Posix Threads 9239 9240 Table 11-30. libpthread - Posix Threads Function Interfaces 9241 9242 +----------------------------------------------------------------------------------------------------------------------------------------+ 9243 |pthread_attr_destroy[18] |pthread_attr_setstackaddr|pthread_getspecific[18] |pthread_once[18] |pthread_setcanceltype | 9244 | |[18] | | |[18] | 9245 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9246 |pthread_attr_getdetachstate |pthread_attr_setstacksize|pthread_join[18] |pthread_rwlock_destroy[18] |pthread_setconcurrency| 9247 |[18] |[18] | | |[18] | 9248 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9249 |pthread_attr_getguardsize |pthread_cancel[18] |pthread_key_create[18] |pthread_rwlock_init[18] |pthread_setschedparam | 9250 |[18] | | | |[18] | 9251 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9252 |pthread_attr_getinheritsched|pthread_cond_broadcast |pthread_key_delete[18] |pthread_rwlock_rdlock[18] |pthread_setspecific | 9253 |[18] |[18] | | |[18] | 9254 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9255 |pthread_attr_getschedparam |pthread_cond_destroy[18] |pthread_kill[18] |pthread_rwlock_timedrdlock |pthread_sigmask[18] | 9256 |[18] | | |[18] | | 9257 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9258 |pthread_attr_getschedpolicy |pthread_cond_init[18] |pthread_mutex_destroy[18] |pthread_rwlock_timedwrlock |pthread_testcancel[18]| 9259 |[18] | | |[18] | | 9260 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9261 |pthread_attr_getscope[18] |pthread_cond_signal[18] |pthread_mutex_init[18] |pthread_rwlock_tryrdlock[18] |sem_close[18] | 9262 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9263 |pthread_attr_getstackaddr |pthread_cond_timedwait |pthread_mutex_lock[18] |pthread_rwlock_trywrlock[18] |sem_destroy[18] | 9264 |[18] |[18] | | | | 9265 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9266 |pthread_attr_getstacksize |pthread_cond_wait[18] |pthread_mutex_trylock[18] |pthread_rwlock_unlock[18] |sem_getvalue[18] | 9267 |[18] | | | | | 9268 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9269 |pthread_attr_init[18] |pthread_condattr_destroy |pthread_mutex_unlock[18] |pthread_rwlock_wrlock[18] |sem_init[18] | 9270 | |[18] | | | | 9271 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9272 |pthread_attr_setdetachstate |pthread_condattr_init[18]|pthread_mutexattr_destroy |pthread_rwlockattr_destroy |sem_open[18] | 9273 |[18] | |[18] |[18] | | 9274 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9275 |pthread_attr_setguardsize |pthread_create[18] |pthread_mutexattr_getpshared|pthread_rwlockattr_getpshared|sem_post[18] | 9276 |[18] | |[18] |[18] | | 9277 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9278 |pthread_attr_setinheritsched|pthread_detach[18] |pthread_mutexattr_gettype |pthread_rwlockattr_init[18] |sem_timedwait[17] | 9279 |[18] | |[18] | | | 9280 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9281 |pthread_attr_setschedparam |pthread_equal[18] |pthread_mutexattr_init[18] |pthread_rwlockattr_setpshared|sem_trywait[18] | 9282 |[18] | | |[18] | | 9283 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9284 |pthread_attr_setschedpolicy |pthread_exit[18] |pthread_mutexattr_setpshared|pthread_self[18] |sem_unlink[18] | 9285 |[18] | |[18] | | | 9286 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 9287 |pthread_attr_setscope[18] |pthread_getschedparam[18]|pthread_mutexattr_settype |pthread_setcancelstate[18] |sem_wait[18] | 9288 | | |[18] | | | 9289 +----------------------------------------------------------------------------------------------------------------------------------------+ 9290 ------------------------------------------------------------------------------- 9291 9292 Data Definitions for libpthread 9293 9294 ------------------------------------------------------------------------------- 9295 9296 pthread.h 9297 9298 #define PTHREAD_MUTEX_DEFAULT 1 9299 #define PTHREAD_MUTEX_NORMAL 1 9300 #define PTHREAD_MUTEX_TIMED_NP 1 9301 #define PTHREAD_RWLOCK_INITIALIZER 1 9302 #define PTHREAD_MUTEX_RECURSIVE 2 9303 #define PTHREAD_MUTEX_ERRORCHECK 3 9304 #define __LOCK_INITIALIZER { 0, 0 } 9305 #define PTHREAD_MUTEX_INITIALIZER {0,0,0,PTHREAD_MUTEX_TIMED_NP,__LOCK_INITIALIZER} 9306 #define PTHREAD_COND_INITIALIZER {__LOCK_INITIALIZER,0} 9307 9308 9309 typedef unsigned int pthread_key_t; 9310 typedef int pthread_once_t; 9311 typedef int __atomic_lock_t; 9312 9313 9314 typedef unsigned long pthread_t; 9315 struct _pthread_fastlock 9316 { 9317 long __status; 9318 __atomic_lock_t __spinlock; 9319 } 9320 ; 9321 9322 9323 typedef struct _pthread_descr_struct *_pthread_descr; 9324 9325 9326 typedef struct 9327 { 9328 int __m_reserved; 9329 int __m_count; 9330 _pthread_descr __m_owner; 9331 int __m_kind; 9332 struct _pthread_fastlock __m_lock; 9333 } 9334 pthread_mutex_t; 9335 typedef struct 9336 { 9337 int __mutexkind; 9338 } 9339 pthread_mutexattr_t; 9340 9341 9342 typedef struct 9343 { 9344 int __detachstate; 9345 int __schedpolicy; 9346 struct sched_param __schedparam; 9347 int __inheritsched; 9348 int __scope; 9349 size_t __guardsize; 9350 int __stackaddr_set; 9351 void *__stackaddr; 9352 unsigned long __stacksize; 9353 } 9354 pthread_attr_t; 9355 9356 9357 typedef struct 9358 { 9359 struct _pthread_fastlock lock; 9360 _pthread_descr wait_chain; 9361 } 9362 pthread_cond_t; 9363 typedef void *pthread_condattr_t; 9364 9365 9366 typedef struct _pthread_rwlock_t 9367 { 9368 struct _pthread_fastlock __rw_lock; 9369 int __rw_readers; 9370 _pthread_descr __rw_writer; 9371 _pthread_descr __rw_read_waiting; 9372 _pthread_descr __rw_write_waiting; 9373 int __rw_kind; 9374 int __rw_pshared; 9375 } 9376 pthread_rwlock_t; 9377 typedef struct 9378 { 9379 int __lockkind; 9380 int __pshared; 9381 } 9382 pthread_rwlockattr_t; 9383 9384 9385 9386 #define PTHREAD_CREATE_JOINABLE 0 9387 #define PTHREAD_INHERIT_SCHED 0 9388 #define PTHREAD_ONCE_INIT 0 9389 #define PTHREAD_PROCESS_PRIVATE 0 9390 #define PTHREAD_SCOPE_SYSTEM 0 9391 #define PTHREAD_CREATE_DETACHED 1 9392 #define PTHREAD_EXPLICIT_SCHED 1 9393 #define PTHREAD_PROCESS_SHARED 1 9394 #define PTHREAD_SCOPE_PROCESS 1 9395 9396 9397 9398 #define PTHREAD_CANCELED ((void*)-1) 9399 #define PTHREAD_CANCEL_DEFERRED 0 9400 #define PTHREAD_CANCEL_ENABLE 0 9401 #define PTHREAD_CANCEL_ASYNCHRONOUS 1 9402 #define PTHREAD_CANCEL_DISABLE 1 9403 ------------------------------------------------------------------------------- 9404 9405 semaphore.h 9406 9407 9408 9409 9410 9411 9412 typedef struct 9413 { 9414 struct _pthread_fastlock __sem_lock; 9415 int __sem_value; 9416 _pthread_descr __sem_waiting; 9417 } 9418 sem_t; 9419 #define SEM_FAILED ((sem_t*)0) 9420 9421 9422 9423 #define SEM_VALUE_MAX ((int)((~0u)>>1)) 9424 ------------------------------------------------------------------------------- 9425 9426 signal.h 9427 9428 #define SIGRTMAX (__libc_current_sigrtmax ()) 9429 #define SIGRTMIN (__libc_current_sigrtmin ()) 9430 #define SIGEV_SIGNAL 0 9431 #define SIG_BLOCK 0 9432 #define SIG_UNBLOCK 1 9433 #define SIGEV_THREAD 2 9434 #define SIG_SETMASK 2 9435 #define NSIG 64 9436 9437 9438 typedef int sig_atomic_t; 9439 struct sigstack 9440 { 9441 void *ss_sp; 9442 int ss_onstack; 9443 } 9444 ; 9445 #define SIG_ERR ((__sighandler_t)-1) 9446 #define SIG_DFL ((__sighandler_t)0) 9447 #define SIG_IGN ((__sighandler_t)1) 9448 #define SIGHUP 1 9449 #define SIGSEGV 11 9450 #define SIGPIPE 13 9451 #define SIGALRM 14 9452 #define SIGTERM 15 9453 #define SIGINT 2 9454 #define SIGPROF 27 9455 #define SIGQUIT 3 9456 #define SIGILL 4 9457 #define SIGTRAP 5 9458 #define SIGABRT 6 9459 #define SIGIOT 6 9460 #define SIGFPE 8 9461 #define SIGKILL 9 9462 #define SIGCLD SIGCHLD 9463 #define SIGPOLL SIGIO 9464 9465 9466 9467 9468 9469 typedef void (*__sighandler_t) (void); 9470 #define SV_ONSTACK (1<<0) 9471 #define SV_INTERRUPT (1<<1) 9472 #define SV_RESETHAND (1<<2) 9473 9474 9475 typedef union sigval 9476 { 9477 int sival_int; 9478 void *sival_ptr; 9479 } 9480 sigval_t; 9481 #define SIGEV_NONE 1 9482 9483 9484 typedef struct sigevent 9485 { 9486 sigval_t sigev_value; 9487 int sigev_signo; 9488 int sigev_notify; 9489 union 9490 { 9491 int _pad[SI_PAD_SIZE]; 9492 struct 9493 { 9494 void (*sigev_thread_func) (void); 9495 void *_attribute; 9496 } 9497 _sigev_thread; 9498 } 9499 _sigev_un; 9500 } 9501 sigevent_t; 9502 #define SI_QUEUE -1 9503 #define SI_TIMER -2 9504 #define SI_MESGQ -3 9505 #define SI_ASYNCIO -4 9506 #define SI_USER 0 9507 #define si_pid _sifields._kill._pid 9508 #define si_uid _sifields._kill._uid 9509 #define si_value _sifields._rt._sigval 9510 #define si_int _sifields._rt._sigval.sival_int 9511 #define si_ptr _sifields._rt._sigval.sival_ptr 9512 #define si_status _sifields._sigchld._status 9513 #define si_stime _sifields._sigchld._stime 9514 #define si_utime _sifields._sigchld._utime 9515 #define si_addr _sifields._sigfault._addr 9516 #define si_band _sifields._sigpoll._band 9517 #define si_fd _sifields._sigpoll._fd 9518 #define si_timer1 _sifields._timer._timer1 9519 9520 9521 typedef struct siginfo 9522 { 9523 int si_signo; 9524 int si_errno; 9525 int si_code; 9526 union 9527 { 9528 int _pad[SI_PAD_SIZE]; 9529 struct 9530 { 9531 pid_t _pid; 9532 uid_t _uid; 9533 } 9534 _kill; 9535 struct 9536 { 9537 unsigned int _timer1; 9538 unsigned int _timer2; 9539 } 9540 _timer; 9541 struct 9542 { 9543 pid_t _pid; 9544 uid_t _uid; 9545 sigval_t _sigval; 9546 } 9547 _rt; 9548 struct 9549 { 9550 pid_t _pid; 9551 uid_t _uid; 9552 int _status; 9553 clock_t _utime; 9554 clock_t _stime; 9555 } 9556 _sigchld; 9557 struct 9558 { 9559 void *_addr; 9560 } 9561 _sigfault; 9562 struct 9563 { 9564 int _band; 9565 int _fd; 9566 } 9567 _sigpoll; 9568 } 9569 _sifields; 9570 } 9571 siginfo_t; 9572 9573 9574 typedef struct 9575 { 9576 unsigned long sig[_SIGSET_NWORDS]; 9577 } 9578 sigset_t; 9579 #define SA_NOCLDSTOP 0x00000001 9580 #define SA_NOCLDWAIT 0x00000002 9581 #define SA_SIGINFO 0x00000004 9582 #define SA_ONSTACK 0x08000000 9583 #define SA_RESTART 0x10000000 9584 #define SA_INTERRUPT 0x20000000 9585 #define SA_NODEFER 0x40000000 9586 #define SA_RESETHAND 0x80000000 9587 #define SA_NOMASK SA_NODEFER 9588 #define SA_ONESHOT SA_RESETHAND 9589 9590 9591 struct sigaction 9592 { 9593 union 9594 { 9595 __sighandler_t _sa_handler; 9596 void (*_sa_sigaction) (void); 9597 } 9598 __sigaction_handler; 9599 unsigned long sa_flags; 9600 void (*sa_restorer) (void); 9601 sigset_t sa_mask; 9602 } 9603 ; 9604 9605 9606 typedef struct sigaltstack 9607 { 9608 void *ss_sp; 9609 int ss_flags; 9610 size_t ss_size; 9611 } 9612 stack_t; 9613 ------------------------------------------------------------------------------- 9614 9615 Interfaces Definitions for libpthread 9616 9617 Table of Contents 9618 sem_timedwait -- operation on semaphore 9619 9620 sem_timedwait 9621 9622 Name 9623 9624 sem_timedwait -- operation on semaphore 9625 9626 Synopsis 9627 9628 #include 9629 int sem_timedwait(sem_t *__restrict __sem, 9630 __const struct timespec *__restrict __abstime); 9631 9632 Description 9633 9634 sem_timedwait() waits for semaphore object SEM being posted. It is a new 9635 function from IEEE Std. 1003.1-200x that is similar to sem_wait but waits only 9636 until ABSTIME. 9637 9638 ------------------------------------------------------------------------------- 9639 9640 Interfaces for libdl 9641 9642 Table 11-31. libdl Definition 9643 9644 +--------------------+ 9645 |Library:|libdl | 9646 |--------+-----------| 9647 |SONAME: |libdl.so.2 | 9648 +--------------------+ 9649 9650 The behavior of the interfaces in this library is specified by the following 9651 standards. 9652 9653 Linux Standard Base[19] 9654 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 9655 (ISBN: 1-85912-181-0, C606)[20] 9656 9657 ------------------------------------------------------------------------------- 9658 9659 Dynamic Loader 9660 9661 Table 11-32. libdl - Dynamic Loader Function Interfaces 9662 9663 +------------------------------------------------------------------------------+ 9664 |dladdr |dlclose |dlerror |dlopen |dlsym | 9665 |(GLIBC_2.0)[19]|(GLIBC_2.0)[20]|(GLIBC_2.0)[20]|(GLIBC_2.0)[20]|(GLIBC_2.0) | 9666 | | | | |[20] | 9667 +------------------------------------------------------------------------------+ 9668 ------------------------------------------------------------------------------- 9669 9670 Data Definitions for libdl 9671 9672 ------------------------------------------------------------------------------- 9673 9674 dlfcn.h 9675 9676 #define RTLD_LOCAL 0 9677 #define RTLD_LAZY 0x00001 9678 #define RTLD_NOW 0x00002 9679 #define RTLD_GLOBAL 0x00100 9680 9681 9682 typedef struct 9683 { 9684 char *dli_fname; 9685 void *dli_fbase; 9686 char *dli_sname; 9687 void *dli_saddr; 9688 } 9689 Dl_info; 9690 ------------------------------------------------------------------------------- 9691 9692 Interfaces Definitions for libdl 9693 9694 Table of Contents 9695 dladdr -- library routine for dynamic linking of object files 9696 9697 dladdr 9698 9699 Name 9700 9701 dladdr -- library routine for dynamic linking of object files 9702 9703 Synopsis 9704 9705 cc ... -ldl ... 9706 9707 #include 9708 9709 typedef struct { 9710 const char *dli_fname; 9711 void *dli_fbase; 9712 const char *dli_sname; 9713 void *dli_saddr; 9714 } Dl_info; 9715 9716 int dladdr(void *address, Dlinfo *dlip); 9717 9718 Description 9719 9720 This function implements the System V dynamic linking routines. 9721 9722 The dladdr() function is the inverse of the dlsym() function. If the given 9723 address is successfully located inside a module, dladdr() returns nonzero, 9724 otherwise 0. On a successful return, the fields of dlip are filled in as 9725 follows: 9726 9727 dli_fname 9728 9729 the pathname of the module 9730 9731 dli_fbase 9732 9733 the base address of the module 9734 9735 dli_sname 9736 9737 the name of the highest addressed symbol whose address precedes the given 9738 address 9739 9740 dli_saddr 9741 9742 the address of that symbol 9743 9744 Shared objects must be linked using the -shared option to the linker ld(1). The 9745 linker flag -rpath may be used to add a directory to the default search path 9746 for shared objects and shared libraries. The linker flag -E or the C compiler 9747 flag -rdynamic should be used to cause the application to export its symbols to 9748 the shared objects. 9749 9750 Environment 9751 9752 LD_LIBRARY_PATH 9753 9754 directory search-path for object files 9755 9756 ------------------------------------------------------------------------------- 9757 9758 Interfaces for libcrypt 9759 9760 Table 11-33. libcrypt Definition 9761 9762 +-----------------------+ 9763 |Library:|libcrypt | 9764 |--------+--------------| 9765 |SONAME: |libcrypt.so.1 | 9766 +-----------------------+ 9767 9768 The behavior of the interfaces in this library is specified by the following 9769 standards. 9770 9771 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 9772 (ISBN: 1-85912-181-0, C606)[21] 9773 9774 ------------------------------------------------------------------------------- 9775 9776 Encryption 9777 9778 Table 11-34. libcrypt - Encryption Function Interfaces 9779 9780 +---------------------------------------------------------------------+ 9781 |crypt(GLIBC_2.0)[21]|encrypt(GLIBC_2.0)[21]|setkey(GLIBC_2.0)[21]| | | 9782 +---------------------------------------------------------------------+ 9783 ------------------------------------------------------------------------------- 9784 9785 Data Definitions for libcrypt 9786 9787 ------------------------------------------------------------------------------- 9788 9789 unistd.h 9790 9791 #define SEEK_SET 0 9792 #define STDIN_FILENO 0 9793 #define SEEK_CUR 1 9794 #define STDOUT_FILENO 1 9795 #define SEEK_END 2 9796 #define STDERR_FILENO 2 9797 9798 9799 typedef long long off64_t; 9800 typedef int *intptr_t; 9801 #define F_OK 0 9802 #define X_OK 1 9803 #define W_OK 2 9804 #define R_OK 4 9805 9806 9807 9808 #define _POSIX_ASYNCHRONOUS_IO 1 9809 #define _POSIX_FSYNC 1 9810 #define _POSIX_MAPPED_FILES 1 9811 #define _POSIX_MEMLOCK 1 9812 #define _POSIX_MEMLOCK_RANGE 1 9813 #define _POSIX_MEMORY_PROTECTION 1 9814 #define _POSIX_MESSAGE_PASSING 1 9815 #define _POSIX_PRIORITY_SCHEDULING 1 9816 #define _POSIX_REALTIME_SIGNALS 1 9817 #define _POSIX_SEMAPHORES 1 9818 #define _POSIX_SHARED_MEMORY_OBJECTS 1 9819 #define _POSIX_SYNCHRONIZED_IO 1 9820 #define _POSIX_TIMERS 1 9821 #define _POSIX2_C_VERSION 199209L 9822 #define _POSIX2_VERSION 199209L 9823 #define _POSIX_VERSION 199506L 9824 9825 9826 9827 #define _PC_LINK_MAX 0 9828 #define _PC_MAX_CANON 1 9829 #define _PC_ASYNC_IO 10 9830 #define _PC_PRIO_IO 11 9831 #define _PC_FILESIZEBITS 13 9832 #define _PC_MAX_INPUT 2 9833 #define _PC_NAME_MAX 3 9834 #define _PC_PATH_MAX 4 9835 #define _PC_PIPE_BUF 5 9836 #define _PC_CHOWN_RESTRICTED 6 9837 #define _PC_NO_TRUNC 7 9838 #define _PC_VDISABLE 8 9839 #define _PC_SYNC_IO 9 9840 9841 9842 9843 #define _SC_ARG_MAX 0 9844 #define _SC_CHILD_MAX 1 9845 #define _SC_PRIORITY_SCHEDULING 10 9846 #define _SC_TIMERS 11 9847 #define _SC_ASYNCHRONOUS_IO 12 9848 #define _SC_XBS5_ILP32_OFF32 125 9849 #define _SC_XBS5_ILP32_OFFBIG 126 9850 #define _SC_XBS5_LP64_OFF64 127 9851 #define _SC_XBS5_LPBIG_OFFBIG 128 9852 #define _SC_XOPEN_LEGACY 129 9853 #define _SC_PRIORITIZED_IO 13 9854 #define _SC_XOPEN_REALTIME 130 9855 #define _SC_SYNCHRONIZED_IO 14 9856 #define _SC_MAPPED_FILES 16 9857 #define _SC_MEMLOCK 17 9858 #define _SC_MEMLOCK_RANGE 18 9859 #define _SC_MEMORY_PROTECTION 19 9860 #define _SC_CLK_TCK 2 9861 #define _SC_MESSAGE_PASSING 20 9862 #define _SC_SEMAPHORES 21 9863 #define _SC_SHARED_MEMORY_OBJECTS 22 9864 #define _SC_AIO_LISTIO_MAX 23 9865 #define _SC_AIO_MAX 24 9866 #define _SC_AIO_PRIO_DELTA_MAX 25 9867 #define _SC_DELAYTIMER_MAX 26 9868 #define _SC_MQ_OPEN_MAX 27 9869 #define _SC_MQ_PRIO_MAX 28 9870 #define _SC_VERSION 29 9871 #define _SC_NGROUPS_MAX 3 9872 #define _SC_PAGESIZE 30 9873 #define _SC_RTSIG_MAX 31 9874 #define _SC_SEM_NSEMS_MAX 32 9875 #define _SC_SEM_VALUE_MAX 33 9876 #define _SC_SIGQUEUE_MAX 34 9877 #define _SC_TIMER_MAX 35 9878 #define _SC_BC_BASE_MAX 36 9879 #define _SC_BC_DIM_MAX 37 9880 #define _SC_BC_SCALE_MAX 38 9881 #define _SC_BC_STRING_MAX 39 9882 #define _SC_OPEN_MAX 4 9883 #define _SC_COLL_WEIGHTS_MAX 40 9884 #define _SC_EXPR_NEST_MAX 42 9885 #define _SC_LINE_MAX 43 9886 #define _SC_RE_DUP_MAX 44 9887 #define _SC_2_VERSION 46 9888 #define _SC_2_C_BIND 47 9889 #define _SC_2_C_DEV 48 9890 #define _SC_2_FORT_DEV 49 9891 #define _SC_STREAM_MAX 5 9892 #define _SC_2_FORT_RUN 50 9893 #define _SC_2_SW_DEV 51 9894 #define _SC_2_LOCALEDEF 52 9895 #define _SC_TZNAME_MAX 6 9896 #define _SC_THREADS 67 9897 #define _SC_THREAD_SAFE_FUNCTIONS 68 9898 #define _SC_JOB_CONTROL 7 9899 #define _SC_THREAD_DESTRUCTOR_ITERATIONS 73 9900 #define _SC_THREAD_KEYS_MAX 74 9901 #define _SC_THREAD_STACK_MIN 75 9902 #define _SC_THREAD_THREADS_MAX 76 9903 #define _SC_THREAD_ATTR_STACKADDR 77 9904 #define _SC_THREAD_ATTR_STACKSIZE 78 9905 #define _SC_THREAD_PRIORITY_SCHEDULING 79 9906 #define _SC_SAVED_IDS 8 9907 #define _SC_THREAD_PRIO_INHERIT 80 9908 #define _SC_THREAD_PRIO_PROTECT 81 9909 #define _SC_THREAD_PROCESS_SHARED 82 9910 #define _SC_PASS_MAX 88 9911 #define _SC_XOPEN_VERSION 89 9912 #define _SC_REALTIME_SIGNALS 9 9913 #define _SC_XOPEN_CRYPT 92 9914 #define _SC_XOPEN_ENH_I18N 93 9915 #define _SC_XOPEN_SHM 94 9916 #define _SC_2_C_VERSION 96 9917 #define _SC_2_UPE 97 9918 9919 9920 9921 #define _CS_PATH 0 9922 #define _CS_XBS5_ILP32_OFF32_CFLAGS 1100 9923 #define _CS_XBS5_ILP32_OFF32_LDFLAGS 1101 9924 #define _CS_XBS5_ILP32_OFF32_LIBS 1102 9925 #define _CS_XBS5_ILP32_OFF32_LINTFLAGS 1103 9926 #define _CS_XBS5_ILP32_OFFBIG_CFLAGS 1104 9927 #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS 1105 9928 #define _CS_XBS5_ILP32_OFFBIG_LIBS 1106 9929 #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS 1107 9930 #define _CS_XBS5_LP64_OFF64_CFLAGS 1108 9931 #define _CS_XBS5_LP64_OFF64_LDFLAGS 1109 9932 #define _CS_XBS5_LP64_OFF64_LIBS 1110 9933 #define _CS_XBS5_LP64_OFF64_LINTFLAGS 1111 9934 #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS 1112 9935 #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS 1113 9936 #define _CS_XBS5_LPBIG_OFFBIG_LIBS 1114 9937 #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 1115 9938 9939 9940 9941 #define _XOPEN_REALTIME 1 9942 #define _XOPEN_XPG4 1 9943 #define _XOPEN_XCU_VERSION 4 9944 #define _XOPEN_VERSION 500 9945 9946 V. Utility Libraries 9947 9948 Table of Contents 9949 12. Libraries 9950 9951 ------------------------------------------------------------------------------- 9952 9953 Chapter 12. Libraries 9954 9955 An LSB-conforming implementation may also support some utility libraries which 9956 are built on top of the interfaces provided by the base libraries. These 9957 libraries implement common functionality, and hide additional system dependent 9958 information such as file formats and device names. 9959 9960 ------------------------------------------------------------------------------- 9961 9962 Interfaces for libz 9963 9964 Table 12-1. libz Definition 9965 9966 +-------------------+ 9967 |Library:|libz | 9968 |--------+----------| 9969 |SONAME: |libz.so.1 | 9970 +-------------------+ 9971 9972 The behavior of the interfaces in this library is specified by the following 9973 standards. 9974 9975 zlib 1.1.3 Manual[22] 9976 9977 ------------------------------------------------------------------------------- 9978 9979 Compression Library 9980 9981 Table 12-2. libz - Compression Library Function Interfaces 9982 9983 +-----------------------------------------------------------------------------+ 9984 |adler32[22] |deflateInit_[22] |gzerror |gzread[22] |inflateInit2_[22] | 9985 | | |[22] | | | 9986 |-------------+--------------------+---------+-----------+--------------------| 9987 |compress[22] |deflateParams[22] |gzflush |gzrewind |inflateInit_[22] | 9988 | | |[22] |[22] | | 9989 |-------------+--------------------+---------+-----------+--------------------| 9990 |compress2[22]|deflateReset[22] |gzgetc |gzseek[22] |inflateReset[22] | 9991 | | |[22] | | | 9992 |-------------+--------------------+---------+-----------+--------------------| 9993 |crc32[22] |deflateSetDictionary|gzgets |gzsetparams|inflateSetDictionary| 9994 | |[22] |[22] |[22] |[22] | 9995 |-------------+--------------------+---------+-----------+--------------------| 9996 |deflate[22] |get_crc_table[22] |gzopen |gztell[22] |inflateSync[22] | 9997 | | |[22] | | | 9998 |-------------+--------------------+---------+-----------+--------------------| 9999 |deflateCopy |gzclose[22] |gzprintf |gzwrite[22]|inflateSyncPoint[22]| 10000 |[22] | |[22] | | | 10001 |-------------+--------------------+---------+-----------+--------------------| 10002 |deflateEnd |gzdopen[22] |gzputc |inflate[22]|uncompress[22] | 10003 |[22] | |[22] | | | 10004 |-------------+--------------------+---------+-----------+--------------------| 10005 |deflateInit2_|gzeof[22] |gzputs |inflateEnd |zError[22] | 10006 |[22] | |[22] |[22] | | 10007 +-----------------------------------------------------------------------------+ 10008 ------------------------------------------------------------------------------- 10009 10010 Data Definitions for libz 10011 10012 ------------------------------------------------------------------------------- 10013 10014 zlib.h 10015 10016 10017 10018 10019 10020 10021 typedef void *voidpf; 10022 typedef unsigned int uInt; 10023 typedef unsigned long uLong; 10024 typedef uLong uLongf; 10025 typedef void *voidp; 10026 typedef unsigned char Byte; 10027 10028 10029 typedef voidpf (*alloc_func) (voidpf opaque, uInt items, uInt size); 10030 typedef void (*free_func) (voidpf opaque, voidpf address); 10031 struct internal_state 10032 { 10033 int dummy; 10034 } 10035 ; 10036 typedef Byte Bytef; 10037 10038 10039 typedef struct z_stream_s 10040 { 10041 Bytef *next_in; 10042 uInt avail_in; 10043 uLong total_in; 10044 Bytef *next_out; 10045 uInt avail_out; 10046 uLong total_out; 10047 char *msg; 10048 struct internal_state *state; 10049 alloc_func zalloc; 10050 free_func zfree; 10051 voidpf opaque; 10052 int data_type; 10053 uLong adler; 10054 uLong reserved; 10055 } 10056 z_stream; 10057 10058 10059 typedef z_stream *z_streamp; 10060 typedef voidp gzFile; 10061 ------------------------------------------------------------------------------- 10062 10063 Interfaces for libncurses 10064 10065 Table 12-3. libncurses Definition 10066 10067 +-------------------------+ 10068 |Library:|libncurses | 10069 |--------+----------------| 10070 |SONAME: |libncurses.so.5 | 10071 +-------------------------+ 10072 10073 The behavior of the interfaces in this library is specified by the following 10074 standards. 10075 10076 CAE Specification, May 1996, X/Open Curses, Issue 4, Version 2 (ISBN: 10077 1-85912-171-3, C610), plus Corrigendum U018[23] 10078 10079 ------------------------------------------------------------------------------- 10080 10081 Curses 10082 10083 Table 12-4. libncurses - Curses Function Interfaces 10084 10085 +-----------------------------------------------------------------------------+ 10086 |addch[23] |has_ic[23] |mvwaddch[23] |scr_dump[23] |waddchnstr | 10087 | | | | |[23] | 10088 |----------------+--------------+----------------+---------------+------------| 10089 |addchnstr[23] |has_il[23] |mvwaddchnstr[23]|scr_init[23] |waddchstr | 10090 | | | | |[23] | 10091 |----------------+--------------+----------------+---------------+------------| 10092 |addchstr[23] |hline[23] |mvwaddchstr[23] |scr_restore[23]|waddnstr[23]| 10093 |----------------+--------------+----------------+---------------+------------| 10094 |addnstr[23] |idcok[23] |mvwaddnstr[23] |scr_set[23] |waddstr[23] | 10095 |----------------+--------------+----------------+---------------+------------| 10096 |addstr[23] |idlok[23] |mvwaddstr[23] |scrl[23] |wattr_get | 10097 | | | | |[23] | 10098 |----------------+--------------+----------------+---------------+------------| 10099 |attr_get[23] |immedok[23] |mvwchgat[23] |scroll[23] |wattr_off | 10100 | | | | |[23] | 10101 |----------------+--------------+----------------+---------------+------------| 10102 |attr_off[23] |inch[23] |mvwdelch[23] |scrollok[23] |wattr_on[23]| 10103 |----------------+--------------+----------------+---------------+------------| 10104 |attr_on[23] |inchnstr[23] |mvwgetch[23] |set_term[23] |wattr_set | 10105 | | | | |[23] | 10106 |----------------+--------------+----------------+---------------+------------| 10107 |attr_set[23] |inchstr[23] |mvwgetnstr[23] |setscrreg[23] |wattroff[23]| 10108 |----------------+--------------+----------------+---------------+------------| 10109 |attroff[23] |init_color[23]|mvwgetstr[23] |setupterm[23] |wattron[23] | 10110 |----------------+--------------+----------------+---------------+------------| 10111 |attron[23] |init_pair[23] |mvwhline[23] |slk_attr_set |wattrset[23]| 10112 | | | |[23] | | 10113 |----------------+--------------+----------------+---------------+------------| 10114 |attrset[23] |initscr[23] |mvwin[23] |slk_attroff[23]|wbkgd[23] | 10115 |----------------+--------------+----------------+---------------+------------| 10116 |baudrate[23] |innstr[23] |mvwinch[23] |slk_attron[23] |wbkgdset[23]| 10117 |----------------+--------------+----------------+---------------+------------| 10118 |beep[23] |insch[23] |mvwinchnstr[23] |slk_attrset[23]|wborder[23] | 10119 |----------------+--------------+----------------+---------------+------------| 10120 |bkgd[23] |insdelln[23] |mvwinchstr[23] |slk_clear[23] |wchgat[23] | 10121 |----------------+--------------+----------------+---------------+------------| 10122 |bkgdset[23] |insertln[23] |mvwinnstr[23] |slk_color[23] |wclear[23] | 10123 |----------------+--------------+----------------+---------------+------------| 10124 |border[23] |insnstr[23] |mvwinsch[23] |slk_init[23] |wclrtobot | 10125 | | | | |[23] | 10126 |----------------+--------------+----------------+---------------+------------| 10127 |box[23] |insstr[23] |mvwinsnstr[23] |slk_label[23] |wclrtoeol | 10128 | | | | |[23] | 10129 |----------------+--------------+----------------+---------------+------------| 10130 |can_change_color|instr[23] |mvwinsstr[23] |slk_noutrefresh|wcolor_set | 10131 |[23] | | |[23] |[23] | 10132 |----------------+--------------+----------------+---------------+------------| 10133 |cbreak[23] |intrflush[23] |mvwinstr[23] |slk_refresh[23]|wcursyncup | 10134 | | | | |[23] | 10135 |----------------+--------------+----------------+---------------+------------| 10136 |chgat[23] |is_linetouched|mvwprintw[23] |slk_restore[23]|wdelch[23] | 10137 | |[23] | | | | 10138 |----------------+--------------+----------------+---------------+------------| 10139 |clear[23] |is_wintouched |mvwscanw[23] |slk_set[23] |wdeleteln | 10140 | |[23] | | |[23] | 10141 |----------------+--------------+----------------+---------------+------------| 10142 |clearok[23] |isendwin[23] |mvwvline[23] |slk_touch[23] |wechochar | 10143 | | | | |[23] | 10144 |----------------+--------------+----------------+---------------+------------| 10145 |clrtobot[23] |keyname[23] |napms[23] |standend[23] |werase[23] | 10146 |----------------+--------------+----------------+---------------+------------| 10147 |clrtoeol[23] |keypad[23] |newpad[23] |standout[23] |wgetch[23] | 10148 |----------------+--------------+----------------+---------------+------------| 10149 |color_content |killchar[23] |newterm[23] |start_color[23]|wgetnstr[23]| 10150 |[23] | | | | | 10151 |----------------+--------------+----------------+---------------+------------| 10152 |color_set[23] |leaveok[23] |newwin[23] |subpad[23] |wgetstr[23] | 10153 |----------------+--------------+----------------+---------------+------------| 10154 |copywin[23] |longname[23] |nl[23] |subwin[23] |whline[23] | 10155 |----------------+--------------+----------------+---------------+------------| 10156 |curs_set[23] |meta[23] |nocbreak[23] |syncok[23] |winch[23] | 10157 |----------------+--------------+----------------+---------------+------------| 10158 |def_prog_mode |move[23] |nodelay[23] |termattrs[23] |winchnstr | 10159 |[23] | | | |[23] | 10160 |----------------+--------------+----------------+---------------+------------| 10161 |def_shell_mode |mvaddch[23] |noecho[23] |termname[23] |winchstr[23]| 10162 |[23] | | | | | 10163 |----------------+--------------+----------------+---------------+------------| 10164 |delay_output[23]|mvaddchnstr |nonl[23] |tgetent[23] |winnstr[23] | 10165 | |[23] | | | | 10166 |----------------+--------------+----------------+---------------+------------| 10167 |delch[23] |mvaddchstr[23]|noqiflush[23] |tgetflag[23] |winsch[23] | 10168 |----------------+--------------+----------------+---------------+------------| 10169 |deleteln[23] |mvaddnstr[23] |noraw[23] |tgetnum[23] |winsdelln | 10170 | | | | |[23] | 10171 |----------------+--------------+----------------+---------------+------------| 10172 |delscreen[23] |mvaddstr[23] |notimeout[23] |tgetstr[23] |winsertln | 10173 | | | | |[23] | 10174 |----------------+--------------+----------------+---------------+------------| 10175 |delwin[23] |mvchgat[23] |overlay[23] |tgoto[23] |winsnstr[23]| 10176 |----------------+--------------+----------------+---------------+------------| 10177 |derwin[23] |mvcur[23] |overwrite[23] |tigetflag[23] |winsstr[23] | 10178 |----------------+--------------+----------------+---------------+------------| 10179 |doupdate[23] |mvdelch[23] |pair_content[23]|tigetnum[23] |winstr[23] | 10180 |----------------+--------------+----------------+---------------+------------| 10181 |dupwin[23] |mvderwin[23] |pechochar[23] |tigetstr[23] |wmove[23] | 10182 |----------------+--------------+----------------+---------------+------------| 10183 |echo[23] |mvgetch[23] |pnoutrefresh[23]|timeout[23] |wnoutrefresh| 10184 | | | | |[23] | 10185 |----------------+--------------+----------------+---------------+------------| 10186 |echochar[23] |mvgetnstr[23] |prefresh[23] |tparm[23] |wprintw[23] | 10187 |----------------+--------------+----------------+---------------+------------| 10188 |endwin[23] |mvgetstr[23] |printw[23] |tputs[23] |wredrawln | 10189 | | | | |[23] | 10190 |----------------+--------------+----------------+---------------+------------| 10191 |erase[23] |mvhline[23] |putp[23] |typeahead[23] |wrefresh[23]| 10192 |----------------+--------------+----------------+---------------+------------| 10193 |erasechar[23] |mvinch[23] |putwin[23] |ungetch[23] |wscanw[23] | 10194 |----------------+--------------+----------------+---------------+------------| 10195 |filter[23] |mvinchnstr[23]|qiflush[23] |untouchwin[23] |wscrl[23] | 10196 |----------------+--------------+----------------+---------------+------------| 10197 |flash[23] |mvinchstr[23] |raw[23] |use_env[23] |wsetscrreg | 10198 | | | | |[23] | 10199 |----------------+--------------+----------------+---------------+------------| 10200 |flushinp[23] |mvinnstr[23] |redrawwin[23] |vidattr[23] |wstandend | 10201 | | | | |[23] | 10202 |----------------+--------------+----------------+---------------+------------| 10203 |getbkgd[23] |mvinsch[23] |refresh[23] |vidputs[23] |wstandout | 10204 | | | | |[23] | 10205 |----------------+--------------+----------------+---------------+------------| 10206 |getch[23] |mvinsnstr[23] |reset_prog_mode |vline[23] |wsyncdown | 10207 | | |[23] | |[23] | 10208 |----------------+--------------+----------------+---------------+------------| 10209 |getnstr[23] |mvinsstr[23] |reset_shell_mode|vw_printw[23] |wsyncup[23] | 10210 | | |[23] | | | 10211 |----------------+--------------+----------------+---------------+------------| 10212 |getstr[23] |mvinstr[23] |resetty[23] |vw_scanw[23] |wtimeout[23]| 10213 |----------------+--------------+----------------+---------------+------------| 10214 |getwin[23] |mvprintw[23] |ripoffline[23] |vwprintw[23] |wtouchln[23]| 10215 |----------------+--------------+----------------+---------------+------------| 10216 |halfdelay[23] |mvscanw[23] |savetty[23] |vwscanw[23] |wvline[23] | 10217 |----------------+--------------+----------------+---------------+------------| 10218 |has_colors[23] |mvvline[23] |scanw[23] |waddch[23] | | 10219 +-----------------------------------------------------------------------------+ 10220 10221 Table 12-5. libncurses - Curses Data Interfaces 10222 10223 +------------------------------------------+ 10224 |COLS[23]|LINES[23]|curscr[23]|stdscr[23]| | 10225 +------------------------------------------+ 10226 ------------------------------------------------------------------------------- 10227 10228 Data Definitions for libncurses 10229 10230 ------------------------------------------------------------------------------- 10231 10232 curses.h 10233 10234 #define NCURSES_BITS(mask,shift) ((mask)<<((shift)+8)) 10235 #define A_CHARTEXT (NCURSES_BITS(1UL,0)-1UL) 10236 #define A_NORMAL 0L 10237 #define A_COLOR NCURSES_BITS(((1UL)<<8)-1UL,0) 10238 #define A_REVERSE NCURSES_BITS(1UL,10) 10239 #define A_BLINK NCURSES_BITS(1UL,11) 10240 #define A_DIM NCURSES_BITS(1UL,12) 10241 #define A_BOLD NCURSES_BITS(1UL,13) 10242 #define A_ALTCHARSET NCURSES_BITS(1UL,14) 10243 #define A_INVIS NCURSES_BITS(1UL,15) 10244 #define A_PROTECT NCURSES_BITS(1UL,16) 10245 #define A_HORIZONTAL NCURSES_BITS(1UL,17) 10246 #define A_LEFT NCURSES_BITS(1UL,18) 10247 #define A_LOW NCURSES_BITS(1UL,19) 10248 #define A_RIGHT NCURSES_BITS(1UL,20) 10249 #define A_TOP NCURSES_BITS(1UL,21) 10250 #define A_VERTICAL NCURSES_BITS(1UL,22) 10251 #define A_STANDOUT NCURSES_BITS(1UL,8) 10252 #define A_UNDERLINE NCURSES_BITS(1UL,9) 10253 #define A_ATTRIBUTES NCURSES_BITS(~(1UL-1UL),0) 10254 10255 10256 10257 #define WA_ALTCHARSET A_ALTCHARSET 10258 #define WA_ATTRIBUTES A_ATTRIBUTES 10259 #define WA_BLINK A_BLINK 10260 #define WA_BOLD A_BOLD 10261 #define WA_DIM A_DIM 10262 #define WA_HORIZONTAL A_HORIZONTAL 10263 #define WA_INVIS A_INVIS 10264 #define WA_LEFT A_LEFT 10265 #define WA_LOW A_LOW 10266 #define WA_NORMAL A_NORMAL 10267 #define WA_PROTECT A_PROTECT 10268 #define WA_REVERSE A_REVERSE 10269 #define WA_RIGHT A_RIGHT 10270 #define WA_STANDOUT A_STANDOUT 10271 #define WA_TOP A_TOP 10272 #define WA_UNDERLINE A_UNDERLINE 10273 #define WA_VERTICAL A_VERTICAL 10274 10275 10276 10277 #define COLOR_BLACK 0 10278 #define COLOR_RED 1 10279 #define COLOR_GREEN 2 10280 #define COLOR_YELLOW 3 10281 #define COLOR_BLUE 4 10282 #define COLOR_MAGENTA 5 10283 #define COLOR_CYAN 6 10284 #define COLOR_WHITE 7 10285 10286 10287 10288 #define _SUBWIN 0x01 10289 #define _ENDLINE 0x02 10290 #define _FULLWIN 0x04 10291 #define _ISPAD 0x10 10292 #define _HASMOVED 0x20 10293 #define TRACE_MAXIMUM 0xffff 10294 10295 10296 10297 10298 10299 typedef unsigned long chtype; 10300 typedef char bool; 10301 typedef struct screen SCREEN; 10302 typedef struct _win_st WINDOW; 10303 typedef chtype attr_t; 10304 typedef struct 10305 { 10306 attr_t attr; 10307 wchar_t chars[5]; 10308 } 10309 cchar_t; 10310 struct pdat 10311 { 10312 short _pad_y; 10313 short _pad_x; 10314 short _pad_top; 10315 short _pad_left; 10316 short _pad_bottom; 10317 short _pad_right; 10318 } 10319 ; 10320 10321 10322 struct _win_st 10323 { 10324 short _cury; 10325 short _curx; 10326 short _maxy; 10327 short _maxx; 10328 short _begy; 10329 short _begx; 10330 short _flags; 10331 attr_t _attrs; 10332 chtype _bkgd; 10333 bool _notimeout; 10334 bool _clear; 10335 bool _leaveok; 10336 bool _scroll; 10337 bool _idlok; 10338 bool _idcok; 10339 bool _immed; 10340 bool _sync; 10341 bool _use_keypad; 10342 int _delay; 10343 struct ldat *_line; 10344 short _regtop; 10345 short _regbottom; 10346 int _parx; 10347 int _pary; 10348 WINDOW *_parent; 10349 struct pdat _pad; 10350 short _yoffset; 10351 cchar_t _bkgrnd; 10352 } 10353 ; 10354 #define KEY_CODE_YES 0400 10355 #define KEY_BREAK 0401 10356 #define KEY_MIN 0401 10357 #define KEY_DOWN 0402 10358 #define KEY_UP 0403 10359 #define KEY_LEFT 0404 10360 #define KEY_RIGHT 0405 10361 #define KEY_HOME 0406 10362 #define KEY_BACKSPACE 0407 10363 #define KEY_F0 0410 10364 #define KEY_DL 0510 10365 #define KEY_IL 0511 10366 #define KEY_DC 0512 10367 #define KEY_IC 0513 10368 #define KEY_EIC 0514 10369 #define KEY_CLEAR 0515 10370 #define KEY_EOS 0516 10371 #define KEY_EOL 0517 10372 #define KEY_SF 0520 10373 #define KEY_SR 0521 10374 #define KEY_NPAGE 0522 10375 #define KEY_PPAGE 0523 10376 #define KEY_STAB 0524 10377 #define KEY_CTAB 0525 10378 #define KEY_CATAB 0526 10379 #define KEY_ENTER 0527 10380 #define KEY_SRESET 0530 10381 #define KEY_RESET 0531 10382 #define KEY_PRINT 0532 10383 #define KEY_LL 0533 10384 #define KEY_A1 0534 10385 #define KEY_A3 0535 10386 #define KEY_B2 0536 10387 #define KEY_C1 0537 10388 #define KEY_C3 0540 10389 #define KEY_BTAB 0541 10390 #define KEY_BEG 0542 10391 #define KEY_CANCEL 0543 10392 #define KEY_CLOSE 0544 10393 #define KEY_COMMAND 0545 10394 #define KEY_COPY 0546 10395 #define KEY_CREATE 0547 10396 #define KEY_END 0550 10397 #define KEY_EXIT 0551 10398 #define KEY_FIND 0552 10399 #define KEY_HELP 0553 10400 #define KEY_MARK 0554 10401 #define KEY_MESSAGE 0555 10402 #define KEY_MOVE 0556 10403 #define KEY_NEXT 0557 10404 #define KEY_OPEN 0560 10405 #define KEY_OPTIONS 0561 10406 #define KEY_PREVIOUS 0562 10407 #define KEY_REDO 0563 10408 #define KEY_REFERENCE 0564 10409 #define KEY_REFRESH 0565 10410 #define KEY_REPLACE 0566 10411 #define KEY_RESTART 0567 10412 #define KEY_RESUME 0570 10413 #define KEY_SAVE 0571 10414 #define KEY_SBEG 0572 10415 #define KEY_SCANCEL 0573 10416 #define KEY_SCOMMAND 0574 10417 #define KEY_SCOPY 0575 10418 #define KEY_SCREATE 0576 10419 #define KEY_SDC 0577 10420 #define KEY_SDL 0600 10421 #define KEY_SELECT 0601 10422 #define KEY_SEND 0602 10423 #define KEY_SEOL 0603 10424 #define KEY_SEXIT 0604 10425 #define KEY_SFIND 0605 10426 #define KEY_SHELP 0606 10427 #define KEY_SHOME 0607 10428 #define KEY_SIC 0610 10429 #define KEY_SLEFT 0611 10430 #define KEY_SMESSAGE 0612 10431 #define KEY_SMOVE 0613 10432 #define KEY_SNEXT 0614 10433 #define KEY_SOPTIONS 0615 10434 #define KEY_SPREVIOUS 0616 10435 #define KEY_SPRINT 0617 10436 #define KEY_SREDO 0620 10437 #define KEY_SREPLACE 0621 10438 #define KEY_SRIGHT 0622 10439 #define KEY_SRSUME 0623 10440 #define KEY_SSAVE 0624 10441 #define KEY_SSUSPEND 0625 10442 #define KEY_SUNDO 0626 10443 #define KEY_SUSPEND 0627 10444 #define KEY_UNDO 0630 10445 #define KEY_MOUSE 0631 10446 #define KEY_RESIZE 0632 10447 #define KEY_MAX 0777 10448 ------------------------------------------------------------------------------- 10449 10450 Interfaces for libutil 10451 10452 Table 12-6. libutil Definition 10453 10454 +----------------------+ 10455 |Library:|libutil | 10456 |--------+-------------| 10457 |SONAME: |libutil.so.1 | 10458 +----------------------+ 10459 10460 The behavior of the interfaces in this library is specified by the following 10461 standards. 10462 10463 Linux Standard Base[24] 10464 10465 ------------------------------------------------------------------------------- 10466 10467 Utility Functions 10468 10469 Table 12-7. libutil - Utility Functions Function Interfaces 10470 10471 +--------------------------------------------------------------------------+ 10472 |forkpty(GLIBC_2.0)[24]|login_tty(GLIBC_2.0)[24]|logwtmp(GLIBC_2.0)[24]| | | 10473 |----------------------+------------------------+----------------------+-+-| 10474 |login(GLIBC_2.0)[24] |logout(GLIBC_2.0)[24] |openpty(GLIBC_2.0)[24]| | | 10475 +--------------------------------------------------------------------------+ 10476 ------------------------------------------------------------------------------- 10477 10478 Data Definitions for libutil 10479 10480 ------------------------------------------------------------------------------- 10481 10482 utmp.h 10483 10484 #define UT_HOSTSIZE 256 10485 #define UT_LINESIZE 32 10486 #define UT_NAMESIZE 32 10487 10488 10489 struct exit_status 10490 { 10491 short e_termination; 10492 short e_exit; 10493 } 10494 ; 10495 struct lastlog 10496 { 10497 timer_t ll_time; 10498 char ll_line[UT_LINESIZE]; 10499 char ll_host[UT_HOSTSIZE]; 10500 } 10501 ; 10502 10503 10504 struct utmp 10505 { 10506 short ut_type; 10507 pid_t ut_pid; 10508 char ut_line[UT_LINESIZE]; 10509 char ut_id[4]; 10510 char ut_user[UT_NAMESIZE]; 10511 char ut_host[UT_HOSTSIZE]; 10512 struct exit_status ut_exit; 10513 long ut_session; 10514 struct timeval ut_tv; 10515 int32_t ut_addr_v6[4]; 10516 char __unused[20]; 10517 } 10518 ; 10519 #define EMPTY 0 10520 #define RUN_LVL 1 10521 #define BOOT_TIME 2 10522 #define NEW_TIME 3 10523 #define OLD_TIME 4 10524 #define INIT_PROCESS 5 10525 #define LOGIN_PROCESS 6 10526 #define USER_PROCESS 7 10527 #define DEAD_PROCESS 8 10528 #define ACCOUNTING 9 10529 ------------------------------------------------------------------------------- 10530 10531 Interfaces Definitions for libutil 10532 10533 Table of Contents 10534 forkpty -- find and open an available pseudo-tty 10535 login -- login utility function 10536 login_tty -- find and open an available pseudo-tty 10537 logout -- logout utility function 10538 logwtmp -- append an entry to the wtmp file 10539 openpty -- find and open an available pseudo-tty 10540 10541 forkpty 10542 10543 Name 10544 10545 forkpty -- find and open an available pseudo-tty 10546 10547 Synopsis 10548 10549 int forkpty(int *amaster, 10550 char *name, 10551 struct termios *termp, 10552 struct winsize *winp); 10553 10554 Description 10555 10556 The forkpty() function joins openpty(), fork(), and login_tty() to create a new 10557 process operating on a pseudo-tty. The file descriptor of the master side of 10558 the pseudo-tty is returned in amaster, and null or the filename of the slave in 10559 name. If non-null, the termp and winp parameters will determine the terminal 10560 attributes and window size of the slave side of the pseudo-tty. 10561 10562 Return Value 10563 10564 On success of the child process, zero is returned. When the parent process 10565 receives the PID of its child process, pid is returned. On error, -1 is 10566 returned, and errno is set appropriately. 10567 10568 login 10569 10570 Name 10571 10572 login -- login utility function 10573 10574 Synopsis 10575 10576 void login(struct utmp *ut); 10577 10578 Description 10579 10580 The login() function updates the /var/run/utmp and /var/log/wtmp files with 10581 user information contained in ut. 10582 10583 login_tty 10584 10585 Name 10586 10587 login_tty -- find and open an available pseudo-tty 10588 10589 Synopsis 10590 10591 int login_tty(int fdr); 10592 10593 Description 10594 10595 login_tty() sets up for a login on the tty referenced by the file descriptor 10596 fdr. This function creates a new session, makes the tty for the current process 10597 the controlling terminal, sets the standard input, output, and error streams of 10598 the current process, and closes fdr. 10599 10600 Return Value 10601 10602 On success, zero is returned. On error, -1 is returned, and errno is set 10603 appropriately. 10604 10605 logout 10606 10607 Name 10608 10609 logout -- logout utility function 10610 10611 Synopsis 10612 10613 int logout(const char *line); 10614 10615 Description 10616 10617 Given the device line, the logout() function removes the entry from the 10618 corresponding /var/run/utmp system file. 10619 10620 Return Value 10621 10622 Zero is returned if there was no entry to remove. A non-zero return value 10623 indicates success. 10624 10625 logwtmp 10626 10627 Name 10628 10629 logwtmp -- append an entry to the wtmp file 10630 10631 Synopsis 10632 10633 #include 10634 10635 void logwtmp(const char *line, const char *name, const char *host); 10636 10637 Description 10638 10639 logwtmp() constructs an utmp structure using line, name, host, current time and 10640 current process id. Then it calls updwtmp() to append the structure to the utmp 10641 file. 10642 10643 Availability 10644 10645 Both functions are available under glibc2, but not under libc5. However, 10646 logwtmp occurs in the old libbsd. 10647 10648 Files 10649 10650 /var/log/wtmp database of past user logins 10651 10652 openpty 10653 10654 Name 10655 10656 openpty -- find and open an available pseudo-tty 10657 10658 Synopsis 10659 10660 int openpty(int *amaster, 10661 int *aslave, 10662 char *name, 10663 struct termios *termp, 10664 struct winsize *winp); 10665 10666 Description 10667 10668 The openpty() function finds an available pseudo-tty and returns file 10669 descriptors for the amaster and aslave. The filename of the slave is returned 10670 in name, otherwise a null. The terminal parameters of the slave will be set to 10671 the values in termp, otherwise a null. The window size of the slave will be set 10672 to the values in winp, otherwise a null. 10673 10674 Return Value 10675 10676 On success, zero is returned. On error, -1 is returned, and errno is set 10677 appropriately. 10678 10679 Errors 10680 10681 ENOENT 10682 10683 There are no available ttys. 10684 10685 VI. Graphic Libraries 10686 10687 Table of Contents 10688 13. Libraries 10689 10690 ------------------------------------------------------------------------------- 10691 10692 Chapter 13. Libraries 10693 10694 The X Libraries should be built thread-safe. 10695 10696 ------------------------------------------------------------------------------- 10697 10698 Interfaces for libX11 10699 10700 Table 13-1. libX11 Definition 10701 10702 +---------------------+ 10703 |Library:|libX11 | 10704 |--------+------------| 10705 |SONAME: |libX11.so.6 | 10706 +---------------------+ 10707 10708 The behavior of the interfaces in this library is specified by the following 10709 standards. 10710 10711 X11R6.4 Xlib - C library[25] 10712 10713 ------------------------------------------------------------------------------- 10714 10715 X Windows System Interface 10716 10717 Table 13-2. libX11 - X Windows System Interface Function Interfaces 10718 10719 +---------------------------------------------------------------------------------------------------------------------------------------------------+ 10720 |XActivateScreenSaver[25] |XESetWireToEvent[25] |XOffsetRegion[25] |XTextWidth[25] |XkbFreeComponentList[25] | 10721 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10722 |XAddConnectionWatch[25] |XEmptyRegion[25] |XOpenDisplay[25] |XTextWidth16[25] |XkbFreeControls[25] | 10723 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10724 |XAddExtension[25] |XEnableAccessControl[25] |XOpenIM[25] |XTranslateCoordinates[25] |XkbFreeGeomColors[25] | 10725 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10726 |XAddHost[25] |XEqualRegion[25] |XOpenOM[25] |XUndefineCursor[25] |XkbFreeGeomDoodads[25] | 10727 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10728 |XAddHosts[25] |XEventMaskOfScreen[25] |XParseColor[25] |XUngrabButton[25] |XkbFreeGeomKeyAliases[25] | 10729 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10730 |XAddPixel[25] |XEventsQueued[25] |XParseGeometry[25] |XUngrabKey[25] |XkbFreeGeomKeys[25] | 10731 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10732 |XAddToExtensionList[25] |XExtendedMaxRequestSize |XPeekEvent[25] |XUngrabKeyboard[25] |XkbFreeGeomOutlines[25] | 10733 | |[25] | | | | 10734 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10735 |XAddToSaveSet[25] |XExtentsOfFontSet[25] |XPeekIfEvent[25] |XUngrabPointer[25] |XkbFreeGeomOverlayKeys[25] | 10736 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10737 |XAllPlanes[25] |XFetchBuffer[25] |XPending[25] |XUngrabServer[25] |XkbFreeGeomOverlayRows[25] | 10738 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10739 |XAllocClassHint[25] |XFetchBytes[25] |XPlanesOfScreen[25] |XUninstallColormap[25] |XkbFreeGeomOverlays[25] | 10740 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10741 |XAllocColor[25] |XFetchName[25] |XPointInRegion[25] |XUnionRectWithRegion[25] |XkbFreeGeomPoints[25] | 10742 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10743 |XAllocColorCells[25] |XFillArc[25] |XPolygonRegion[25] |XUnionRegion[25] |XkbFreeGeomProperties[25] | 10744 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10745 |XAllocColorPlanes[25] |XFillArcs[25] |XProcessInternalConnection[25]|XUnloadFont[25] |XkbFreeGeomRows[25] | 10746 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10747 |XAllocIconSize[25] |XFillPolygon[25] |XProtocolRevision[25] |XUnlockDisplay[25] |XkbFreeGeomSections[25] | 10748 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10749 |XAllocNamedColor[25] |XFillRectangle[25] |XProtocolVersion[25] |XUnmapSubwindows[25] |XkbFreeGeomShapes[25] | 10750 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10751 |XAllocSizeHints[25] |XFillRectangles[25] |XPutBackEvent[25] |XUnmapWindow[25] |XkbFreeGeometry[25] | 10752 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10753 |XAllocStandardColormap[25] |XFilterEvent[25] |XPutImage[25] |XUnregisterIMInstantiateCallback|XkbFreeIndicatorMaps[25] | 10754 | | | |[25] | | 10755 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10756 |XAllocWMHints[25] |XFindContext[25] |XPutPixel[25] |XUnsetICFocus[25] |XkbFreeKeyboard[25] | 10757 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10758 |XAllowEvents[25] |XFindOnExtensionList[25] |XQLength[25] |XVaCreateNestedList[25] |XkbFreeNames[25] | 10759 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10760 |XAutoRepeatOff[25] |XFlush[25] |XQueryBestCursor[25] |XVendorRelease[25] |XkbFreeServerMap[25] | 10761 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10762 |XAutoRepeatOn[25] |XFlushGC[25] |XQueryBestSize[25] |XVisualIDFromVisual[25] |XkbGetAutoRepeatRate[25] | 10763 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10764 |XBaseFontNameListOfFontSet |XFontsOfFontSet[25] |XQueryBestStipple[25] |XWMGeometry[25] |XkbGetCompatMap[25] | 10765 |[25] | | | | | 10766 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10767 |XBell[25] |XForceScreenSaver[25] |XQueryBestTile[25] |XWarpPointer[25] |XkbGetControls[25] | 10768 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10769 |XBitmapBitOrder[25] |XFree[25] |XQueryColor[25] |XWhitePixel[25] |XkbGetGeometry[25] | 10770 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10771 |XBitmapPad[25] |XFreeColormap[25] |XQueryColors[25] |XWhitePixelOfScreen[25] |XkbGetIndicatorMap[25] | 10772 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10773 |XBitmapUnit[25] |XFreeColors[25] |XQueryExtension[25] |XWidthMMOfScreen[25] |XkbGetIndicatorState[25] | 10774 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10775 |XBlackPixel[25] |XFreeCursor[25] |XQueryFont[25] |XWidthOfScreen[25] |XkbGetKeyActions[25] | 10776 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10777 |XBlackPixelOfScreen[25] |XFreeExtensionList[25] |XQueryKeymap[25] |XWindowEvent[25] |XkbGetKeyBehaviors[25] | 10778 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10779 |XCellsOfScreen[25] |XFreeFont[25] |XQueryPointer[25] |XWithdrawWindow[25] |XkbGetKeyExplicitComponents| 10780 | | | | |[25] | 10781 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10782 |XChangeActivePointerGrab[25]|XFreeFontInfo[25] |XQueryTextExtents[25] |XWriteBitmapFile[25] |XkbGetKeyModifierMap[25] | 10783 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10784 |XChangeGC[25] |XFreeFontNames[25] |XQueryTextExtents16[25] |XXorRegion[25] |XkbGetKeySyms[25] | 10785 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10786 |XChangeKeyboardControl[25] |XFreeFontPath[25] |XQueryTree[25] |XauDisposeAuth[25] |XkbGetKeyTypes[25] | 10787 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10788 |XChangeKeyboardMapping[25] |XFreeFontSet[25] |XRaiseWindow[25] |XauFileName[25] |XkbGetKeyboard[25] | 10789 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10790 |XChangePointerControl[25] |XFreeGC[25] |XReadBitmapFile[25] |XauGetBestAuthByAddr[25] |XkbGetKeyboardByName[25] | 10791 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10792 |XChangeProperty[25] |XFreeModifiermap[25] |XReadBitmapFileData[25] |XauReadAuth[25] |XkbGetMap[25] | 10793 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10794 |XChangeSaveSet[25] |XFreePixmap[25] |XRebindKeysym[25] |XcmsAddColorSpace[25] |XkbGetMapChanges[25] | 10795 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10796 |XChangeWindowAttributes[25] |XFreeStringList[25] |XRecolorCursor[25] |XcmsAddFunctionSet[25] |XkbGetNamedGeometry[25] | 10797 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10798 |XCheckIfEvent[25] |XGContextFromGC[25] |XReconfigureWMWindow[25] |XcmsAllocColor[25] |XkbGetNamedIndicator[25] | 10799 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10800 |XCheckMaskEvent[25] |XGeometry[25] |XRectInRegion[25] |XcmsAllocNamedColor[25] |XkbGetNames[25] | 10801 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10802 |XCheckTypedEvent[25] |XGetAtomName[25] |XRefreshKeyboardMapping[25] |XcmsCCCOfColormap[25] |XkbGetState[25] | 10803 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10804 |XCheckTypedWindowEvent[25] |XGetAtomNames[25] |XRegisterIMInstantiateCallback|XcmsCIELabClipL[25] |XkbGetUpdatedMap[25] | 10805 | | |[25] | | | 10806 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10807 |XCheckWindowEvent[25] |XGetClassHint[25] |XRemoveConnectionWatch[25] |XcmsCIELabClipLab[25] |XkbGetVirtualMods[25] | 10808 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10809 |XCirculateSubwindows[25] |XGetCommand[25] |XRemoveFromSaveSet[25] |XcmsCIELabClipab[25] |XkbGetXlibControls[25] | 10810 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10811 |XCirculateSubwindowsDown[25]|XGetDefault[25] |XRemoveHost[25] |XcmsCIELabQueryMaxC[25] |XkbIgnoreExtension[25] | 10812 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10813 |XCirculateSubwindowsUp[25] |XGetErrorDatabaseText[25] |XRemoveHosts[25] |XcmsCIELabQueryMaxL[25] |XkbInitCanonicalKeyTypes | 10814 | | | | |[25] | 10815 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10816 |XClearArea[25] |XGetErrorText[25] |XReparentWindow[25] |XcmsCIELabQueryMaxLC[25] |XkbKeyTypesForCoreSymbols | 10817 | | | | |[25] | 10818 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10819 |XClearWindow[25] |XGetFontPath[25] |XResetScreenSaver[25] |XcmsCIELabQueryMinL[25] |XkbKeycodeToKeysym[25] | 10820 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10821 |XClipBox[25] |XGetFontProperty[25] |XResizeWindow[25] |XcmsCIELabToCIEXYZ[25] |XkbKeysymToModifiers[25] | 10822 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10823 |XCloseDisplay[25] |XGetGCValues[25] |XResourceManagerString[25] |XcmsCIELabWhiteShiftColors[25] |XkbLatchGroup[25] | 10824 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10825 |XCloseIM[25] |XGetGeometry[25] |XRestackWindows[25] |XcmsCIELuvClipL[25] |XkbLatchModifiers[25] | 10826 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10827 |XCloseOM[25] |XGetICValues[25] |XRootWindow[25] |XcmsCIELuvClipLuv[25] |XkbLibraryVersion[25] | 10828 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10829 |XConfigureWindow[25] |XGetIMValues[25] |XRootWindowOfScreen[25] |XcmsCIELuvClipuv[25] |XkbListComponents[25] | 10830 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10831 |XConnectionNumber[25] |XGetIconName[25] |XRotateBuffers[25] |XcmsCIELuvQueryMaxC[25] |XkbLockGroup[25] | 10832 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10833 |XContextDependentDrawing[25]|XGetIconSizes[25] |XRotateWindowProperties[25] |XcmsCIELuvQueryMaxL[25] |XkbLockModifiers[25] | 10834 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10835 |XContextualDrawing[25] |XGetImage[25] |XSaveContext[25] |XcmsCIELuvQueryMaxLC[25] |XkbLookupKeyBinding[25] | 10836 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10837 |XConvertCase[25] |XGetInputFocus[25] |XScreenCount[25] |XcmsCIELuvQueryMinL[25] |XkbLookupKeySym[25] | 10838 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10839 |XConvertSelection[25] |XGetKeyboardControl[25] |XScreenNumberOfScreen[25] |XcmsCIELuvToCIEuvY[25] |XkbNoteControlsChanges[25] | 10840 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10841 |XCopyArea[25] |XGetKeyboardMapping[25] |XScreenOfDisplay[25] |XcmsCIELuvWhiteShiftColors[25] |XkbNoteMapChanges[25] | 10842 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10843 |XCopyColormapAndFree[25] |XGetModifierMapping[25] |XScreenResourceString[25] |XcmsCIEXYZToCIELab[25] |XkbNoteNameChanges[25] | 10844 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10845 |XCopyGC[25] |XGetMotionEvents[25] |XSelectInput[25] |XcmsCIEXYZToCIEuvY[25] |XkbOpenDisplay[25] | 10846 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10847 |XCopyPlane[25] |XGetNormalHints[25] |XSendEvent[25] |XcmsCIEXYZToCIExyY[25] |XkbQueryExtension[25] | 10848 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10849 |XCreateBitmapFromData[25] |XGetOCValues[25] |XServerVendor[25] |XcmsCIEXYZToRGBi[25] |XkbRefreshKeyboardMapping | 10850 | | | | |[25] | 10851 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10852 |XCreateColormap[25] |XGetOMValues[25] |XSetAccessControl[25] |XcmsCIEuvYToCIELuv[25] |XkbResizeKeyActions[25] | 10853 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10854 |XCreateFontCursor[25] |XGetPixel[25] |XSetAfterFunction[25] |XcmsCIEuvYToCIEXYZ[25] |XkbResizeKeySyms[25] | 10855 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10856 |XCreateFontSet[25] |XGetPointerControl[25] |XSetArcMode[25] |XcmsCIEuvYToTekHVC[25] |XkbResizeKeyType[25] | 10857 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10858 |XCreateGC[25] |XGetPointerMapping[25] |XSetAuthorization[25] |XcmsCIExyYToCIEXYZ[25] |XkbSelectEventDetails[25] | 10859 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10860 |XCreateGlyphCursor[25] |XGetRGBColormaps[25] |XSetBackground[25] |XcmsClientWhitePointOfCCC[25] |XkbSelectEvents[25] | 10861 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10862 |XCreateIC[25] |XGetScreenSaver[25] |XSetClassHint[25] |XcmsConvertColors[25] |XkbSetAtomFuncs[25] | 10863 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10864 |XCreateImage[25] |XGetSelectionOwner[25] |XSetClipMask[25] |XcmsCreateCCC[25] |XkbSetAutoRepeatRate[25] | 10865 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10866 |XCreateOC[25] |XGetSizeHints[25] |XSetClipOrigin[25] |XcmsDefaultCCC[25] |XkbSetAutoResetControls[25]| 10867 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10868 |XCreatePixmap[25] |XGetStandardColormap[25] |XSetClipRectangles[25] |XcmsDisplayOfCCC[25] |XkbSetCompatMap[25] | 10869 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10870 |XCreatePixmapCursor[25] |XGetSubImage[25] |XSetCloseDownMode[25] |XcmsFormatOfPrefix[25] |XkbSetControls[25] | 10871 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10872 |XCreatePixmapFromBitmapData |XGetTextProperty[25] |XSetCommand[25] |XcmsFreeCCC[25] |XkbSetDebuggingFlags[25] | 10873 |[25] | | | | | 10874 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10875 |XCreateRegion[25] |XGetTransientForHint[25] |XSetDashes[25] |XcmsLookupColor[25] |XkbSetDetectableAutoRepeat | 10876 | | | | |[25] | 10877 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10878 |XCreateSimpleWindow[25] |XGetVisualInfo[25] |XSetErrorHandler[25] |XcmsPrefixOfFormat[25] |XkbSetGeometry[25] | 10879 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10880 |XCreateWindow[25] |XGetWMClientMachine[25] |XSetFillRule[25] |XcmsQueryBlack[25] |XkbSetIgnoreLockMods[25] | 10881 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10882 |XDefaultColormap[25] |XGetWMColormapWindows[25] |XSetFillStyle[25] |XcmsQueryBlue[25] |XkbSetIndicatorMap[25] | 10883 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10884 |XDefaultColormapOfScreen[25]|XGetWMHints[25] |XSetFont[25] |XcmsQueryColor[25] |XkbSetMap[25] | 10885 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10886 |XDefaultDepth[25] |XGetWMIconName[25] |XSetFontPath[25] |XcmsQueryColors[25] |XkbSetNamedIndicator[25] | 10887 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10888 |XDefaultDepthOfScreen[25] |XGetWMName[25] |XSetForeground[25] |XcmsQueryGreen[25] |XkbSetNames[25] | 10889 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10890 |XDefaultGC[25] |XGetWMNormalHints[25] |XSetFunction[25] |XcmsQueryRed[25] |XkbSetServerInternalMods | 10891 | | | | |[25] | 10892 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10893 |XDefaultGCOfScreen[25] |XGetWMProtocols[25] |XSetGraphicsExposures[25] |XcmsQueryWhite[25] |XkbSetXlibControls[25] | 10894 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10895 |XDefaultRootWindow[25] |XGetWMSizeHints[25] |XSetICFocus[25] |XcmsRGBToRGBi[25] |XkbToControl[25] | 10896 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10897 |XDefaultScreen[25] |XGetWindowAttributes[25] |XSetICValues[25] |XcmsRGBiToCIEXYZ[25] |XkbTranslateKeyCode[25] | 10898 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10899 |XDefaultScreenOfDisplay[25] |XGetWindowProperty[25] |XSetIMValues[25] |XcmsRGBiToRGB[25] |XkbTranslateKeySym[25] | 10900 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10901 |XDefaultString[25] |XGetZoomHints[25] |XSetIOErrorHandler[25] |XcmsScreenNumberOfCCC[25] |XkbUpdateMapFromCore[25] | 10902 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10903 |XDefaultVisual[25] |XGrabButton[25] |XSetIconName[25] |XcmsScreenWhitePointOfCCC[25] |XkbUseExtension[25] | 10904 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10905 |XDefaultVisualOfScreen[25] |XGrabKey[25] |XSetIconSizes[25] |XcmsSetCCCOfColormap[25] |XkbVirtualModsToReal[25] | 10906 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10907 |XDefineCursor[25] |XGrabKeyboard[25] |XSetInputFocus[25] |XcmsSetCompressionProc[25] |XmbDrawImageString[25] | 10908 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10909 |XDeleteContext[25] |XGrabPointer[25] |XSetLineAttributes[25] |XcmsSetWhiteAdjustProc[25] |XmbDrawString[25] | 10910 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10911 |XDeleteModifiermapEntry[25] |XGrabServer[25] |XSetLocaleModifiers[25] |XcmsSetWhitePoint[25] |XmbDrawText[25] | 10912 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10913 |XDeleteProperty[25] |XHeightMMOfScreen[25] |XSetModifierMapping[25] |XcmsStoreColor[25] |XmbLookupString[25] | 10914 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10915 |XDestroyIC[25] |XHeightOfScreen[25] |XSetNormalHints[25] |XcmsStoreColors[25] |XmbResetIC[25] | 10916 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10917 |XDestroyImage[25] |XIMOfIC[25] |XSetOCValues[25] |XcmsTekHVCClipC[25] |XmbSetWMProperties[25] | 10918 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10919 |XDestroyOC[25] |XIconifyWindow[25] |XSetOMValues[25] |XcmsTekHVCClipV[25] |XmbTextEscapement[25] | 10920 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10921 |XDestroyRegion[25] |XIfEvent[25] |XSetPlaneMask[25] |XcmsTekHVCClipVC[25] |XmbTextExtents[25] | 10922 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10923 |XDestroySubwindows[25] |XImageByteOrder[25] |XSetPointerMapping[25] |XcmsTekHVCQueryMaxC[25] |XmbTextListToTextProperty | 10924 | | | | |[25] | 10925 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10926 |XDestroyWindow[25] |XInitExtension[25] |XSetRGBColormaps[25] |XcmsTekHVCQueryMaxV[25] |XmbTextPerCharExtents[25] | 10927 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10928 |XDirectionalDependentDrawing|XInitImage[25] |XSetRegion[25] |XcmsTekHVCQueryMaxVC[25] |XmbTextPropertyToTextList | 10929 |[25] | | | |[25] | 10930 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10931 |XDisableAccessControl[25] |XInitThreads[25] |XSetScreenSaver[25] |XcmsTekHVCQueryMaxVSamples[25] |XrmCombineDatabase[25] | 10932 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10933 |XDisplayCells[25] |XInsertModifiermapEntry |XSetSelectionOwner[25] |XcmsTekHVCQueryMinV[25] |XrmCombineFileDatabase[25] | 10934 | |[25] | | | | 10935 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10936 |XDisplayHeight[25] |XInstallColormap[25] |XSetSizeHints[25] |XcmsTekHVCToCIEuvY[25] |XrmDestroyDatabase[25] | 10937 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10938 |XDisplayHeightMM[25] |XInternAtom[25] |XSetStandardColormap[25] |XcmsTekHVCWhiteShiftColors[25] |XrmEnumerateDatabase[25] | 10939 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10940 |XDisplayKeycodes[25] |XInternAtoms[25] |XSetStandardProperties[25] |XcmsVisualOfCCC[25] |XrmGetDatabase[25] | 10941 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10942 |XDisplayMotionBufferSize[25]|XInternalConnectionNumbers|XSetState[25] |XkbAllocClientMap[25] |XrmGetFileDatabase[25] | 10943 | |[25] | | | | 10944 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10945 |XDisplayName[25] |XIntersectRegion[25] |XSetStipple[25] |XkbAllocCompatMap[25] |XrmGetResource[25] | 10946 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10947 |XDisplayOfIM[25] |XKeycodeToKeysym[25] |XSetSubwindowMode[25] |XkbAllocControls[25] |XrmGetStringDatabase[25] | 10948 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10949 |XDisplayOfOM[25] |XKeysymToKeycode[25] |XSetTSOrigin[25] |XkbAllocGeomColors[25] |XrmInitialize[25] | 10950 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10951 |XDisplayOfScreen[25] |XKeysymToString[25] |XSetTextProperty[25] |XkbAllocGeomDoodads[25] |XrmLocaleOfDatabase[25] | 10952 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10953 |XDisplayPlanes[25] |XKillClient[25] |XSetTile[25] |XkbAllocGeomKeyAliases[25] |XrmMergeDatabases[25] | 10954 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10955 |XDisplayString[25] |XLastKnownRequestProcessed|XSetTransientForHint[25] |XkbAllocGeomKeys[25] |XrmParseCommand[25] | 10956 | |[25] | | | | 10957 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10958 |XDisplayWidth[25] |XListDepths[25] |XSetWMClientMachine[25] |XkbAllocGeomOutlines[25] |XrmPermStringToQuark[25] | 10959 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10960 |XDisplayWidthMM[25] |XListExtensions[25] |XSetWMColormapWindows[25] |XkbAllocGeomOverlayKeys[25] |XrmPutFileDatabase[25] | 10961 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10962 |XDoesBackingStore[25] |XListFonts[25] |XSetWMHints[25] |XkbAllocGeomOverlayRows[25] |XrmPutLineResource[25] | 10963 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10964 |XDoesSaveUnders[25] |XListFontsWithInfo[25] |XSetWMIconName[25] |XkbAllocGeomOverlays[25] |XrmPutResource[25] | 10965 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10966 |XDrawArc[25] |XListHosts[25] |XSetWMName[25] |XkbAllocGeomPoints[25] |XrmPutStringResource[25] | 10967 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10968 |XDrawArcs[25] |XListInstalledColormaps |XSetWMNormalHints[25] |XkbAllocGeomProps[25] |XrmQGetResource[25] | 10969 | |[25] | | | | 10970 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10971 |XDrawImageString[25] |XListPixmapFormats[25] |XSetWMProperties[25] |XkbAllocGeomRows[25] |XrmQGetSearchList[25] | 10972 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10973 |XDrawImageString16[25] |XListProperties[25] |XSetWMProtocols[25] |XkbAllocGeomSectionDoodads[25] |XrmQGetSearchResource[25] | 10974 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10975 |XDrawLine[25] |XLoadFont[25] |XSetWMSizeHints[25] |XkbAllocGeomSections[25] |XrmQPutResource[25] | 10976 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10977 |XDrawLines[25] |XLoadQueryFont[25] |XSetWindowBackground[25] |XkbAllocGeomShapes[25] |XrmQPutStringResource[25] | 10978 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10979 |XDrawPoint[25] |XLocaleOfFontSet[25] |XSetWindowBackgroundPixmap[25]|XkbAllocGeometry[25] |XrmQuarkToString[25] | 10980 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10981 |XDrawPoints[25] |XLocaleOfIM[25] |XSetWindowBorder[25] |XkbAllocIndicatorMaps[25] |XrmSetDatabase[25] | 10982 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10983 |XDrawRectangle[25] |XLocaleOfOM[25] |XSetWindowBorderPixmap[25] |XkbAllocKeyboard[25] |XrmStringToBindingQuarkList| 10984 | | | | |[25] | 10985 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10986 |XDrawRectangles[25] |XLockDisplay[25] |XSetWindowBorderWidth[25] |XkbAllocNames[25] |XrmStringToQuark[25] | 10987 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10988 |XDrawSegments[25] |XLookupColor[25] |XSetWindowColormap[25] |XkbAllocServerMap[25] |XrmStringToQuarkList[25] | 10989 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10990 |XDrawString[25] |XLookupKeysym[25] |XSetZoomHints[25] |XkbApplyCompatMapToKey[25] |XrmUniqueQuark[25] | 10991 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10992 |XDrawString16[25] |XLookupString[25] |XShrinkRegion[25] |XkbBell[25] |Xutf8TextListToTextProperty| 10993 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10994 |XDrawText[25] |XLowerWindow[25] |XStoreBuffer[25] |XkbBellEvent[25] |Xutf8TextPropertyToTextList| 10995 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10996 |XDrawText16[25] |XMapRaised[25] |XStoreBytes[25] |XkbChangeEnabledControls[25] |XwcDrawImageString[25] | 10997 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 10998 |XEHeadOfExtensionList[25] |XMapSubwindows[25] |XStoreColor[25] |XkbChangeMap[25] |XwcDrawString[25] | 10999 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11000 |XESetBeforeFlush[25] |XMapWindow[25] |XStoreColors[25] |XkbChangeNames[25] |XwcDrawText[25] | 11001 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11002 |XESetCloseDisplay[25] |XMaskEvent[25] |XStoreName[25] |XkbChangeTypesOfKey[25] |XwcFreeStringList[25] | 11003 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11004 |XESetCopyGC[25] |XMatchVisualInfo[25] |XStoreNamedColor[25] |XkbComputeEffectiveMap[25] |XwcLookupString[25] | 11005 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11006 |XESetCreateFont[25] |XMaxCmapsOfScreen[25] |XStringListToTextProperty[25] |XkbComputeRowBounds[25] |XwcResetIC[25] | 11007 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11008 |XESetCreateGC[25] |XMaxRequestSize[25] |XStringToKeysym[25] |XkbComputeSectionBounds[25] |XwcTextEscapement[25] | 11009 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11010 |XESetError[25] |XMinCmapsOfScreen[25] |XSubImage[25] |XkbComputeShapeBounds[25] |XwcTextExtents[25] | 11011 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11012 |XESetErrorString[25] |XMoveResizeWindow[25] |XSubtractRegion[25] |XkbComputeShapeTop[25] |XwcTextListToTextProperty | 11013 | | | | |[25] | 11014 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11015 |XESetEventToWire[25] |XMoveWindow[25] |XSupportsLocale[25] |XkbCopyKeyType[25] |XwcTextPerCharExtents[25] | 11016 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11017 |XESetFlushGC[25] |XNewModifiermap[25] |XSync[25] |XkbCopyKeyTypes[25] |XwcTextPropertyToTextList | 11018 | | | | |[25] | 11019 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11020 |XESetFreeFont[25] |XNextEvent[25] |XSynchronize[25] |XkbFindOverlayForKey[25] | | 11021 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11022 |XESetFreeGC[25] |XNextRequest[25] |XTextExtents[25] |XkbForceBell[25] | | 11023 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11024 |XESetPrintErrorValues[25] |XNoOp[25] |XTextExtents16[25] |XkbFreeClientMap[25] | | 11025 |----------------------------+--------------------------+------------------------------+--------------------------------+---------------------------| 11026 |XESetWireToError[25] |XOMOfOC[25] |XTextPropertyToStringList[25] |XkbFreeCompatMap[25] | | 11027 +---------------------------------------------------------------------------------------------------------------------------------------------------+ 11028 ------------------------------------------------------------------------------- 11029 11030 Data Definitions for libX11 11031 11032 ------------------------------------------------------------------------------- 11033 11034 X11/Xauth.h 11035 11036 11037 11038 typedef struct xauth 11039 { 11040 unsigned short family; 11041 unsigned short address_length; 11042 char *address; 11043 unsigned short number_length; 11044 char *number; 11045 unsigned short name_length; 11046 char *name; 11047 unsigned short data_length; 11048 char *data; 11049 } 11050 Xauth; 11051 ------------------------------------------------------------------------------- 11052 11053 X11/Xcms.h 11054 11055 11056 11057 typedef struct _XcmsFunctionSet 11058 { 11059 XcmsColorSpace **DDColorSpaces; 11060 XcmsScreenInitProc screenInitProc; 11061 XcmsScreenFreeProc screenFreeProc; 11062 } 11063 XcmsFunctionSet; 11064 11065 11066 typedef unsigned long XcmsColorFormat; 11067 typedef double XcmsFloat; 11068 typedef struct 11069 { 11070 unsigned short red; 11071 unsigned short green; 11072 unsigned short blue; 11073 } 11074 XcmsRGB; 11075 typedef struct 11076 { 11077 XcmsFloat red; 11078 XcmsFloat green; 11079 XcmsFloat blue; 11080 } 11081 XcmsRGBi; 11082 typedef struct 11083 { 11084 XcmsFloat X; 11085 XcmsFloat Y; 11086 XcmsFloat Z; 11087 } 11088 XcmsCIEXYZ; 11089 typedef struct 11090 { 11091 XcmsFloat u_prime; 11092 XcmsFloat v_prime; 11093 XcmsFloat Y; 11094 } 11095 XcmsCIEuvY; 11096 typedef struct 11097 { 11098 XcmsFloat x; 11099 XcmsFloat y; 11100 XcmsFloat Y; 11101 } 11102 XcmsCIExyY; 11103 typedef struct 11104 { 11105 XcmsFloat L_star; 11106 XcmsFloat a_star; 11107 XcmsFloat b_star; 11108 } 11109 XcmsCIELab; 11110 typedef struct 11111 { 11112 XcmsFloat L_star; 11113 XcmsFloat u_star; 11114 XcmsFloat v_star; 11115 } 11116 XcmsCIELuv; 11117 typedef struct 11118 { 11119 XcmsFloat H; 11120 XcmsFloat V; 11121 XcmsFloat C; 11122 } 11123 XcmsTekHVC; 11124 typedef struct 11125 { 11126 XcmsFloat pad0; 11127 XcmsFloat pad1; 11128 XcmsFloat pad2; 11129 XcmsFloat pad3; 11130 } 11131 XcmsPad; 11132 11133 11134 typedef union 11135 { 11136 XcmsRGB RGB; 11137 XcmsRGBi RGBi; 11138 XcmsCIEXYZ CIEXYZ; 11139 XcmsCIEuvY CIEuvY; 11140 XcmsCIExyY CIExyY; 11141 XcmsCIELab CIELab; 11142 XcmsCIELuv CIELuv; 11143 XcmsTekHVC TekHVC; 11144 XcmsPad Pad; 11145 } 11146 XcmsColor; 11147 11148 11149 typedef struct _XcmsPerScrnInfo 11150 { 11151 XcmsColor screenWhitePt; 11152 XPointer functionSet; 11153 XPointer screenData; 11154 unsigned char state; 11155 char pad[1]; 11156 } 11157 XcmsPerScrnInfo; 11158 11159 11160 typedef int (*XcmsCompressionProc) (void); 11161 typedef int (*XcmsWhiteAdjustProc) (void); 11162 typedef int (*XcmsScreenInitProc) (void); 11163 typedef void (*XcmsScreenFreeProc) (void); 11164 typedef int (*XcmsConversionProc) (void); 11165 typedef int (*XcmsParseStringProc) (void); 11166 11167 11168 typedef struct _XcmsCCC 11169 { 11170 Display *dpy; 11171 int screenNumber; 11172 Visual *visual; 11173 XcmsColor clientWhitePt; 11174 XcmsCompressionProc gamutCompProc; 11175 XPointer gamutCompClientData; 11176 XcmsWhiteAdjustProc whitePtAdjProc; 11177 XPointer whitePtAdjClientData; 11178 XcmsPerScrnInfo *pPerScrnInfo; 11179 } 11180 *XcmsCCC; 11181 11182 11183 typedef XcmsConversionProc *XcmsFuncListPtr; 11184 11185 11186 typedef struct _XcmsColorSpace 11187 { 11188 char *prefix; 11189 XcmsColorFormat id; 11190 XcmsParseStringProc parseString; 11191 XcmsFuncListPtr to_CIEXYZ; 11192 XcmsFuncListPtr from_CIEXYZ; 11193 int inverse_flag; 11194 } 11195 XcmsColorSpace; 11196 ------------------------------------------------------------------------------- 11197 11198 X11/Xlib.h 11199 11200 11201 11202 struct _XDisplay; 11203 typedef struct XColor; 11204 typedef void *XVaNestedList; 11205 typedef int (*XErrorHandler) (void); 11206 typedef int (*XIOErrorHandler) (void); 11207 typedef void (*XConnectionWatchProc) (void); 11208 11209 11210 typedef char *XPointer; 11211 11212 11213 typedef struct _XExtData 11214 { 11215 int number; 11216 struct _XExtData *next; 11217 int (*free_private) (struct _XExtData * extension); 11218 XPointer private_data; 11219 } 11220 XExtData; 11221 typedef struct XExtCodes; 11222 11223 11224 typedef struct XPixmapFormatValues; 11225 11226 11227 typedef struct XGCValues; 11228 11229 11230 typedef struct _XGC *GC; 11231 11232 11233 typedef struct Visual; 11234 11235 11236 typedef struct Depth; 11237 11238 11239 typedef struct Screen; 11240 11241 11242 typedef struct ScreenFormat; 11243 11244 11245 typedef struct XSetWindowAttributes; 11246 typedef struct XWindowAttributes; 11247 11248 11249 typedef struct XHostAddress; 11250 11251 11252 typedef struct _XImage 11253 { 11254 int width; 11255 int height; 11256 int xoffset; 11257 int format; 11258 char *data; 11259 int byte_order; 11260 int bitmap_unit; 11261 int bitmap_bit_order; 11262 int bitmap_pad; 11263 int depth; 11264 int bytes_per_line; 11265 int bits_per_pixel; 11266 unsigned long red_mask; 11267 unsigned long green_mask; 11268 unsigned long blue_mask; 11269 XPointer obdata; 11270 struct funcs f; 11271 } 11272 XImage; 11273 11274 11275 typedef struct XWindowChanges; 11276 11277 11278 typedef struct XSegment; 11279 typedef struct XPoint; 11280 typedef struct XRectangle; 11281 typedef struct XArc; 11282 11283 11284 typedef struct XKeyboardControl; 11285 11286 11287 typedef struct XKeyboardState; 11288 11289 11290 typedef struct XTimeCoord; 11291 11292 11293 typedef struct XModifierKeymap; 11294 11295 11296 typedef struct _XDisplay Display; 11297 11298 11299 typedef struct XKeyEvent; 11300 typedef XKeyEvent XKeyPressedEvent; 11301 typedef XKeyEvent XKeyReleasedEvent; 11302 typedef struct XButtonEvent; 11303 typedef XButtonEvent XButtonPressedEvent; 11304 typedef XButtonEvent XButtonReleasedEvent; 11305 typedef struct XMotionEvent; 11306 typedef XMotionEvent XPointerMovedEvent; 11307 typedef struct XCrossingEvent; 11308 typedef XCrossingEvent XEnterWindowEvent; 11309 typedef XCrossingEvent XLeaveWindowEvent; 11310 typedef struct XFocusChangeEvent; 11311 typedef XFocusChangeEvent XFocusInEvent; 11312 typedef XFocusChangeEvent XFocusOutEvent; 11313 typedef struct XKeymapEvent; 11314 typedef struct XExposeEvent; 11315 typedef struct XGraphicsExposeEvent; 11316 typedef struct XNoExposeEvent; 11317 typedef struct XVisibilityEvent; 11318 typedef struct XCreateWindowEvent; 11319 typedef struct XDestroyWindowEvent; 11320 typedef struct XUnmapEvent; 11321 typedef struct XMapEvent; 11322 typedef struct XMapRequestEvent; 11323 typedef struct XReparentEvent; 11324 typedef struct XConfigureEvent; 11325 typedef struct XGravityEvent; 11326 typedef struct XResizeRequestEvent; 11327 typedef struct XConfigureRequestEvent; 11328 typedef struct XCirculateEvent; 11329 typedef struct XCirculateRequestEvent; 11330 typedef struct XPropertyEvent; 11331 typedef struct XSelectionClearEvent; 11332 typedef struct XSelectionRequestEvent; 11333 typedef struct XSelectionEvent; 11334 typedef struct XColormapEvent; 11335 typedef union XClientMessageEvent; 11336 typedef struct XMappingEvent; 11337 typedef struct XErrorEvent; 11338 typedef struct XAnyEvent; 11339 11340 11341 typedef union _XEvent 11342 { 11343 int type; 11344 XAnyEvent xany; 11345 XKeyEvent xkey; 11346 XButtonEvent xbutton; 11347 XMotionEvent xmotion; 11348 XCrossingEvent xcrossing; 11349 XFocusChangeEvent xfocus; 11350 XExposeEvent xexpose; 11351 XGraphicsExposeEvent xgraphicsexpose; 11352 XNoExposeEvent xnoexpose; 11353 XVisibilityEvent xvisibility; 11354 XCreateWindowEvent xcreatewindow; 11355 XDestroyWindowEvent xdestroywindow; 11356 XUnmapEvent xunmap; 11357 XMapEvent xmap; 11358 XMapRequestEvent xmaprequest; 11359 XReparentEvent xreparent; 11360 XConfigureEvent xconfigure; 11361 XGravityEvent xgravity; 11362 XResizeRequestEvent xresizerequest; 11363 XConfigureRequestEvent xconfigurerequest; 11364 XCirculateEvent xcirculate; 11365 XCirculateRequestEvent xcirculaterequest; 11366 XPropertyEvent xproperty; 11367 XSelectionClearEvent xselectionclear; 11368 XSelectionRequestEvent xselectionrequest; 11369 XSelectionEvent xselection; 11370 XColormapEvent xcolormap; 11371 XClientMessageEvent xclient; 11372 XMappingEvent xmapping; 11373 XErrorEvent xerror; 11374 XKeymapEvent xkeymap; 11375 long pad[1]; 11376 } 11377 XEvent; 11378 11379 11380 typedef struct XCharStruct; 11381 11382 11383 typedef struct XFontProp; 11384 typedef struct XFontStruct; 11385 typedef struct XFontSetExtents; 11386 11387 11388 typedef struct XTextItem; 11389 typedef struct XChar2b; 11390 typedef struct XTextItem16; 11391 11392 11393 typedef union XEDataObject; 11394 11395 11396 typedef struct _XOM *XOM; 11397 typedef struct _XOC *XOC; 11398 typedef struct _XOC *XFontSet; 11399 11400 11401 typedef struct XmbTextItem; 11402 typedef struct XwcTextItem; 11403 11404 11405 11406 11407 11408 typedef struct _XIM *XIM; 11409 typedef struct _XIC *XIC; 11410 typedef void (*XIDProc) (void); 11411 ------------------------------------------------------------------------------- 11412 11413 X11/Xutil.h 11414 11415 11416 11417 typedef struct XSizeHints; 11418 typedef struct XWMHints; 11419 typedef struct XTextProperty; 11420 typedef struct XIconSize; 11421 typedef struct XClassHint; 11422 typedef struct _XComposeStatus 11423 { 11424 XPointer compose_ptr; 11425 int chars_matched; 11426 } 11427 XComposeStatus; 11428 typedef struct _XRegion *Region; 11429 typedef struct XVisualInfo; 11430 typedef struct XStandardColormap; 11431 typedef int XContext; 11432 typedef enum XICCEncodingStyle; 11433 ------------------------------------------------------------------------------- 11434 11435 Interfaces for libXext 11436 11437 Table 13-3. libXext Definition 11438 11439 +----------------------+ 11440 |Library:|libXext | 11441 |--------+-------------| 11442 |SONAME: |libXext.so.6 | 11443 +----------------------+ 11444 11445 The behavior of the interfaces in this library is specified by the following 11446 standards. 11447 11448 Double Buffer Extension Library[26] 11449 X Display Power Management Signaling (DPMS) Extension, Library Specification 11450 [27] 11451 Security Extension Specification, Version 7.1[28] 11452 X Nonrectangular Window Shape Extension Library Version 1.0[29] 11453 MIT-SHM--The MIT Shared Memory Extension[30] 11454 X Synchronization Extension Library[31] 11455 11456 ------------------------------------------------------------------------------- 11457 11458 X Shape Extension 11459 11460 Table 13-4. libXext - X Shape Extension Function Interfaces 11461 11462 +-------------------------------------------------------------------------------------+ 11463 |XShapeCombineMask[29] |XShapeCombineShape |XShapeOffsetShape |XShapeQueryVersion| | 11464 | |[29] |[29] |[29] | | 11465 |-----------------------+-------------------+--------------------+------------------+-| 11466 |XShapeCombineRectangles|XShapeGetRectangles|XShapeQueryExtension|XShapeSelectInput | | 11467 |[29] |[29] |[29] |[29] | | 11468 |-----------------------+-------------------+--------------------+------------------+-| 11469 |XShapeCombineRegion[29]|XShapeInputSelected|XShapeQueryExtents | | | 11470 | |[29] |[29] | | | 11471 +-------------------------------------------------------------------------------------+ 11472 ------------------------------------------------------------------------------- 11473 11474 X Display Power Management Signaling Extension 11475 11476 Table 13-5. libXext - X Display Power Management Signaling Extension Function 11477 Interfaces 11478 11479 +-----------------------------------------------------------------------------+ 11480 |DPMSCapable|DPMSEnable[27]|DPMSGetTimeouts|DPMSInfo[27] |DPMSSetTimeouts| 11481 |[27] | |[27] | |[27] | 11482 |-----------+--------------+---------------+------------------+---------------| 11483 |DPMSDisable|DPMSForceLevel|DPMSGetVersion |DPMSQueryExtension| | 11484 |[27] |[27] |[27] |[27] | | 11485 +-----------------------------------------------------------------------------+ 11486 ------------------------------------------------------------------------------- 11487 11488 X Shared Memory Extensions 11489 11490 Table 13-6. libXext - X Shared Memory Extensions Function Interfaces 11491 11492 +-------------------------------------------------------------------------------------+ 11493 |XShmAttach[30] |XShmCreatePixmap|XShmGetEventBase|XShmPixmapFormat|XShmQueryExtension| 11494 | |[30] |[30] |[30] |[30] | 11495 |---------------+----------------+----------------+----------------+------------------| 11496 |XShmCreateImage|XShmDetach[30] |XShmGetImage[30]|XShmPutImage[30]|XShmQueryVersion | 11497 |[30] | | | |[30] | 11498 +-------------------------------------------------------------------------------------+ 11499 ------------------------------------------------------------------------------- 11500 11501 MIT-MISC Extension 11502 11503 ------------------------------------------------------------------------------- 11504 11505 X Synchronization Extension 11506 11507 Table 13-7. libXext - X Synchronization Extension Function Interfaces 11508 11509 +-----------------------------------------------------------------------------------------------------------------+ 11510 |XSyncAwait[31] |XSyncFreeSystemCounterList|XSyncMinValue[31] |XSyncValueEqual[31] |XSyncValueLessOrEqual| 11511 | |[31] | | |[31] | 11512 |-------------------+--------------------------+-------------------+------------------------+---------------------| 11513 |XSyncChangeAlarm |XSyncGetPriority[31] |XSyncQueryAlarm[31]|XSyncValueGreaterOrEqual|XSyncValueLessThan | 11514 |[31] | | |[31] |[31] | 11515 |-------------------+--------------------------+-------------------+------------------------+---------------------| 11516 |XSyncChangeCounter |XSyncInitialize[31] |XSyncQueryCounter |XSyncValueGreaterThan |XSyncValueLow32[31] | 11517 |[31] | |[31] |[31] | | 11518 |-------------------+--------------------------+-------------------+------------------------+---------------------| 11519 |XSyncCreateAlarm |XSyncIntToValue[31] |XSyncQueryExtension|XSyncValueHigh32[31] |XSyncValueSubtract | 11520 |[31] | |[31] | |[31] | 11521 |-------------------+--------------------------+-------------------+------------------------+---------------------| 11522 |XSyncCreateCounter |XSyncIntsToValue[31] |XSyncSetCounter[31]|XSyncValueIsNegative[31]| | 11523 |[31] | | | | | 11524 |-------------------+--------------------------+-------------------+------------------------+---------------------| 11525 |XSyncDestroyAlarm |XSyncListSystemCounters |XSyncSetPriority |XSyncValueIsPositive[31]| | 11526 |[31] |[31] |[31] | | | 11527 |-------------------+--------------------------+-------------------+------------------------+---------------------| 11528 |XSyncDestroyCounter|XSyncMaxValue[31] |XSyncValueAdd[31] |XSyncValueIsZero[31] | | 11529 |[31] | | | | | 11530 +-----------------------------------------------------------------------------------------------------------------+ 11531 ------------------------------------------------------------------------------- 11532 11533 X Security Extension 11534 11535 Table 13-8. libXext - X Security Extension Function Interfaces 11536 11537 +--------------------------------------------------------------------------------------------------------------------------+ 11538 |XSecurityAllocXauth|XSecurityFreeXauth|XSecurityGenerateAuthorization|XSecurityQueryExtension|XSecurityRevokeAuthorization| 11539 |[28] |[28] |[28] |[28] |[28] | 11540 +--------------------------------------------------------------------------------------------------------------------------+ 11541 ------------------------------------------------------------------------------- 11542 11543 X Double Buffer Extension 11544 11545 Table 13-9. libXext - X Double Buffer Extension Function Interfaces 11546 11547 +----------------------------------------------------------------------------------------------------------------------+ 11548 |XdbeAllocateBackBufferName|XdbeDeallocateBackBufferName|XdbeFreeVisualInfo[26] |XdbeGetVisualInfo |XdbeSwapBuffers| 11549 |[26] |[26] | |[26] |[26] | 11550 |--------------------------+----------------------------+---------------------------+------------------+---------------| 11551 |XdbeBeginIdiom[26] |XdbeEndIdiom[26] |XdbeGetBackBufferAttributes|XdbeQueryExtension| | 11552 | | |[26] |[26] | | 11553 +----------------------------------------------------------------------------------------------------------------------+ 11554 ------------------------------------------------------------------------------- 11555 11556 Data Definitions for libXext 11557 11558 ------------------------------------------------------------------------------- 11559 11560 X11/extensions/security.h 11561 11562 11563 11564 typedef unsigned long XSecurityAuthorization; 11565 typedef struct 11566 { 11567 unsigned int timeout; 11568 unsigned int trust_level; 11569 XID group; 11570 long event_mask; 11571 } 11572 XSecurityAuthorizationAttributes; 11573 ------------------------------------------------------------------------------- 11574 11575 X11/extensions/sync.h 11576 11577 11578 11579 typedef struct _XSyncSystemCounter 11580 { 11581 char *name; 11582 XSyncCounter counter; 11583 XSyncValue resolution; 11584 } 11585 XSyncSystemCounter; 11586 typedef struct 11587 { 11588 XSyncCounter counter; 11589 XSyncValueType value_type; 11590 XSyncValue wait_value; 11591 XSyncTestType test_type; 11592 } 11593 XSyncTrigger; 11594 typedef struct 11595 { 11596 XSyncTrigger trigger; 11597 XSyncValue event_threshold; 11598 } 11599 XSyncWaitCondition; 11600 typedef struct 11601 { 11602 XSyncTrigger trigger; 11603 XSyncValue delta; 11604 int events; 11605 XSyncAlarmState state; 11606 } 11607 XSyncAlarmAttributes; 11608 11609 11610 typedef XID XSyncCounter; 11611 typedef XID XSyncAlarm; 11612 typedef struct _XSyncValue 11613 { 11614 int hi; 11615 unsigned int lo; 11616 } 11617 XSyncValue; 11618 typedef enum 11619 { 11620 XSyncAbsolute, XSyncRelative 11621 } 11622 XSyncValueType; 11623 typedef enum 11624 { 11625 XSyncPositiveTransition, XSyncNegativeTransition, XSyncPositiveComparison, 11626 XSyncNegativeComparison 11627 } 11628 XSyncTestType; 11629 typedef enum 11630 { 11631 XSyncAlarmActive, XSyncAlarmInactive, XSyncAlarmDestroyed 11632 } 11633 XSyncAlarmState; 11634 ------------------------------------------------------------------------------- 11635 11636 Interfaces for libSM 11637 11638 Table 13-10. libSM Definition 11639 11640 +--------------------+ 11641 |Library:|libSM | 11642 |--------+-----------| 11643 |SONAME: |libSM.so.6 | 11644 +--------------------+ 11645 11646 The behavior of the interfaces in this library is specified by the following 11647 standards. 11648 11649 X11R6.4 X Session Management Library[32] 11650 11651 ------------------------------------------------------------------------------- 11652 11653 Session Management Functions 11654 11655 Table 13-11. libSM - Session Management Functions Function Interfaces 11656 11657 +-----------------------------------------------------------------------------------------------------------------+ 11658 |SmFreeProperty[32] |SmcInteractRequest[32] |SmcSaveYourselfDone|SmsGenerateClientID |SmsSaveComplete[32] | 11659 | | |[32] |[32] | | 11660 |-------------------+----------------------------+-------------------+----------------------+---------------------| 11661 |SmFreeReasons[32] |SmcModifyCallbacks[32] |SmcSetErrorHandler |SmsGetIceConnection |SmsSaveYourself[32] | 11662 | | |[32] |[32] | | 11663 |-------------------+----------------------------+-------------------+----------------------+---------------------| 11664 |SmcClientID[32] |SmcOpenConnection[32] |SmcSetProperties |SmsInitialize[32] |SmsSaveYourselfPhase2| 11665 | | |[32] | |[32] | 11666 |-------------------+----------------------------+-------------------+----------------------+---------------------| 11667 |SmcCloseConnection |SmcProtocolRevision[32] |SmcVendor[32] |SmsInteract[32] |SmsSetErrorHandler | 11668 |[32] | | | |[32] | 11669 |-------------------+----------------------------+-------------------+----------------------+---------------------| 11670 |SmcDeleteProperties|SmcProtocolVersion[32] |SmsCleanUp[32] |SmsProtocolRevision |SmsShutdownCancelled | 11671 |[32] | | |[32] |[32] | 11672 |-------------------+----------------------------+-------------------+----------------------+---------------------| 11673 |SmcGetIceConnection|SmcRelease[32] |SmsClientHostName |SmsProtocolVersion[32]| | 11674 |[32] | |[32] | | | 11675 |-------------------+----------------------------+-------------------+----------------------+---------------------| 11676 |SmcGetProperties |SmcRequestSaveYourself[32] |SmsClientID[32] |SmsRegisterClientReply| | 11677 |[32] | | |[32] | | 11678 |-------------------+----------------------------+-------------------+----------------------+---------------------| 11679 |SmcInteractDone[32]|SmcRequestSaveYourselfPhase2|SmsDie[32] |SmsReturnProperties | | 11680 | |[32] | |[32] | | 11681 +-----------------------------------------------------------------------------------------------------------------+ 11682 ------------------------------------------------------------------------------- 11683 11684 Data Definitions for libSM 11685 11686 ------------------------------------------------------------------------------- 11687 11688 X11/SM/SMlib.h 11689 11690 11691 11692 typedef IcePointer SmPointer; 11693 typedef struct _SmcConn *SmcConn; 11694 typedef struct _SmsConn *SmsConn; 11695 11696 11697 typedef struct 11698 { 11699 int length; 11700 SmPointer value; 11701 } 11702 SmPropValue; 11703 typedef struct 11704 { 11705 char *name; 11706 char *type; 11707 int num_vals; 11708 SmPropValue *vals; 11709 } 11710 SmProp; 11711 11712 11713 typedef enum 11714 { 11715 SmcClosedNow, SmcClosedASAP, SmcConnectionInUse 11716 } 11717 SmcCloseStatus; 11718 11719 11720 typedef void (*SmcSaveYourselfPhase2Proc) (void); 11721 typedef void (*SmcInteractProc) (void); 11722 typedef void (*SmcDieProc) (void); 11723 typedef void (*SmcShutdownCancelledProc) (void); 11724 typedef void (*SmcSaveCompleteProc) (void); 11725 typedef void (*SmcPropReplyProc) (void); 11726 11727 11728 typedef struct 11729 { 11730 SmcShutdownCancelledProc callback; 11731 SmPointer client_data; 11732 } 11733 SmcCallbacks; 11734 11735 11736 typedef void (*SmsSetPropertiesProc) (void); 11737 typedef void (*SmsDeletePropertiesProc) (void); 11738 typedef void (*SmsGetPropertiesProc) (void); 11739 11740 11741 typedef struct 11742 { 11743 SmsGetPropertiesProc callback; 11744 SmPointer manager_data; 11745 } 11746 SmsCallbacks; 11747 11748 11749 typedef int (*SmsNewClientProc) (void); 11750 11751 11752 typedef void (*SmcErrorHandler) (void); 11753 typedef void (*SmsErrorHandler) (void); 11754 ------------------------------------------------------------------------------- 11755 11756 Interfaces for libICE 11757 11758 Table 13-12. libICE Definition 11759 11760 +---------------------+ 11761 |Library:|libICE | 11762 |--------+------------| 11763 |SONAME: |libICE.so.6 | 11764 +---------------------+ 11765 11766 The behavior of the interfaces in this library is specified by the following 11767 standards. 11768 11769 X11R6.4 X Inter-Client Exchange (ICE) Protocol[33] 11770 11771 ------------------------------------------------------------------------------- 11772 11773 ICE Functions 11774 11775 Table 13-13. libICE - ICE Functions Function Interfaces 11776 11777 +-----------------------------------------------------------------------------------------------------------------------------------------------+ 11778 |IceAcceptConnection[33] |IceConnectionStatus[33] |IceGetListenConnectionString[33]|IceProcessMessages[33] |IceSetErrorHandler[33] | 11779 |---------------------------+----------------------------+--------------------------------+---------------------------+-------------------------| 11780 |IceAddConnectionWatch[33] |IceConnectionString[33] |IceGetOutBufSize[33] |IceProtocolRevision[33] |IceSetHostBasedAuthProc | 11781 | | | | |[33] | 11782 |---------------------------+----------------------------+--------------------------------+---------------------------+-------------------------| 11783 |IceAllocScratch[33] |IceFlush[33] |IceInitThreads[33] |IceProtocolSetup[33] |IceSetIOErrorHandler[33] | 11784 |---------------------------+----------------------------+--------------------------------+---------------------------+-------------------------| 11785 |IceAppLockConn[33] |IceFreeAuthFileEntry[33] |IceLastReceivedSequenceNumber |IceProtocolShutdown[33] |IceSetPaAuthData[33] | 11786 | | |[33] | | | 11787 |---------------------------+----------------------------+--------------------------------+---------------------------+-------------------------| 11788 |IceAppUnlockConn[33] |IceFreeListenObjs[33] |IceLastSentSequenceNumber[33] |IceProtocolVersion[33] |IceSetShutdownNegotiation| 11789 | | | | |[33] | 11790 |---------------------------+----------------------------+--------------------------------+---------------------------+-------------------------| 11791 |IceAuthFileName[33] |IceGenerateMagicCookie[33] |IceListenForConnections[33] |IceReadAuthFileEntry[33] |IceSwapping[33] | 11792 |---------------------------+----------------------------+--------------------------------+---------------------------+-------------------------| 11793 |IceCheckShutdownNegotiation|IceGetAuthFileEntry[33] |IceListenForWellKnownConnections|IceRegisterForProtocolReply|IceUnlockAuthFile[33] | 11794 |[33] | |[33] |[33] | | 11795 |---------------------------+----------------------------+--------------------------------+---------------------------+-------------------------| 11796 |IceCloseConnection[33] |IceGetConnectionContext[33] |IceLockAuthFile[33] |IceRegisterForProtocolSetup|IceVendor[33] | 11797 | | | |[33] | | 11798 |---------------------------+----------------------------+--------------------------------+---------------------------+-------------------------| 11799 |IceComposeNetworkIdList[33]|IceGetInBufSize[33] |IceOpenConnection[33] |IceRelease[33] |IceWriteAuthFileEntry[33]| 11800 |---------------------------+----------------------------+--------------------------------+---------------------------+-------------------------| 11801 |IceConnectionNumber[33] |IceGetListenConnectionNumber|IcePing[33] |IceRemoveConnectionWatch | | 11802 | |[33] | |[33] | | 11803 +-----------------------------------------------------------------------------------------------------------------------------------------------+ 11804 ------------------------------------------------------------------------------- 11805 11806 Data Definitions for libICE 11807 11808 ------------------------------------------------------------------------------- 11809 11810 X11/ICE/ICElib.h 11811 11812 11813 11814 typedef void *IcePointer; 11815 typedef enum 11816 { 11817 IcePoAuthHaveReply, IcePoAuthRejected, IcePoAuthFailed, IcePoAuthDoneCleanup 11818 } 11819 IcePoAuthStatus; 11820 typedef enum 11821 { 11822 IcePaAuthContinue, IcePaAuthAccepted, IcePaAuthRejected, IcePaAuthFailed 11823 } 11824 IcePaAuthStatus; 11825 typedef enum 11826 { 11827 IceConnectPending, IceConnectAccepted, IceConnectRejected, IceConnectIOError 11828 } 11829 IceConnectStatus; 11830 typedef enum 11831 { 11832 IceProtocolSetupSuccess, IceProtocolSetupFailure, IceProtocolSetupIOError, 11833 IceProtocolAlreadyActive 11834 } 11835 IceProtocolSetupStatus; 11836 typedef enum 11837 { 11838 IceAcceptSuccess, IceAcceptFailure, IceAcceptBadMalloc 11839 } 11840 IceAcceptStatus; 11841 typedef enum 11842 { 11843 IceClosedNow, IceClosedASAP, IceConnectionInUse, 11844 IceStartedShutdownNegotiation 11845 } 11846 IceCloseStatus; 11847 typedef enum 11848 { 11849 IceProcessMessagesSuccess, IceProcessMessagesIOError, 11850 IceProcessMessagesConnectionClosed 11851 } 11852 IceProcessMessagesStatus; 11853 11854 11855 typedef struct 11856 { 11857 unsigned long sequence_of_request; 11858 int major_opcode_of_request; 11859 int minor_opcode_of_request; 11860 IcePointer reply; 11861 } 11862 IceReplyWaitInfo; 11863 11864 11865 typedef struct _IceConn *IceConn; 11866 typedef struct _IceListenObj *IceListenObj; 11867 11868 11869 typedef void (*IceWatchProc) (void); 11870 typedef void (*IcePoProcessMsgProc) (void); 11871 typedef void (*IcePaProcessMsgProc) (void); 11872 typedef IcePoAuthStatus (*IcePoAuthProc) (void); 11873 typedef IcePaAuthStatus (*IcePaAuthProc) (void); 11874 typedef int (*IceHostBasedAuthProc) (void); 11875 typedef int (*IceProtocolSetupProc) (void); 11876 typedef void (*IceProtocolActivateProc) (void); 11877 typedef void (*IceIOErrorProc) (void); 11878 typedef void (*IcePingReplyProc) (void); 11879 typedef void (*IceErrorHandler) (void); 11880 typedef void (*IceIOErrorHandler) (void); 11881 11882 11883 typedef struct 11884 { 11885 int major_version; 11886 int minor_version; 11887 IcePoProcessMsgProc process_msg_proc; 11888 } 11889 IcePoVersionRec; 11890 typedef struct 11891 { 11892 int major_version; 11893 int minor_version; 11894 IcePaProcessMsgProc process_msg_proc; 11895 } 11896 IcePaVersionRec; 11897 ------------------------------------------------------------------------------- 11898 11899 X11/ICE/ICEutil.h 11900 11901 11902 11903 typedef struct 11904 { 11905 char *protocol_name; 11906 unsigned short protocol_data_length; 11907 char *protocol_data; 11908 char *network_id; 11909 char *auth_name; 11910 unsigned short auth_data_length; 11911 char *auth_data; 11912 } 11913 IceAuthFileEntry; 11914 typedef struct 11915 { 11916 char *protocol_name; 11917 char *network_id; 11918 char *auth_name; 11919 unsigned short auth_data_length; 11920 char *auth_data; 11921 } 11922 IceAuthDataEntry; 11923 ------------------------------------------------------------------------------- 11924 11925 Interfaces for libXt 11926 11927 Table 13-14. libXt Definition 11928 11929 +--------------------+ 11930 |Library:|libXt | 11931 |--------+-----------| 11932 |SONAME: |libXt.so.6 | 11933 +--------------------+ 11934 11935 The behavior of the interfaces in this library is specified by the following 11936 standards. 11937 11938 Linux Standard Base[34] 11939 X11R6.4 X Toolkit Intrinsics[35] 11940 11941 ------------------------------------------------------------------------------- 11942 11943 X Toolkit 11944 11945 Table 13-15. libXt - X Toolkit Function Interfaces 11946 11947 +-------------------------------------------------------------------------------------------------------------------------------------------------------+ 11948 |XtAddActions[35] |XtCancelSelectionRequest[35] |XtError[35] |XtMainLoop[35] |XtSessionGetToken[35] | 11949 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11950 |XtAddCallback[35] |XtChangeManagedSet[35] |XtErrorMsg[35] |XtMakeGeometryRequest[35] |XtSessionReturnToken[35] | 11951 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11952 |XtAddCallbacks[35] |XtClass[35] |XtFindFile[35] |XtMakeResizeRequest[35] |XtSetErrorHandler[35] | 11953 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11954 |XtAddConverter[35] |XtCloseDisplay[35] |XtFree[35] |XtMalloc[35] |XtSetErrorMsgHandler[35] | 11955 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11956 |XtAddEventHandler[35] |XtConfigureWidget[35] |XtGetActionKeysym[35] |XtManageChild[35] |XtSetEventDispatcher[35] | 11957 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11958 |XtAddExposureToRegion[35] |XtConvert[35] |XtGetActionList[35] |XtManageChildren[35] |XtSetKeyTranslator[35] | 11959 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11960 |XtAddGrab[35] |XtConvertAndStore[35] |XtGetApplicationNameAndClass |XtMapWidget[35] |XtSetKeyboardFocus[35] | 11961 | | |[35] | | | 11962 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11963 |XtAddInput[35] |XtConvertCase[35] |XtGetApplicationResources[35] |XtMenuPopupAction[35] |XtSetLanguageProc[35] | 11964 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11965 |XtAddRawEventHandler[35] |XtCreateApplicationContext[35] |XtGetClassExtension[35] |XtMergeArgLists[35] |XtSetMappedWhenManaged[35] | 11966 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11967 |XtAddSignal[35] |XtCreateApplicationShell[35] |XtGetConstraintResourceList[35]|XtMoveWidget[35] |XtSetMultiClickTime[35] | 11968 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11969 |XtAddTimeOut[35] |XtCreateManagedWidget[35] |XtGetDisplays[35] |XtName[35] |XtSetSelectionParameters[35]| 11970 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11971 |XtAddWorkProc[35] |XtCreatePopupShell[35] |XtGetErrorDatabase[35] |XtNameToWidget[35] |XtSetSelectionTimeout[35] | 11972 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11973 |XtAllocateGC[35] |XtCreateSelectionRequest[35] |XtGetErrorDatabaseText[35] |XtNewString[35] |XtSetSensitive[35] | 11974 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11975 |XtAppAddActionHook[35] |XtCreateWidget[35] |XtGetGC[35] |XtNextEvent[35] |XtSetSubvalues[35] | 11976 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11977 |XtAppAddActions[35] |XtCreateWindow[35] |XtGetKeyboardFocusWidget[35] |XtNoticeSignal[35] |XtSetTypeConverter[35] | 11978 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11979 |XtAppAddBlockHook[35] |XtCvtColorToPixel[35] |XtGetKeysymTable[35] |XtOpenApplication[35] |XtSetValues[35] | 11980 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11981 |XtAppAddConverter[35] |XtCvtIntToBool[35] |XtGetMultiClickTime[35] |XtOpenDisplay[35] |XtSetWMColormapWindows[35] | 11982 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11983 |XtAppAddInput[35] |XtCvtIntToBoolean[35] |XtGetResourceList[35] |XtOverrideTranslations[35] |XtSetWarningHandler[35] | 11984 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11985 |XtAppAddSignal[35] |XtCvtIntToColor[35] |XtGetSelectionParameters[35] |XtOwnSelection[35] |XtSetWarningMsgHandler[35] | 11986 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11987 |XtAppAddTimeOut[35] |XtCvtIntToFloat[35] |XtGetSelectionRequest[35] |XtOwnSelectionIncremental |XtStringConversionWarning | 11988 | | | |[35] |[35] | 11989 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11990 |XtAppAddWorkProc[35] |XtCvtIntToFont[35] |XtGetSelectionTimeout[35] |XtParent[35] |XtSuperclass[35] | 11991 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11992 |XtAppCreateShell[35] |XtCvtIntToPixel[35] |XtGetSelectionValue[35] |XtParseAcceleratorTable[35]|XtToolkitInitialize[35] | 11993 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11994 |XtAppError[35] |XtCvtIntToPixmap[35] |XtGetSelectionValueIncremental |XtParseTranslationTable[35]|XtToolkitThreadInitialize | 11995 | | |[35] | |[35] | 11996 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11997 |XtAppErrorMsg[35] |XtCvtIntToShort[35] |XtGetSelectionValues[35] |XtPeekEvent[35] |XtTranslateCoords[35] | 11998 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 11999 |XtAppGetErrorDatabase[35] |XtCvtIntToUnsignedChar[35] |XtGetSelectionValuesIncremental|XtPending[35] |XtTranslateKey[35] | 12000 | | |[35] | | | 12001 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12002 |XtAppGetErrorDatabaseText[35]|XtCvtStringToAcceleratorTable |XtGetSubresources[35] |XtPopdown[35] |XtTranslateKeycode[35] | 12003 | |[35] | | | | 12004 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12005 |XtAppGetExitFlag[35] |XtCvtStringToAtom[35] |XtGetSubvalues[35] |XtPopup[35] |XtUngrabButton[35] | 12006 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12007 |XtAppGetSelectionTimeout[35] |XtCvtStringToBool[35] |XtGetValues[35] |XtPopupSpringLoaded[35] |XtUngrabKey[35] | 12008 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12009 |XtAppInitialize[35] |XtCvtStringToBoolean[35] |XtGrabButton[35] |XtProcessEvent[35] |XtUngrabKeyboard[35] | 12010 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12011 |XtAppLock[35] |XtCvtStringToCommandArgArray[35]|XtGrabKey[35] |XtProcessLock[35] |XtUngrabPointer[35] | 12012 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12013 |XtAppMainLoop[35] |XtCvtStringToCursor[35] |XtGrabKeyboard[35] |XtProcessUnlock[35] |XtUninstallTranslations[35] | 12014 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12015 |XtAppNextEvent[35] |XtCvtStringToDimension[35] |XtGrabPointer[35] |XtQueryGeometry[35] |XtUnmanageChild[35] | 12016 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12017 |XtAppPeekEvent[35] |XtCvtStringToDirectoryString[35]|XtHasCallbacks[35] |XtRealizeWidget[35] |XtUnmanageChildren[35] | 12018 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12019 |XtAppPending[35] |XtCvtStringToDisplay[35] |XtHooksOfDisplay[35] |XtRealloc[35] |XtUnmapWidget[35] | 12020 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12021 |XtAppProcessEvent[35] |XtCvtStringToFile[35] |XtInitialize[35] |XtRegisterCaseConverter[35]|XtUnrealizeWidget[35] | 12022 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12023 |XtAppReleaseCacheRefs[35] |XtCvtStringToFloat[35] |XtInitializeWidgetClass[35] |XtRegisterDrawable[35] |XtUnregisterDrawable[35] | 12024 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12025 |XtAppSetErrorHandler[35] |XtCvtStringToFont[35] |XtInsertEventHandler[35] |XtRegisterExtensionSelector|XtVaAppCreateShell[35] | 12026 | | | |[35] | | 12027 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12028 |XtAppSetErrorMsgHandler[35] |XtCvtStringToFontSet[35] |XtInsertEventTypeHandler[35] |XtRegisterGrabAction[35] |XtVaAppInitialize[35] | 12029 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12030 |XtAppSetExitFlag[35] |XtCvtStringToFontStruct[35] |XtInsertRawEventHandler[35] |XtReleaseGC[35] |XtVaCreateArgsList[35] | 12031 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12032 |XtAppSetFallbackResources[35]|XtCvtStringToGravity[35] |XtInstallAccelerators[35] |XtReleasePropertyAtom[35] |XtVaCreateManagedWidget[35] | 12033 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12034 |XtAppSetSelectionTimeout[35] |XtCvtStringToInitialState[35] |XtInstallAllAccelerators[35] |XtRemoveActionHook[35] |XtVaCreatePopupShell[35] | 12035 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12036 |XtAppSetTypeConverter[35] |XtCvtStringToInt[35] |XtIsApplicationShell[35] |XtRemoveAllCallbacks[35] |XtVaCreateWidget[35] | 12037 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12038 |XtAppSetWarningHandler[35] |XtCvtStringToPixel[35] |XtIsComposite[35] |XtRemoveBlockHook[35] |XtVaGetApplicationResources | 12039 | | | | |[35] | 12040 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12041 |XtAppSetWarningMsgHandler[35]|XtCvtStringToRestartStyle[35] |XtIsConstraint[35] |XtRemoveCallback[35] |XtVaGetSubresources[35] | 12042 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12043 |XtAppUnlock[35] |XtCvtStringToShort[35] |XtIsManaged[35] |XtRemoveCallbacks[35] |XtVaGetSubvalues[35] | 12044 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12045 |XtAppWarning[35] |XtCvtStringToTranslationTable |XtIsObject[35] |XtRemoveEventHandler[35] |XtVaGetValues[35] | 12046 | |[35] | | | | 12047 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12048 |XtAppWarningMsg[35] |XtCvtStringToUnsignedChar[35] |XtIsOverrideShell[35] |XtRemoveEventTypeHandler |XtVaOpenApplication[35] | 12049 | | | |[35] | | 12050 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12051 |XtAugmentTranslations[35] |XtCvtStringToVisual[35] |XtIsRealized[35] |XtRemoveGrab[35] |XtVaSetSubvalues[35] | 12052 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12053 |XtBuildEventMask[35] |XtDatabase[35] |XtIsRectObj[35] |XtRemoveInput[35] |XtVaSetValues[35] | 12054 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12055 |XtCallAcceptFocus[35] |XtDestroyApplicationContext[35] |XtIsSensitive[35] |XtRemoveRawEventHandler[35]|XtWarning[35] | 12056 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12057 |XtCallActionProc[35] |XtDestroyGC[35] |XtIsSessionShell[35] |XtRemoveSignal[35] |XtWarningMsg[35] | 12058 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12059 |XtCallCallbackList[35] |XtDestroyWidget[35] |XtIsShell[35] |XtRemoveTimeOut[35] |XtWidgetToApplicationContext| 12060 | | | | |[35] | 12061 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12062 |XtCallCallbacks[35] |XtDirectConvert[35] |XtIsSubclass[35] |XtRemoveWorkProc[35] |XtWindow[35] | 12063 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12064 |XtCallConverter[35] |XtDisownSelection[35] |XtIsTopLevelShell[35] |XtReservePropertyAtom[35] |XtWindowOfObject[35] | 12065 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12066 |XtCallbackExclusive[35] |XtDispatchEvent[35] |XtIsTransientShell[35] |XtResizeWidget[35] |XtWindowToWidget[35] | 12067 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12068 |XtCallbackNone[35] |XtDispatchEventToWidget[35] |XtIsVendorShell[35] |XtResizeWindow[35] |_XtCheckSubclassFlag[35] | 12069 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12070 |XtCallbackNonexclusive[35] |XtDisplay[35] |XtIsWMShell[35] |XtResolvePathname[35] |_XtCopyFromArg[34] | 12071 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12072 |XtCallbackPopdown[35] |XtDisplayInitialize[35] |XtIsWidget[35] |XtScreen[35] |_XtInherit[34] | 12073 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12074 |XtCallbackReleaseCacheRef[35]|XtDisplayOfObject[35] |XtKeysymToKeycodeList[35] |XtScreenDatabase[35] |_XtIsSubclassOf[34] | 12075 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12076 |XtCallbackReleaseCacheRefList|XtDisplayStringConversionWarning|XtLastEventProcessed[35] |XtScreenOfObject[35] | | 12077 |[35] |[35] | | | | 12078 |-----------------------------+--------------------------------+-------------------------------+---------------------------+----------------------------| 12079 |XtCalloc[35] |XtDisplayToApplicationContext |XtLastTimestampProcessed[35] |XtSendSelectionRequest[35] | | 12080 | |[35] | | | | 12081 +-------------------------------------------------------------------------------------------------------------------------------------------------------+ 12082 12083 Table 13-16. libXt - X Toolkit Data Interfaces 12084 12085 +-----------------------------------------------------------------------------------------------------------------------+ 12086 |XtCXtToolkitError[35] |compositeWidgetClass |overrideShellClassRec |shellClassRec[35] |widgetClass[35] | 12087 | |[35] |[35] | | | 12088 |---------------------------+---------------------+------------------------+-------------------------+------------------| 12089 |XtShellStrings[35] |constraintClassRec |overrideShellWidgetClass|shellWidgetClass[35] |widgetClassRec[35]| 12090 | |[35] |[35] | | | 12091 |---------------------------+---------------------+------------------------+-------------------------+------------------| 12092 |XtStrings[35] |constraintWidgetClass|rectObjClass[35] |topLevelShellClassRec[35]|wmShellClassRec | 12093 | |[35] | | |[35] | 12094 |---------------------------+---------------------+------------------------+-------------------------+------------------| 12095 |_XtInheritTranslations[34] |coreWidgetClass[35] |rectObjClassRec[35] |topLevelShellWidgetClass |wmShellWidgetClass| 12096 | | | |[35] |[35] | 12097 |---------------------------+---------------------+------------------------+-------------------------+------------------| 12098 |applicationShellWidgetClass|objectClass[35] |sessionShellClassRec[35]|transientShellClassRec | | 12099 |[35] | | |[35] | | 12100 |---------------------------+---------------------+------------------------+-------------------------+------------------| 12101 |compositeClassRec[35] |objectClassRec[35] |sessionShellWidgetClass |transientShellWidgetClass| | 12102 | | |[35] |[35] | | 12103 +-----------------------------------------------------------------------------------------------------------------------+ 12104 ------------------------------------------------------------------------------- 12105 12106 Data Definitions for libXt 12107 12108 ------------------------------------------------------------------------------- 12109 12110 X11/Composite.h 12111 12112 12113 12114 typedef Cardinal (*XtOrderProc) (Widget child); 12115 typedef void (*XtDoChangeProc) (Widget composite_parent, 12116 WidgetList unmanage_children, 12117 Cardinal * num_unmanage_children, 12118 WidgetList manage_children, 12119 Cardinal * num_manage_children, 12120 XtPointer client_data); 12121 ------------------------------------------------------------------------------- 12122 12123 X11/CompositeP.h 12124 12125 #define XtInheritGeometryManager ((XtGeometryHandler) _XtInherit) 12126 #define XtInheritDeleteChild ((XtWidgetProc) _XtInherit) 12127 #define XtInheritInsertChild ((XtWidgetProc) _XtInherit) 12128 #define XtCompositeExtensionVersion 2L 12129 12130 12131 12132 12133 12134 12135 12136 12137 12138 12139 12140 typedef struct _CompositeClassPart CompositeClassPart; 12141 12142 12143 12144 12145 12146 typedef struct _CompositeClassRec CompositeClassRec; 12147 ------------------------------------------------------------------------------- 12148 12149 X11/ConstrainP.h 12150 12151 #define XtConstraintExtensionVersion 1L 12152 12153 12154 typedef struct _ConstraintPart ConstraintPart; 12155 typedef struct _ConstraintClassPart ConstraintClassPart; 12156 typedef struct _ConstraintClassRec 12157 { 12158 CoreClassPart core_class; 12159 CompositeClassPart composite_class; 12160 ConstraintClassPart constraint_class; 12161 } 12162 ConstraintClassRec; 12163 ------------------------------------------------------------------------------- 12164 12165 X11/Constraint.h 12166 12167 12168 12169 typedef struct _ConstraintClassRec *ConstraintWidgetClass; 12170 ------------------------------------------------------------------------------- 12171 12172 X11/ObjectP.h 12173 12174 #define XtInheritAllocate ((XtAllocateProc) _XtInherit) 12175 #define XtInheritDeallocate ((XtDeallocateProc) _XtInherit) 12176 #define XtObjectExtensionVersion 1L 12177 12178 12179 12180 12181 12182 typedef struct _ObjectPart 12183 { 12184 Widget self; 12185 WidgetClass widget_class; 12186 Widget parent; 12187 XrmName xrm_name; 12188 Boolean being_destroyed; 12189 XtCallbackList destroy_callbacks; 12190 XtPointer constraints; 12191 } 12192 ObjectPart; 12193 12194 12195 typedef struct _ObjectRec 12196 { 12197 ObjectPart object; 12198 } 12199 ObjectRec; 12200 12201 12202 typedef struct _ObjectClassPart 12203 { 12204 WidgetClass superclass; 12205 String class_name; 12206 Cardinal widget_size; 12207 XtProc class_initialize; 12208 XtWidgetClassProc class_part_initialize; 12209 XtEnum class_inited; 12210 XtInitProc initialize; 12211 XtArgsProc initialize_hook; 12212 XtProc obj1; 12213 XtProc obj2; 12214 XtProc obj3; 12215 XtResourceList resources; 12216 Cardinal num_resources; 12217 XrmClass xrm_class; 12218 Boolean obj4; 12219 XtEnum obj5; 12220 Boolean obj6; 12221 Boolean obj7; 12222 XtWidgetProc destroy; 12223 XtProc obj8; 12224 XtProc obj9; 12225 XtSetValuesFunc set_values; 12226 XtArgsFunc set_values_hook; 12227 XtProc obj10; 12228 XtArgsProc get_values_hook; 12229 XtProc obj11; 12230 XtVersionType version; 12231 XtPointer callback_private; 12232 String obj12; 12233 XtProc obj13; 12234 XtProc obj14; 12235 XtPointer extension; 12236 } 12237 ObjectClassPart; 12238 12239 12240 struct 12241 { 12242 XtPointer next_extension; 12243 XrmQuark record_type; 12244 long version; 12245 Cardinal record_size; 12246 XtAllocateProc allocate; 12247 XtDeallocateProc deallocate; 12248 } 12249 ; 12250 12251 12252 typedef struct 12253 { 12254 XtPointer next_extension; 12255 XrmQuark record_type; 12256 long version; 12257 Cardinal record_size; 12258 XtAllocateProc allocate; 12259 XtDeallocateProc deallocate; 12260 } 12261 ObjectClassExtensionRec; 12262 typedef struct 12263 { 12264 XtPointer next_extension; 12265 XrmQuark record_type; 12266 long version; 12267 Cardinal record_size; 12268 XtAllocateProc allocate; 12269 XtDeallocateProc deallocate; 12270 } 12271 *ObjectClassExtension; 12272 12273 12274 typedef struct _ObjectClassRec 12275 { 12276 ObjectClassPart object_class; 12277 } 12278 ObjectClassRec; 12279 ------------------------------------------------------------------------------- 12280 12281 Interfaces Definitions for libXt 12282 12283 Table of Contents 12284 _XtCopyFromArg -- Copy "size" bytes from src to dst. 12285 _XtInherit -- inheritance operation. 12286 _XtInheritTranslations -- an inheritance constant 12287 _XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass. 12288 12289 _XtCopyFromArg 12290 12291 Name 12292 12293 _XtCopyFromArg -- Copy "size" bytes from src to dst. 12294 12295 Synopsis 12296 12297 void _XtCopyFromArg(XtArgVal src,char* dst,unsigned int size); 12298 12299 Description 12300 12301 The _XtCopyFromArg() function copies "size" bytes from src to dst. This is an 12302 internal X function call. 12303 12304 _XtInherit 12305 12306 Name 12307 12308 _XtInherit -- inheritance operation. 12309 12310 Synopsis 12311 12312 #include 12313 12314 extern void _XtInherit( 12315 #if NeedFunctionPrototypes 12316 void 12317 #endif 12318 ); 12319 12320 Description 12321 12322 _XtInherit() is a procedure that issues an error message if it is actually 12323 called. 12324 12325 _XtInheritTranslations 12326 12327 Name 12328 12329 _XtInheritTranslations -- an inheritance constant 12330 12331 Synopsis 12332 12333 #include 12334 12335 externalref int _XtInheritTranslations; 12336 12337 Description 12338 12339 _XtInheritTranslations is an inheritance constant. 12340 12341 _XtIsSubclassOf 12342 12343 Name 12344 12345 _XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass. 12346 12347 Synopsis 12348 12349 #include 12350 12351 extern Boolean _XtIsSubclassOf( 12352 Widget /* object* /, 12353 WidgetClass /* widget_class */, 12354 WidgetClass /* flag_class */, 12355 _XtXtEnum /* type_flag */, 12356 ); 12357 12358 Description 12359 12360 Determine if Widget(object) is a subclass of WidgetClass(widget_class). 12361 12362 ------------------------------------------------------------------------------- 12363 12364 Interfaces for libGL 12365 12366 Table 13-17. libGL Definition 12367 12368 +--------------------+ 12369 |Library:|libGL | 12370 |--------+-----------| 12371 |SONAME: |libGL.so.1 | 12372 +--------------------+ 12373 12374 The behavior of the interfaces in this library is specified by the following 12375 standards. 12376 12377 OpenGL® Application Binary Interface for Linux[36] 12378 12379 ------------------------------------------------------------------------------- 12380 12381 GL X interface 12382 12383 Table 13-18. libGL - GL X interface Function Interfaces 12384 12385 +-----------------------------------------------------------------------------------------------------------------+ 12386 |glXChooseVisual[36]|glXDestroyContext |glXGetContextIDEXT[36] |glXImportContextEXT |glXQueryExtensionsString| 12387 | |[36] | |[36] |[36] | 12388 |-------------------+-------------------+-------------------------+----------------------+------------------------| 12389 |glXCopyContext[36] |glXDestroyGLXPixmap|glXGetCurrentContext[36] |glXIsDirect[36] |glXQueryServerString[36]| 12390 | |[36] | | | | 12391 |-------------------+-------------------+-------------------------+----------------------+------------------------| 12392 |glXCreateContext |glXDestroyPbuffer |glXGetCurrentDisplay[36] |glXMakeContextCurrent |glXQueryVersion[36] | 12393 |[36] |[36] | |[36] | | 12394 |-------------------+-------------------+-------------------------+----------------------+------------------------| 12395 |glXCreateGLXPixmap |glXDestroyPixmap |glXGetCurrentDrawable[36]|glXMakeCurrent[36] |glXSelectEvent[36] | 12396 |[36] |[36] | | | | 12397 |-------------------+-------------------+-------------------------+----------------------+------------------------| 12398 |glXCreateNewContext|glXDestroyWindow |glXGetCurrentReadDrawable|glXQueryContext[36] |glXSwapBuffers[36] | 12399 |[36] |[36] |[36] | | | 12400 |-------------------+-------------------+-------------------------+----------------------+------------------------| 12401 |glXCreatePbuffer |glXFreeContextEXT |glXGetFBConfigAttrib[36] |glXQueryContextInfoEXT|glXUseXFont[36] | 12402 |[36] |[36] | |[36] | | 12403 |-------------------+-------------------+-------------------------+----------------------+------------------------| 12404 |glXCreatePixmap[36]|glXGetClientString |glXGetSelectedEvent[36] |glXQueryDrawable[36] |glXWaitGL[36] | 12405 | |[36] | | | | 12406 |-------------------+-------------------+-------------------------+----------------------+------------------------| 12407 |glXCreateWindow[36]|glXGetConfig[36] |glXGetVisualFromFBConfig |glXQueryExtension[36] |glXWaitX[36] | 12408 | | |[36] | | | 12409 +-----------------------------------------------------------------------------------------------------------------+ 12410 ------------------------------------------------------------------------------- 12411 12412 OpenGL 12413 12414 Table 13-19. libGL - OpenGL Function Interfaces 12415 12416 +-------------------------------------------------------------------------------------------------------------------+ 12417 |glAccum[36] |glDepthRange[36] |glIndexPointer[36] |glNormal3d[36] |glTexCoord1f[36] | 12418 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12419 |glActiveTextureARB[36] |glDisable[36] |glIndexd[36] |glNormal3dv[36] |glTexCoord1fv[36]| 12420 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12421 |glAlphaFunc[36] |glDisableClientState[36] |glIndexdv[36] |glNormal3f[36] |glTexCoord1i[36] | 12422 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12423 |glAreTexturesResident[36]|glDrawArrays[36] |glIndexf[36] |glNormal3fv[36] |glTexCoord1iv[36]| 12424 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12425 |glArrayElement[36] |glDrawBuffer[36] |glIndexfv[36] |glNormal3i[36] |glTexCoord1s[36] | 12426 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12427 |glBegin[36] |glDrawElements[36] |glIndexi[36] |glNormal3iv[36] |glTexCoord1sv[36]| 12428 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12429 |glBindTexture[36] |glDrawPixels[36] |glIndexiv[36] |glNormal3s[36] |glTexCoord2d[36] | 12430 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12431 |glBitmap[36] |glDrawRangeElements[36] |glIndexs[36] |glNormal3sv[36] |glTexCoord2dv[36]| 12432 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12433 |glBlendColor[36] |glEdgeFlag[36] |glIndexsv[36] |glNormalPointer[36] |glTexCoord2f[36] | 12434 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12435 |glBlendColorEXT[36] |glEdgeFlagPointer[36] |glIndexub[36] |glOrtho[36] |glTexCoord2fv[36]| 12436 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12437 |glBlendEquation[36] |glEdgeFlagv[36] |glIndexubv[36] |glPassThrough[36] |glTexCoord2i[36] | 12438 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12439 |glBlendEquationEXT[36] |glEnable[36] |glInitNames[36] |glPixelMapfv[36] |glTexCoord2iv[36]| 12440 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12441 |glBlendFunc[36] |glEnableClientState[36] |glInterleavedArrays |glPixelMapuiv[36] |glTexCoord2s[36] | 12442 | | |[36] | | | 12443 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12444 |glCallList[36] |glEnd[36] |glIsEnabled[36] |glPixelMapusv[36] |glTexCoord2sv[36]| 12445 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12446 |glCallLists[36] |glEndList[36] |glIsList[36] |glPixelStoref[36] |glTexCoord3d[36] | 12447 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12448 |glClear[36] |glEvalCoord1d[36] |glIsTexture[36] |glPixelStorei[36] |glTexCoord3dv[36]| 12449 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12450 |glClearAccum[36] |glEvalCoord1dv[36] |glLightModelf[36] |glPixelTransferf[36] |glTexCoord3f[36] | 12451 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12452 |glClearColor[36] |glEvalCoord1f[36] |glLightModelfv[36] |glPixelTransferi[36] |glTexCoord3fv[36]| 12453 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12454 |glClearDepth[36] |glEvalCoord1fv[36] |glLightModeli[36] |glPixelZoom[36] |glTexCoord3i[36] | 12455 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12456 |glClearIndex[36] |glEvalCoord2d[36] |glLightModeliv[36] |glPointParameterfvEXT|glTexCoord3iv[36]| 12457 | | | |[36] | | 12458 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12459 |glClearStencil[36] |glEvalCoord2dv[36] |glLightf[36] |glPointSize[36] |glTexCoord3s[36] | 12460 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12461 |glClientActiveTextureARB |glEvalCoord2f[36] |glLightfv[36] |glPolygonMode[36] |glTexCoord3sv[36]| 12462 |[36] | | | | | 12463 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12464 |glClipPlane[36] |glEvalCoord2fv[36] |glLighti[36] |glPolygonOffset[36] |glTexCoord4d[36] | 12465 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12466 |glColor3b[36] |glEvalMesh1[36] |glLightiv[36] |glPolygonStipple[36] |glTexCoord4dv[36]| 12467 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12468 |glColor3bv[36] |glEvalMesh2[36] |glLineStipple[36] |glPopAttrib[36] |glTexCoord4f[36] | 12469 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12470 |glColor3d[36] |glEvalPoint1[36] |glLineWidth[36] |glPopClientAttrib[36]|glTexCoord4fv[36]| 12471 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12472 |glColor3dv[36] |glEvalPoint2[36] |glListBase[36] |glPopMatrix[36] |glTexCoord4i[36] | 12473 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12474 |glColor3f[36] |glFeedbackBuffer[36] |glLoadIdentity[36] |glPopName[36] |glTexCoord4iv[36]| 12475 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12476 |glColor3fv[36] |glFinish[36] |glLoadMatrixd[36] |glPrioritizeTextures |glTexCoord4s[36] | 12477 | | | |[36] | | 12478 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12479 |glColor3i[36] |glFlush[36] |glLoadMatrixf[36] |glPushAttrib[36] |glTexCoord4sv[36]| 12480 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12481 |glColor3iv[36] |glFogf[36] |glLoadName[36] |glPushClientAttrib |glTexCoordPointer| 12482 | | | |[36] |[36] | 12483 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12484 |glColor3s[36] |glFogfv[36] |glLogicOp[36] |glPushMatrix[36] |glTexEnvf[36] | 12485 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12486 |glColor3sv[36] |glFogi[36] |glMap1d[36] |glPushName[36] |glTexEnvfv[36] | 12487 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12488 |glColor3ub[36] |glFogiv[36] |glMap1f[36] |glRasterPos2d[36] |glTexEnvi[36] | 12489 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12490 |glColor3ubv[36] |glFrontFace[36] |glMap2d[36] |glRasterPos2dv[36] |glTexEnviv[36] | 12491 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12492 |glColor3ui[36] |glFrustum[36] |glMap2f[36] |glRasterPos2f[36] |glTexGend[36] | 12493 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12494 |glColor3uiv[36] |glGenLists[36] |glMapGrid1d[36] |glRasterPos2fv[36] |glTexGendv[36] | 12495 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12496 |glColor3us[36] |glGenTextures[36] |glMapGrid1f[36] |glRasterPos2i[36] |glTexGenf[36] | 12497 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12498 |glColor3usv[36] |glGetBooleanv[36] |glMapGrid2d[36] |glRasterPos2iv[36] |glTexGenfv[36] | 12499 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12500 |glColor4b[36] |glGetClipPlane[36] |glMapGrid2f[36] |glRasterPos2s[36] |glTexGeni[36] | 12501 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12502 |glColor4bv[36] |glGetColorTable[36] |glMaterialf[36] |glRasterPos2sv[36] |glTexGeniv[36] | 12503 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12504 |glColor4d[36] |glGetColorTableParameterfv |glMaterialfv[36] |glRasterPos3d[36] |glTexImage1D[36] | 12505 | |[36] | | | | 12506 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12507 |glColor4dv[36] |glGetColorTableParameteriv |glMateriali[36] |glRasterPos3dv[36] |glTexImage2D[36] | 12508 | |[36] | | | | 12509 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12510 |glColor4f[36] |glGetConvolutionFilter[36] |glMaterialiv[36] |glRasterPos3f[36] |glTexImage3D[36] | 12511 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12512 |glColor4fv[36] |glGetConvolutionParameterfv|glMatrixMode[36] |glRasterPos3fv[36] |glTexParameterf | 12513 | |[36] | | |[36] | 12514 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12515 |glColor4i[36] |glGetConvolutionParameteriv|glMinmax[36] |glRasterPos3i[36] |glTexParameterfv | 12516 | |[36] | | |[36] | 12517 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12518 |glColor4iv[36] |glGetDoublev[36] |glMultMatrixd[36] |glRasterPos3iv[36] |glTexParameteri | 12519 | | | | |[36] | 12520 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12521 |glColor4s[36] |glGetError[36] |glMultMatrixf[36] |glRasterPos3s[36] |glTexParameteriv | 12522 | | | | |[36] | 12523 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12524 |glColor4sv[36] |glGetFloatv[36] |glMultiTexCoord1dARB |glRasterPos3sv[36] |glTexSubImage1D | 12525 | | |[36] | |[36] | 12526 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12527 |glColor4ub[36] |glGetHistogram[36] |glMultiTexCoord1dvARB|glRasterPos4d[36] |glTexSubImage2D | 12528 | | |[36] | |[36] | 12529 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12530 |glColor4ubv[36] |glGetHistogramParameterfv |glMultiTexCoord1fARB |glRasterPos4dv[36] |glTexSubImage3D | 12531 | |[36] |[36] | |[36] | 12532 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12533 |glColor4ui[36] |glGetHistogramParameteriv |glMultiTexCoord1fvARB|glRasterPos4f[36] |glTranslated[36] | 12534 | |[36] |[36] | | | 12535 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12536 |glColor4uiv[36] |glGetIntegerv[36] |glMultiTexCoord1iARB |glRasterPos4fv[36] |glTranslatef[36] | 12537 | | |[36] | | | 12538 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12539 |glColor4us[36] |glGetLightfv[36] |glMultiTexCoord1ivARB|glRasterPos4i[36] |glVertex2d[36] | 12540 | | |[36] | | | 12541 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12542 |glColor4usv[36] |glGetLightiv[36] |glMultiTexCoord1sARB |glRasterPos4iv[36] |glVertex2dv[36] | 12543 | | |[36] | | | 12544 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12545 |glColorMask[36] |glGetMapdv[36] |glMultiTexCoord1svARB|glRasterPos4s[36] |glVertex2f[36] | 12546 | | |[36] | | | 12547 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12548 |glColorMaterial[36] |glGetMapfv[36] |glMultiTexCoord2dARB |glRasterPos4sv[36] |glVertex2fv[36] | 12549 | | |[36] | | | 12550 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12551 |glColorPointer[36] |glGetMapiv[36] |glMultiTexCoord2dvARB|glReadBuffer[36] |glVertex2i[36] | 12552 | | |[36] | | | 12553 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12554 |glColorSubTable[36] |glGetMaterialfv[36] |glMultiTexCoord2fARB |glReadPixels[36] |glVertex2iv[36] | 12555 | | |[36] | | | 12556 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12557 |glColorTable[36] |glGetMaterialiv[36] |glMultiTexCoord2fvARB|glRectd[36] |glVertex2s[36] | 12558 | | |[36] | | | 12559 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12560 |glColorTableParameterfv |glGetMinmax[36] |glMultiTexCoord2iARB |glRectdv[36] |glVertex2sv[36] | 12561 |[36] | |[36] | | | 12562 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12563 |glColorTableParameteriv |glGetMinmaxParameterfv[36] |glMultiTexCoord2ivARB|glRectf[36] |glVertex3d[36] | 12564 |[36] | |[36] | | | 12565 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12566 |glConvolutionFilter1D[36]|glGetMinmaxParameteriv[36] |glMultiTexCoord2sARB |glRectfv[36] |glVertex3dv[36] | 12567 | | |[36] | | | 12568 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12569 |glConvolutionFilter2D[36]|glGetPixelMapfv[36] |glMultiTexCoord2svARB|glRecti[36] |glVertex3f[36] | 12570 | | |[36] | | | 12571 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12572 |glConvolutionParameterf |glGetPixelMapuiv[36] |glMultiTexCoord3dARB |glRectiv[36] |glVertex3fv[36] | 12573 |[36] | |[36] | | | 12574 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12575 |glConvolutionParameterfv |glGetPixelMapusv[36] |glMultiTexCoord3dvARB|glRects[36] |glVertex3i[36] | 12576 |[36] | |[36] | | | 12577 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12578 |glConvolutionParameteri |glGetPointerv[36] |glMultiTexCoord3fARB |glRectsv[36] |glVertex3iv[36] | 12579 |[36] | |[36] | | | 12580 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12581 |glConvolutionParameteriv |glGetPolygonStipple[36] |glMultiTexCoord3fvARB|glRenderMode[36] |glVertex3s[36] | 12582 |[36] | |[36] | | | 12583 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12584 |glCopyColorSubTable[36] |glGetSeparableFilter[36] |glMultiTexCoord3iARB |glResetHistogram[36] |glVertex3sv[36] | 12585 | | |[36] | | | 12586 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12587 |glCopyColorTable[36] |glGetString[36] |glMultiTexCoord3ivARB|glResetMinmax[36] |glVertex4d[36] | 12588 | | |[36] | | | 12589 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12590 |glCopyConvolutionFilter1D|glGetTexEnvfv[36] |glMultiTexCoord3sARB |glRotated[36] |glVertex4dv[36] | 12591 |[36] | |[36] | | | 12592 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12593 |glCopyConvolutionFilter2D|glGetTexEnviv[36] |glMultiTexCoord3svARB|glRotatef[36] |glVertex4f[36] | 12594 |[36] | |[36] | | | 12595 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12596 |glCopyPixels[36] |glGetTexGendv[36] |glMultiTexCoord4dARB |glScaled[36] |glVertex4fv[36] | 12597 | | |[36] | | | 12598 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12599 |glCopyTexImage1D[36] |glGetTexGenfv[36] |glMultiTexCoord4dvARB|glScalef[36] |glVertex4i[36] | 12600 | | |[36] | | | 12601 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12602 |glCopyTexImage2D[36] |glGetTexGeniv[36] |glMultiTexCoord4fARB |glScissor[36] |glVertex4iv[36] | 12603 | | |[36] | | | 12604 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12605 |glCopyTexSubImage1D[36] |glGetTexImage[36] |glMultiTexCoord4fvARB|glSelectBuffer[36] |glVertex4s[36] | 12606 | | |[36] | | | 12607 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12608 |glCopyTexSubImage2D[36] |glGetTexLevelParameterfv |glMultiTexCoord4iARB |glSeparableFilter2D |glVertex4sv[36] | 12609 | |[36] |[36] |[36] | | 12610 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12611 |glCopyTexSubImage3D[36] |glGetTexLevelParameteriv |glMultiTexCoord4ivARB|glShadeModel[36] |glVertexPointer | 12612 | |[36] |[36] | |[36] | 12613 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12614 |glCullFace[36] |glGetTexParameterfv[36] |glMultiTexCoord4sARB |glStencilFunc[36] |glViewport[36] | 12615 | | |[36] | | | 12616 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12617 |glDeleteLists[36] |glGetTexParameteriv[36] |glMultiTexCoord4svARB|glStencilMask[36] |glXChooseFBConfig| 12618 | | |[36] | |[36] | 12619 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12620 |glDeleteTextures[36] |glHint[36] |glNewList[36] |glStencilOp[36] | | 12621 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12622 |glDepthFunc[36] |glHistogram[36] |glNormal3b[36] |glTexCoord1d[36] | | 12623 |-------------------------+---------------------------+---------------------+---------------------+-----------------| 12624 |glDepthMask[36] |glIndexMask[36] |glNormal3bv[36] |glTexCoord1dv[36] | | 12625 +-------------------------------------------------------------------------------------------------------------------+ 12626 ------------------------------------------------------------------------------- 12627 12628 Data Definitions for libGL 12629 12630 ------------------------------------------------------------------------------- 12631 12632 GL/gl.h 12633 12634 12635 12636 12637 12638 12639 typedef unsigned int GLenum; 12640 typedef unsigned char GLboolean; 12641 typedef unsigned int GLbitfield; 12642 typedef void GLvoid; 12643 typedef char GLbyte; 12644 typedef short GLshort; 12645 typedef int GLint; 12646 typedef unsigned char GLubyte; 12647 typedef unsigned short GLushort; 12648 typedef unsigned int GLuint; 12649 typedef int GLsizei; 12650 typedef float GLfloat; 12651 typedef float GLclampf; 12652 typedef double GLdouble; 12653 typedef double GLclampd; 12654 12655 12656 12657 #define GL_UNSIGNED_BYTE 0x1401 12658 #define GL_SHORT 0x1402 12659 #define GL_UNSIGNED_SHORT 0x1403 12660 #define GL_INT 0x1404 12661 #define GL_UNSIGNED_INT 0x1405 12662 #define GL_FLOAT 0x1406 12663 #define GL_2_BYTES 0x1407 12664 #define GL_3_BYTES 0x1408 12665 #define GL_4_BYTES 0x1409 12666 #define GL_DOUBLE 0x140A 12667 12668 12669 12670 #define GL_POINTS 0x0000 12671 #define GL_LINES 0x0001 12672 #define GL_LINE_LOOP 0x0002 12673 #define GL_LINE_STRIP 0x0003 12674 #define GL_TRIANGLES 0x0004 12675 #define GL_TRIANGLE_STRIP 0x0005 12676 #define GL_TRIANGLE_FAN 0x0006 12677 #define GL_QUADS 0x0007 12678 #define GL_QUAD_STRIP 0x0008 12679 #define GL_POLYGON 0x0009 12680 12681 12682 12683 #define GL_V2F 0x2A20 12684 #define GL_V3F 0x2A21 12685 #define GL_C4UB_V2F 0x2A22 12686 #define GL_C4UB_V3F 0x2A23 12687 #define GL_C3F_V3F 0x2A24 12688 #define GL_N3F_V3F 0x2A25 12689 #define GL_C4F_N3F_V3F 0x2A26 12690 #define GL_T2F_V3F 0x2A27 12691 #define GL_T4F_V4F 0x2A28 12692 #define GL_T2F_C4UB_V3F 0x2A29 12693 #define GL_T2F_C3F_V3F 0x2A2A 12694 #define GL_T2F_N3F_V3F 0x2A2B 12695 #define GL_T2F_C4F_N3F_V3F 0x2A2C 12696 #define GL_T4F_C4F_N3F_V4F 0x2A2D 12697 #define GL_VERTEX_ARRAY 0x8074 12698 #define GL_NORMAL_ARRAY 0x8075 12699 #define GL_COLOR_ARRAY 0x8076 12700 #define GL_INDEX_ARRAY 0x8077 12701 #define GL_TEXTURE_COORD_ARRAY 0x8078 12702 #define GL_EDGE_FLAG_ARRAY 0x8079 12703 #define GL_VERTEX_ARRAY_SIZE 0x807A 12704 #define GL_VERTEX_ARRAY_TYPE 0x807B 12705 #define GL_VERTEX_ARRAY_STRIDE 0x807C 12706 #define GL_NORMAL_ARRAY_TYPE 0x807E 12707 #define GL_NORMAL_ARRAY_STRIDE 0x807F 12708 #define GL_COLOR_ARRAY_SIZE 0x8081 12709 #define GL_COLOR_ARRAY_TYPE 0x8082 12710 #define GL_COLOR_ARRAY_STRIDE 0x8083 12711 #define GL_INDEX_ARRAY_TYPE 0x8085 12712 #define GL_INDEX_ARRAY_STRIDE 0x8086 12713 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 12714 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 12715 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A 12716 #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C 12717 #define GL_VERTEX_ARRAY_POINTER 0x808E 12718 #define GL_NORMAL_ARRAY_POINTER 0x808F 12719 #define GL_COLOR_ARRAY_POINTER 0x8090 12720 #define GL_INDEX_ARRAY_POINTER 0x8091 12721 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 12722 12723 12724 12725 #define GL_MATRIX_MODE 0x0BA0 12726 #define GL_MODELVIEW 0x1700 12727 #define GL_PROJECTION 0x1701 12728 #define GL_TEXTURE 0x1702 12729 ------------------------------------------------------------------------------- 12730 12731 GL/glx.h 12732 12733 12734 12735 typedef struct __GLXcontextRec *GLXContext; 12736 typedef struct __GLXFBConfigRec *GLXFBConfig; 12737 typedef XID GLXContextID; 12738 typedef XID GLXPixmap; 12739 typedef XID GLXDrawable; 12740 typedef XID GLXPbuffer; 12741 typedef XID GLXWindow; 12742 12743 VII. Package Format and Installation 12744 12745 Table of Contents 12746 14. Software Installation 12747 12748 ------------------------------------------------------------------------------- 12749 12750 Chapter 14. Software Installation 12751 12752 ------------------------------------------------------------------------------- 12753 12754 Package Format 12755 12756 Applications should be provided in the RPM packaging format as defined in the 12757 appendix of the 1997 edition of Maximum RPM, with some restrictions listed 12758 below. [37] 12759 12760 Distributions must provide a mechanism for installing applications in this 12761 packaging format with some restrictions listed below. [38] 12762 12763 ------------------------------------------------------------------------------- 12764 12765 Package Script Restrictions 12766 12767 Scripts used as part of the package install and uninstall may only use commands 12768 and interfaces that are specified by the LSB. All other commands are not 12769 guaranteed to be present, or to behave in expected ways. 12770 12771 Packages may not use RPM triggers. 12772 12773 Packages may not depend on the order in which scripts are executed 12774 (pre-install, pre-uninstall, &c), when doing an upgrade. 12775 12776 ------------------------------------------------------------------------------- 12777 12778 Package Tools 12779 12780 The LSB does not specify the interface to the tools used to manipulate 12781 LSB-conformant packages. Each conforming distribution will provide 12782 documentation for installing LSB packages. 12783 12784 ------------------------------------------------------------------------------- 12785 12786 Package Naming 12787 12788 Because there is no consistent packaging naming among the various Linux 12789 distributions, it is necessary for LSB-conformant packages to adhere the 12790 following naming rules to avoid conflicts with packages provided by the 12791 distributions. 12792 12793 * All LSB package names must begin with the prefix "lsb-" to avoid 12794 conflicting with existing packages used by Linux distributions. 12795 12796 * If the package name contains only one hyphen (including the one in the 12797 "lsb-" prefix) then the package name must be assigned by the Linux Assigned 12798 Names and Numbers Authority (LANANA), which shall maintain a registry of 12799 LSB names. 12800 12801 * If the package name contains more than one hyphen (i.e., 12802 "lsb-www.redhat.com-redhat-database", "lsb-gnome-gnumeric"), then the 12803 portion of the package name between first and second hyphens must either be 12804 an LSB provider name assigned by the LANANA, or it may be one of the 12805 owners' fully-qualified domain name in lower case (e.g., "debian.org", 12806 "staroffice.sun.com"). The LSB provider name assigned by LANANA must only 12807 consist of the ASCII characters [a-z0-9]. 12808 12809 ------------------------------------------------------------------------------- 12810 12811 Package Dependencies 12812 12813 Packages must depend on a dependency "lsb". They may not depend on other 12814 system-provided dependencies. They must not depend on non-system-provided 12815 dependencies unless the dependencies are fulfilled by packages which are part 12816 of the same application. If a package includes "Provides" it must only provide 12817 a virtual package name which is registered to that application. 12818 12819 ------------------------------------------------------------------------------- 12820 12821 Package Architecture Considerations 12822 12823 Additional specifications or restrictions may be found in the architecture 12824 specific LSB specification. 12825 12826 VIII. Commands and Utilities 12827 12828 Table of Contents 12829 15. Command and Utilities 12830 12831 ------------------------------------------------------------------------------- 12832 12833 Chapter 15. Command and Utilities 12834 12835 Command and Utilities 12836 12837 The following table lists the Commands and Utilities. Unless otherwise 12838 specified the command or utility is described in the Single UNIX Specification 12839 (SUS). When an interface is not defined in the SUS, then the next prevailing 12840 standard is referenced (ie., POSIX, SVID). 12841 12842 The behavior of the interfaces described in this section are specified by the 12843 following standards. 12844 12845 LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4 [39] 12846 Linux Standard Base [40] 12847 CAE Specification, January 1997, Commands and Utilities (XCU), Issue 5 (ISBN: 12848 1-85912-191-8, C604) [41] 12849 12850 Table 15-1. Commands and Utilities 12851 12852 +-----------------------------------------------------------------------------+ 12853 |ar [40] |at [40] |awk [40] |basename [41] |batch [40] | 12854 |---------------+-------------+----------------+-----------------+------------| 12855 |bc [40] |cat [40] |chfn [40] |chgrp [40] |chmod [40] | 12856 |---------------+-------------+----------------+-----------------+------------| 12857 |chown [40] |chsh [40] |cksum [41] |cmp [41] |col [40] | 12858 |---------------+-------------+----------------+-----------------+------------| 12859 |comm [41] |cp [40] |cpio [40] |crontab [40] |csplit [40] | 12860 |---------------+-------------+----------------+-----------------+------------| 12861 |cut [40] |date [40] |dd [40] |df [40] |diff [40] | 12862 |---------------+-------------+----------------+-----------------+------------| 12863 |dirname [41] |dmesg [40] |du [40] |echo [40] |egrep [40] | 12864 |---------------+-------------+----------------+-----------------+------------| 12865 |env [40] |expand [40] |expr [40] |false [41] |fgrep [40] | 12866 |---------------+-------------+----------------+-----------------+------------| 12867 |file [40] |find [40] |fold [41] |fuser [40] |gencat [40] | 12868 |---------------+-------------+----------------+-----------------+------------| 12869 |getconf [41] |grep [40] |groupadd [40] |groupdel [40] |groupmod | 12870 | | | | |[40] | 12871 |---------------+-------------+----------------+-----------------+------------| 12872 |groups [40] |gunzip [40] |gzip [40] |head [40] |hostname | 12873 | | | | |[40] | 12874 |---------------+-------------+----------------+-----------------+------------| 12875 |iconv [40] |id [41] |install [40] |install_initd |ipcrm [40] | 12876 | | | |[40] | | 12877 |---------------+-------------+----------------+-----------------+------------| 12878 |ipcs [40] |join [41] |kill [41] |killall [40] |ln [40] | 12879 |---------------+-------------+----------------+-----------------+------------| 12880 |locale [41] |localedef |logname [41] |lpr [40] |ls [40] | 12881 | |[40] | | | | 12882 |---------------+-------------+----------------+-----------------+------------| 12883 |lsb_release |m4 [40] |make [40] |man [40] |md5sum [40] | 12884 |[40] | | | | | 12885 |---------------+-------------+----------------+-----------------+------------| 12886 |mkdir [40] |mkfifo [41] |mknod [40] |mktemp [40] |more [40] | 12887 |---------------+-------------+----------------+-----------------+------------| 12888 |mount [40] |msgfmt [39] |mv [40] |newgrp [40] |nice [40] | 12889 |---------------+-------------+----------------+-----------------+------------| 12890 |nl [40] |nohup [40] |od [40] |passwd [40] |paste [40] | 12891 |---------------+-------------+----------------+-----------------+------------| 12892 |patch [40] |pathchk [40] |pidof [40] |pr [40] |printf [40] | 12893 |---------------+-------------+----------------+-----------------+------------| 12894 |ps [41] |pwd [40] |remove_initd |renice [40] |rm [40] | 12895 | | |[40] | | | 12896 |---------------+-------------+----------------+-----------------+------------| 12897 |rmdir [40] |rsync [40] |sed [40] |sendmail [40] |sh [41] | 12898 |---------------+-------------+----------------+-----------------+------------| 12899 |shutdown [40] |sleep [40] |sort [40] |split [40] |strip [40] | 12900 |---------------+-------------+----------------+-----------------+------------| 12901 |stty [41] |su [40] |sum [40] |sync [40] |tail [40] | 12902 |---------------+-------------+----------------+-----------------+------------| 12903 |tar [40] |tee [40] |test [40] |time [40] |touch [40] | 12904 |---------------+-------------+----------------+-----------------+------------| 12905 |tr [40] |true [41] |tsort [41] |tty [40] |umount [40] | 12906 |---------------+-------------+----------------+-----------------+------------| 12907 |uname [40] |unexpand [40]|uniq [40] |useradd [40] |userdel [40]| 12908 |---------------+-------------+----------------+-----------------+------------| 12909 |usermod [40] |wc [40] |xargs [40] | | | 12910 +-----------------------------------------------------------------------------+ 12911 ------------------------------------------------------------------------------- 12912 12913 Command Behavior 12914 12915 Table of Contents 12916 ar -- create and maintain library archives 12917 at -- examine or delete jobs for later execution 12918 awk -- pattern scanning and processing language 12919 batch -- execute commands when the system load permits 12920 bc -- An arbitrary precision calculator language 12921 cat -- concatenate and print files 12922 chfn -- change user name and information 12923 chgrp -- change group ownership 12924 chmod -- change file access permissions 12925 chown -- change file owner and group 12926 chsh -- change login shell 12927 col -- filter reverse line feeds from input 12928 cp -- copy files and directories 12929 cpio -- copy file archives in and out 12930 crontab -- maintain crontab files for individual users 12931 csplit -- split a file into sections determined by context lines 12932 cut -- split a file into sections determined by context lines 12933 date -- print or set the system date and time 12934 dd -- convert and copy a file 12935 df -- report filesystem disk space usage 12936 diff -- find differences between two files 12937 dmesg -- print or control the kernel ring buffer 12938 du -- estimate file space usage 12939 echo -- display a line of text 12940 egrep -- search a file with an ERE pattern 12941 env -- run a program in a modified environment 12942 expand -- convert tabs to spaces 12943 expr -- evaluate expressions 12944 fgrep -- search a file with an ERE pattern 12945 file -- determine file type 12946 find -- search for files in a directory hierarchy 12947 fuser -- identify processes using files or sockets 12948 gencat -- generate a formatted message catalogue 12949 grep -- print lines matching a pattern 12950 groupadd -- create a new group 12951 groupdel -- delete a group 12952 groupmod -- modify a group 12953 groups -- display a group 12954 gunzip -- uncompress files 12955 gzip -- compress or expand files 12956 head -- output the first part of files 12957 hostname -- show the system's host name 12958 iconv -- convert file character encoding 12959 install -- copy files and set attributes 12960 install_initd -- install an init.d file 12961 ipcrm -- provide information on ipc facilities 12962 ipcs -- provide information on ipc facilities 12963 killall -- kill processes by name 12964 ln -- make links between files 12965 localedef -- compile locale definition files 12966 lpr -- off line print 12967 ls -- list directory contents 12968 lsb_release -- print distribution specific information 12969 m4 -- macro processor 12970 make -- maintain, update and regenerate groups of programs 12971 man -- display system documentation 12972 md5sum -- generates or checks MD5 message digests 12973 mkdir -- make directories 12974 mknod -- make block or character special files 12975 mktemp -- make temporary file name (unique) 12976 more -- file perusal filter for crt viewing 12977 mount -- mount a file system 12978 mv -- move (rename) files 12979 newgrp -- change group ID 12980 nice -- run a program with modified scheduling priority 12981 nl -- number lines of files 12982 nohup -- runs a command immune to hangups, with output to a non-tty 12983 od -- dump files in octal and other formats 12984 passwd -- change user password 12985 paste -- merge lines of files 12986 patch -- apply a diff file to an original 12987 pathchk -- check whether file names are valid or portable 12988 pidof -- find the process ID of a running program 12989 pr -- split a file into sections determined by context lines 12990 printf -- format and print data 12991 pwd -- print name of current/working directory 12992 remove_initd -- clean up boot script system modifications introduced by 12993 install_initd 12994 renice -- alter priority of running processes 12995 rm -- remove files or directories 12996 rmdir -- remove empty directories 12997 rsync -- faster, flexible replacement for rcp 12998 sed -- stream editor 12999 sendmail -- an electronic mail transport agent 13000 shutdown -- bring the system down 13001 sleep -- delay for a specified amount of time 13002 sort -- sort, merge or sequence check text files 13003 split -- split a file into pieces 13004 strip -- remove unnecessary information from executable files 13005 su -- change user ID or become super-user 13006 sum -- print checksum and block count of a file (deprecated) 13007 sync -- flush filesystem buffers 13008 tail -- output the last part of files 13009 tar -- file archiver 13010 tee -- read from standard input and write to standard output and files 13011 test -- check file types and compare values 13012 time -- run programs and summarize system resource usage 13013 touch -- change file access and modification times 13014 tr -- translate or delete characters 13015 tty -- print the file name of the terminal connected to standard input 13016 umount -- unmount file systems 13017 uname -- return system name 13018 unexpand -- convert spaces to tabs 13019 uniq -- remove duplicate lines from a sorted file 13020 useradd -- create a new user or update default new user information 13021 userdel -- delete a user account and related files 13022 usermod -- modify a user account 13023 wc -- print the number of bytes, words, and lines in files 13024 xargs -- build and execute command lines from standard input 13025 13026 This section contains descriptions for commands and utilities whose specified 13027 behavior in the LSB contradicts or extends the standards referenced. It also 13028 contains commands and utilities only required by the LSB and not specified by 13029 other standards. 13030 13031 ar 13032 13033 Name 13034 13035 ar -- create and maintain library archives 13036 13037 Description 13038 13039 ar is as specified in the SUS but with differences as listed below. 13040 13041 Differences 13042 13043 -T, -C 13044 13045 need not be accepted. 13046 13047 -l 13048 13049 has implementation-dependent behavior. 13050 13051 -q 13052 13053 has implementation-dependent behavior; using -r is suggested. 13054 13055 at 13056 13057 Name 13058 13059 at -- examine or delete jobs for later execution 13060 13061 Description 13062 13063 at is as specified in the SUS but with differences as listed below. 13064 13065 Differences 13066 13067 -d 13068 13069 is functionally equivalent to the -r option specified in the SUS. 13070 13071 -r 13072 13073 need not be supported, but the '-d' option is equivalent. 13074 13075 -t time 13076 13077 need not be supported. 13078 13079 Files 13080 13081 The files at.allow and at.deny reside in /etc rather than /usr/lib/cron. 13082 13083 LSB Deprecated Differences 13084 13085 -c 13086 13087 cats the jobs listed on the command line to standard output. 13088 13089 -V 13090 13091 prints the version number to standard error. 13092 13093 -v 13094 13095 shows the time the job will be executed. 13096 13097 awk 13098 13099 Name 13100 13101 awk -- pattern scanning and processing language 13102 13103 Description 13104 13105 awk is as specified in the SUS with no differences. 13106 13107 LSB Deprecated Differences 13108 13109 gawk and mawk shall be SUS-compliant implementations of the awk language. 13110 However, gawk and mawk are expected to disappear from a future version of the 13111 LSB; LSB applications should invoke awk instead. 13112 13113 batch 13114 13115 Name 13116 13117 batch -- execute commands when the system load permits 13118 13119 Description 13120 13121 The specification for batch is as specified in the SUS but with the following 13122 differences as listed below. 13123 13124 Files 13125 13126 The files at.allow and at.deny reside in /etc rather than /usr/lib/cron. 13127 13128 LSB Deprecated Differences 13129 13130 The behaviors specified in this section are expected to disappear from a future 13131 version of the LSB; applications should only use the non-LSB-deprecated 13132 behaviors. 13133 13134 -f file 13135 13136 reads the job from file rather than standard input. 13137 13138 -m 13139 13140 sends mail to the user when the job has completed even if there was no 13141 output. 13142 13143 -q queue 13144 13145 uses the specified queue. A queue designation consists of a single letter; 13146 valid queue designations range from a to z. and A to Z. The a queue is the 13147 default for at and the b queue for batch. Queues with higher letters run 13148 with increased niceness. The special queue "=" is reserved for jobs which 13149 are currently running. 13150 13151 -V 13152 13153 prints the version number to standard error. 13154 13155 -v 13156 13157 shows the time the job will be executed. 13158 13159 bc 13160 13161 Name 13162 13163 bc -- An arbitrary precision calculator language 13164 13165 Description 13166 13167 bc is as specified in the SUS but with differences as listed below. 13168 13169 Differences 13170 13171 -s, --standard 13172 13173 processes exactly the POSIX bc language. 13174 13175 -w, --warn 13176 13177 gives warnings for extensions to POSIX bc. 13178 13179 LSB Deprecated Differences 13180 13181 The behaviors specified in this section are expected to disappear from a future 13182 version of the LSB; applications should only use the non-LSB-deprecated 13183 behaviors. 13184 13185 -q, --quiet 13186 13187 does not print the normal welcome message. 13188 13189 -v, --version 13190 13191 prints the version number and copyright and quits. 13192 13193 cat 13194 13195 Name 13196 13197 cat -- concatenate and print files 13198 13199 Description 13200 13201 cat is as specified in the SUS but with differences as listed below. 13202 13203 LSB Deprecated Differences 13204 13205 The behaviors specified in this section are expected to disappear from a future 13206 version of the LSB; applications should only use the non-LSB-deprecated 13207 behaviors. 13208 13209 -A, --show-all 13210 13211 is equivalent to -vET. 13212 13213 -b, --number-nonblank 13214 13215 numbers nonblank output lines. 13216 13217 -e 13218 13219 is equivalent to -vE. 13220 13221 -E, --show-ends 13222 13223 displays $ at end of each line. 13224 13225 -n, --number 13226 13227 numbers all output lines. 13228 13229 -s, --squeeze-blank 13230 13231 displays never more than one single blank line. 13232 13233 -t 13234 13235 is equivalent to -vT. 13236 13237 -T, --showtabs 13238 13239 displays TAB characters as ^I. 13240 13241 -u 13242 13243 has implementation-dependent behavior. 13244 13245 -v, --show-nonprinting 13246 13247 uses ^ and M- notation, except for LFD and TAB. 13248 13249 --version 13250 13251 outputs version information and exits. 13252 13253 chfn 13254 13255 Name 13256 13257 chfn -- change user name and information 13258 13259 Synopsis 13260 13261 chfn [-f full_name] [-h home-phone] [user] 13262 13263 Description 13264 13265 chfn changes user fullname and other information for a user's account. This 13266 information is typically printed by finger and similar programs. A normal user 13267 may only change the fields for their own account, the super user may change the 13268 fields for any account. 13269 13270 The only restrictions placed on the contents of the fields is that no control 13271 characters may be present, nor any of comma, colon, or equal sign. 13272 13273 If none of the options are selected, chfn operates in an interactive fashion. 13274 The prompts and expected input in interactive mode are implementation-dependent 13275 and should not be relied upon. 13276 13277 As it is possible for the system to be configured to restrict which fields a 13278 non-privileged user is permitted to change, applications should be written to 13279 gracefully handle these situations. 13280 13281 Standard Options 13282 13283 -f full_name 13284 13285 sets the user's full name. 13286 13287 -h home-phone 13288 13289 sets the user's home phone number. 13290 13291 [42] 13292 13293 chgrp 13294 13295 Name 13296 13297 chgrp -- change group ownership 13298 13299 Synopsis 13300 13301 chgrp [OPTION]... GROUP FILE... 13302 chgrp [OPTION]... --reference=RFILE FILE... 13303 13304 Description 13305 13306 chgrp is as specified in the SUS but with differences as listed below. 13307 13308 LSB Deprecated Differences 13309 13310 The behaviors specified in this section are expected to disappear from a future 13311 version of the LSB; applications should only use the non-LSB-deprecated 13312 behaviors. 13313 13314 -c, --changes 13315 13316 is like verbose, but reports only when a change is made. 13317 13318 --dereference 13319 13320 affects the referent of each symbolic link, rather than the symbolic link 13321 itself. 13322 13323 -h, --no-dereference 13324 13325 affects symbolic links instead of any referenced file. (Available only on 13326 systems that can change the ownership of a symlink.) 13327 13328 -f, --silent, --quiet 13329 13330 suppresses most error messages. 13331 13332 --reference=RFILE 13333 13334 uses RFILE's group rather than the specified GROUP value. 13335 13336 -v, --verbose 13337 13338 outputs a diagnostic for every file processed. 13339 13340 --version 13341 13342 outputs version information and exit. 13343 13344 chmod 13345 13346 Name 13347 13348 chmod -- change file access permissions 13349 13350 Synopsis 13351 13352 chmod [OPTION]... MODE[,MODE]... FILE... 13353 chmod [OPTION]... OCTAL-MODE FILE... 13354 chmod [OPTION]... --reference=RFILE FILE... 13355 13356 Description 13357 13358 chmod is as specified in the SUS but with differences as listed below. 13359 13360 LSB Deprecated Differences 13361 13362 The behaviors specified in this section are expected to disappear from a future 13363 version of the LSB; applications should only use the non-LSB-deprecated 13364 behaviors. 13365 13366 -c, --changes 13367 13368 is like verbose, but reports only when a change is made. 13369 13370 -f, --silent, --quiet 13371 13372 suppresses most error messages. 13373 13374 --reference=RFILE 13375 13376 uses RFILE's mode instead of MODE values. 13377 13378 -v, --verbose 13379 13380 outputs a diagnostic for every file processed. 13381 13382 --version 13383 13384 outputs version information and exits. 13385 13386 chown 13387 13388 Name 13389 13390 chown -- change file owner and group 13391 13392 Synopsis 13393 13394 chown [OPTION]... OWNER[:[GROUP]] FILE... 13395 chown [OPTION]... :GROUP FILE... 13396 chown [OPTION]... --reference=RFILE FILE... 13397 13398 Description 13399 13400 chown is as specified in the SUS but with differences as listed below. 13401 13402 Differences 13403 13404 The use of the '.' character as a separator between the specification of the 13405 user name and group name is supported (in addition to the use of the ':' 13406 character as specified in the SUS). 13407 13408 LSB Deprecated Differences 13409 13410 The behaviors specified in this section are expected to disappear from a future 13411 version of the LSB; applications should only use the non-LSB-deprecated 13412 behaviors. 13413 13414 -c, --changes 13415 13416 is like verbose, but reports only when a change is made. 13417 13418 --dereference 13419 13420 affects the referent of each symbolic link, rather than the symbolic link 13421 itself. 13422 13423 -h, --no-dereference 13424 13425 affects symbolic links instead of any referenced file. (Available only on 13426 systems that can change the ownership of a symlink.) 13427 13428 --from=CURRENT_OWNER:CURRENT_GROUP 13429 13430 changes the owner and/or group of each file only if its current owner and/ 13431 or group match those specified here. Either may be omitted, in which case a 13432 match is not required for the omitted attribute. 13433 13434 -f, --silent, --quiet 13435 13436 suppresses most error messages. 13437 13438 --reference=RFILE 13439 13440 uses RFILE's owner and group rather than the specified OWNER:GROUP values. 13441 13442 -v, --verbose 13443 13444 outputs a diagnostic for every file processed. 13445 13446 --version 13447 13448 outputs version information and exits. 13449 13450 chsh 13451 13452 Name 13453 13454 chsh -- change login shell 13455 13456 Synopsis 13457 13458 chsh [-s login_shell] [user] 13459 13460 Description 13461 13462 chsh changes the user login shell. This determines the name of the user's 13463 initial login command. A normal user may only change the login shell for their 13464 own account, the super user may change the login shell for any account. 13465 13466 The only restrictions placed on the login shell is that the command name must 13467 be listed in /etc/shells, unless the invoker is the super-user, and then any 13468 value may be added. Accounts which are restricted (in an implementation-defined 13469 manner) may not change their login shell. 13470 13471 If the -s option is not selected, chsh operates in an interactive mode. The 13472 prompts and expected input in this mode are implementation-defined. 13473 13474 Standard Options 13475 13476 -s login_shell 13477 13478 sets the login shell. 13479 13480 col 13481 13482 Name 13483 13484 col -- filter reverse line feeds from input 13485 13486 Description 13487 13488 col is as specified in the SUSv2 with the difference that the -p option has 13489 implementation-dependent behavior. 13490 13491 Although col is shown as legacy in the SUSv2, it is not (yet) deprecated in the 13492 LSB. 13493 13494 cp 13495 13496 Name 13497 13498 cp -- copy files and directories 13499 13500 Synopsis 13501 13502 Description 13503 13504 cp is as specified in the SUS but with differences as listed below. 13505 13506 LSB Deprecated Differences 13507 13508 The behaviors specified in this section are expected to disappear from a future 13509 version of the LSB; applications should only use the non-LSB-deprecated 13510 behaviors. 13511 13512 -a archive 13513 13514 is the same as -dpR. 13515 13516 --backup[=CONTROL] 13517 13518 makes a backup of each existing destination file. 13519 13520 -b 13521 13522 is like --backup but does not accept an argument. 13523 13524 -d, --no-dereference 13525 13526 never follows symbolic links. 13527 13528 -H 13529 13530 follows command-line symbolic links. 13531 13532 -l, --link 13533 13534 links files instead of copying. 13535 13536 -L, --dereference 13537 13538 always follows symbolic links. 13539 13540 --parents 13541 13542 appends source path to DIRECTORY. 13543 13544 --remove-destination 13545 13546 removes each existing destination file before attempting to open it. 13547 (Contrast with --force.) 13548 13549 --sparse=WHEN 13550 13551 controls creation of sparse files. 13552 13553 By default, sparse SOURCE files are detected by a crude heuristic and the 13554 corresponding DEST file is made sparse as well. That is the behavior 13555 selected by --sparse=auto. Specify --sparse=always to create a sparse DEST 13556 file whenever the SOURCE file contains a long enough sequence of zero 13557 bytes. Use --sparse=never to inhibit creation of sparse files. 13558 13559 --strip-trailing-slashes 13560 13561 removes any trailing slashes from each SOURCE argument. 13562 13563 -s, --symbolic-link 13564 13565 makes symbolic links instead of copying. 13566 13567 -S, --suffix=SUFFIX 13568 13569 overrides the usual backup suffix. 13570 13571 --target-directory=DIRECTORY 13572 13573 moves all SOURCE arguments into DIRECTORY. 13574 13575 -u, --update 13576 13577 copies only when the SOURCE file is newer than the destination file or when 13578 the destination file is missing. 13579 13580 -v, --verbose 13581 13582 explains what is being done. 13583 13584 -x, --one-file-system 13585 13586 stays on this file system. 13587 13588 --version 13589 13590 outputs version information and exits. 13591 13592 cpio 13593 13594 Name 13595 13596 cpio -- copy file archives in and out 13597 13598 Description 13599 13600 cpio is as specified in the SUS. While additional features may be found in 13601 Linux versions of this command, the SUS-specified interface is correctly and 13602 completely implemented. 13603 13604 crontab 13605 13606 Name 13607 13608 crontab -- maintain crontab files for individual users 13609 13610 Synopsis 13611 13612 crontab [ -u user ] file 13613 crontab [ -u user ] { -l | -r | -e } 13614 13615 Description 13616 13617 crontab is as specified in the SUS but with differences as listed below. 13618 13619 Files 13620 13621 The files cron.allow and cron.deny reside in /etc rather than /usr/lib/cron. 13622 13623 LSB Deprecated Differences 13624 13625 The behaviors specified in this section are expected to disappear from a future 13626 version of the LSB; applications should only use the non-LSB-deprecated 13627 behaviors. 13628 13629 -u user 13630 13631 specifies the name of the user whose crontab is to be used, rather than the 13632 user who is running crontab. 13633 13634 csplit 13635 13636 Name 13637 13638 csplit -- split a file into sections determined by context lines 13639 13640 Description 13641 13642 csplit is as specified in the SUS but with differences as listed below. 13643 13644 LSB Deprecated Differences 13645 13646 The behaviors specified in this section are expected to disappear from a future 13647 version of the LSB; applications should only use the non-LSB-deprecated 13648 behaviors. 13649 13650 -b, --sufix-format=FORMAT 13651 13652 uses sprintf FORMAT instead of %d. 13653 13654 --quiet, --silent 13655 13656 are equivalent to the -s option as specified in the SUS. 13657 13658 -z, --elide-empty-files 13659 13660 removes empty output files. 13661 13662 --version 13663 13664 outputs version information and exit. 13665 13666 cut 13667 13668 Name 13669 13670 cut -- split a file into sections determined by context lines 13671 13672 Description 13673 13674 cut is as specified in the SUS but with differences as listed below. 13675 13676 Differences 13677 13678 -n 13679 13680 has implementation-dependent behavior. 13681 13682 LSB Deprecated Differences 13683 13684 The behaviors specified in this section are expected to disappear from a future 13685 version of the LSB; applications should only use the non-LSB-deprecated 13686 behaviors. 13687 13688 --version 13689 13690 outputs version information and exits. 13691 13692 date 13693 13694 Name 13695 13696 date -- print or set the system date and time 13697 13698 Description 13699 13700 date is as specified in the SUS but with differences as listed below. 13701 13702 LSB Deprecated Differences 13703 13704 The behaviors specified in this section are expected to disappear from a future 13705 version of the LSB; applications should only use the non-LSB-deprecated 13706 behaviors. 13707 13708 -d, --date=STRING 13709 13710 displays time described by STRING, not now. 13711 13712 -f, --file=DATAFILE 13713 13714 is like --date once for each line of DATEFILE. 13715 13716 -r, --reference=FILE 13717 13718 displays the last modification time of FILE. 13719 13720 -R, --rfc-822 13721 13722 outputs RFC2822-compliant date string. 13723 13724 -s, --set=STRING 13725 13726 sets time described by STRING. 13727 13728 --utc, --universal 13729 13730 is equivalent to the -u option as specified in the SUS. 13731 13732 --version 13733 13734 outputs version information and exits. 13735 13736 dd 13737 13738 Name 13739 13740 dd -- convert and copy a file 13741 13742 Description 13743 13744 dd is as specified in the SUS but with differences as listed below. 13745 13746 Differences 13747 13748 SWAB 13749 13750 is a keyword to the CONV= option causing alternate bytes to be swapped. The 13751 treatment of the odd character is implementation-dependent. 13752 13753 df 13754 13755 Name 13756 13757 df -- report filesystem disk space usage 13758 13759 Description 13760 13761 df is as specified in the SUS but with the following differences. 13762 13763 If the -k option is not specified, disk space is shown in unspecified units. 13764 Applications should specify -k. 13765 13766 If an argument is the absolute file name of a disk device node containing a 13767 mounted filesystem, df shows the space available on that filesystem rather than 13768 on the filesystem containing the device node (which is always the root 13769 filesystem). 13770 13771 LSB Deprecated Differences 13772 13773 The behaviors specified in this section are expected to disappear from a future 13774 version of the LSB; applications should only use the non-LSB-deprecated 13775 behaviors. 13776 13777 -a, --all 13778 13779 includes filesystems having 0 blocks. 13780 13781 --block-size=SIZE 13782 13783 uses SIZE-byte blocks. 13784 13785 -h, --human-readable 13786 13787 prints sizes in human-readable format (e.g., 1K, 234M, 2G). 13788 13789 -H, --si 13790 13791 prints sizes in human-readable format, but uses powers of 1000 (not 1024). 13792 13793 -i, --inodes 13794 13795 lists inode information instead of block usage. 13796 13797 -l, --local 13798 13799 limits listing to local filesystems. 13800 13801 -m, --megabytes 13802 13803 is like --block-size=1048576 13804 13805 --no-sync 13806 13807 does not invoke sync before getting usage info. (default) 13808 13809 -P, --portability 13810 13811 uses the POSIX output format. 13812 13813 --sync 13814 13815 invokes sync before getting usage info. 13816 13817 -t, --type=TYPE 13818 13819 has implementation-dependent behavior. 13820 13821 --portability 13822 13823 is same as -P as specified in the SUS. 13824 13825 --sync 13826 13827 invokes sync before getting usage info. 13828 13829 -t, --type=TYPE 13830 13831 limits listing to filesystems of type TYPE. (Different from behavior as 13832 specified in the SUS.) 13833 13834 -T, --print-type 13835 13836 prints filesystem type. 13837 13838 -x, --exclude-type=TYPE 13839 13840 limits listing to filesystems not of type TYPE. 13841 13842 diff 13843 13844 Name 13845 13846 diff -- find differences between two files 13847 13848 Description 13849 13850 diff is as specified in the SUS but with differences as listed below. 13851 13852 LSB Deprecated Differences 13853 13854 The behaviors specified in this section are expected to disappear from a future 13855 version of the LSB; applications should only use the non-LSB-deprecated 13856 behaviors. 13857 13858 -a 13859 13860 treats all files as text and compares them line-by-line, even if they do 13861 not seem to be text. 13862 13863 -B 13864 13865 ignores changes that just insert or delete blank lines. 13866 13867 --brief 13868 13869 reports only whether the files differ, not the details of the differences. 13870 13871 --context[=lines] 13872 13873 is equivalent to -C as specified in the SUS. 13874 13875 -d 13876 13877 changes the algorithm to perhaps find a smaller set of changes; this makes 13878 diff slower (sometimes much slower). 13879 13880 -D name 13881 13882 makes merged if-then-else format output conditional on the preprocessor 13883 macro name. 13884 13885 --ed 13886 13887 is equivalent to -e as specified in the SUS. 13888 13889 --exclude=pattern 13890 13891 when comparing directories, ignores files and subdirectories whose 13892 basenames match pattern. 13893 13894 --exclude-from=file 13895 13896 when comparing directories, ignores files and subdirectories whose 13897 basenames match any pattern contained in file. 13898 13899 --expand-tabs 13900 13901 expands tabs to spaces in the output to preserve the alignment of tabs in 13902 the input files. 13903 13904 -F regexp 13905 13906 in context and unified format, shows some of the last preceding line that 13907 matches regexp for each hunk of differences. 13908 13909 --forward-ed 13910 13911 makes output that looks vaguely like an ed script, but has changes in the 13912 order they appear in the file. 13913 13914 -H 13915 13916 uses heuristics to speed handling of large files that have numerous 13917 scattered small changes. 13918 13919 --horizon-lines=lines 13920 13921 does not discard the last lines lines of the common prefix and the first 13922 lines lines of the common suffix. 13923 13924 -i 13925 13926 ignores changes in case; considers upper and lower case letters equivalent. 13927 13928 -I regexp 13929 13930 ignores changes that just insert or delete lines that match regexp. 13931 13932 --ifdef=name 13933 13934 makes merged if-then-else format output conditional on the preprocessor 13935 macro name. 13936 13937 --ignore-all-space 13938 13939 ignores white space when comparing lines. 13940 13941 --ignore-case 13942 13943 ignores changes in case; considers upper and lower case to be the same. 13944 13945 --ignore-matching-lines=regexp 13946 13947 ignores changes that just insert or delete lines that match regexp. 13948 13949 --ignore-space-change 13950 13951 ignores changes in amount of white space. 13952 13953 --initial-tab 13954 13955 outputs a tab rather than a space before the text of a line in normal or 13956 context format. This causes the alignment of tabs in the line to look 13957 normal. 13958 13959 -l 13960 13961 passes the output through pr to paginate it. 13962 13963 --ignore-case 13964 13965 ignores changes in case; considers upper and lower case to be the same. 13966 13967 dmesg 13968 13969 Name 13970 13971 dmesg -- print or control the kernel ring buffer 13972 13973 Synopsis 13974 13975 dmesg [ -c ] [ -n level ] [ -s bufsize ] 13976 13977 Description 13978 13979 dmesg examines or controls the kernel ring buffer. 13980 13981 Standard Options 13982 13983 -c 13984 13985 clears the ring buffer contents after printing. 13986 13987 -n level 13988 13989 sets the level at which logging of messages is done to the console. 13990 13991 -s bufsize 13992 13993 uses a buffer of bufsize to query the kernel ring buffer. This is 8196 by 13994 default (this matches the default kernel syslog buffer size in 2.0.33 and 13995 2.1.103). If you have set the kernel buffer to larger than the default then 13996 this option can be used to view the entire buffer. 13997 13998 du 13999 14000 Name 14001 14002 du -- estimate file space usage 14003 14004 Description 14005 14006 du is as specified in the SUS but with differences as listed below. 14007 14008 Differences 14009 14010 If the -k option is not specified, disk space is shown in unspecified units. 14011 Applications should specify -k. 14012 14013 LSB Deprecated Differences 14014 14015 The behaviors specified in this section are expected to disappear from a future 14016 version of the LSB; applications should only use the non-LSB-deprecated 14017 behaviors. 14018 14019 --block-size=SIZE 14020 14021 uses SIZE-byte blocks. 14022 14023 -b, --bytes 14024 14025 prints size in bytes. 14026 14027 -c, --total 14028 14029 produces a grand total. 14030 14031 -D, --dereference-args 14032 14033 dereferences PATHs when symbolic link. 14034 14035 -h, --human-readable 14036 14037 prints sizes in human-readable format (e.g., 1K, 234M, 2G). 14038 14039 --kilobytes 14040 14041 is equivalent to --block-size=1024. 14042 14043 --l, --count-links 14044 14045 counts sizes many times if hard-linked. 14046 14047 -L, --dereference 14048 14049 dereferences all symbolic links. 14050 14051 -m, --megabytes 14052 14053 is equivalent to --block-size=1048576. 14054 14055 -r 14056 14057 has implementation-dependent behavior. 14058 14059 -S, --separate-dirs 14060 14061 does not include size of subdirectories. 14062 14063 -X FILE, --exclude-from=FILE 14064 14065 excludes files that match any pattern in FILE. 14066 14067 --exclude=PAT 14068 14069 excludes files that match PAT. 14070 14071 --max-depth=N 14072 14073 prints the total for a directory (or file, with --all) only if it is N or 14074 fewer levels below the command line argument; --max-depth=0 is the same as 14075 --summarize. 14076 14077 --version 14078 14079 outputs version information and exits. 14080 14081 echo 14082 14083 Name 14084 14085 echo -- display a line of text 14086 14087 Synopsis 14088 14089 echo [STRING]... 14090 14091 Description 14092 14093 Unlike the behavior specified in the SUS, whether echo supports options is 14094 implementation defined. Applications should not run echo with a first argument 14095 starting with a hyphen, or with any arguments containing backslashes; they 14096 should use printf in those cases. 14097 14098 egrep 14099 14100 Name 14101 14102 egrep -- search a file with an ERE pattern 14103 14104 Description 14105 14106 egrep is equivalent to grep -E. For further details, see the specification for 14107 grep. 14108 14109 env 14110 14111 Name 14112 14113 env -- run a program in a modified environment 14114 14115 Description 14116 14117 env is as specified in the SUS but with differences as listed below. 14118 14119 LSB Deprecated Differences 14120 14121 The behaviors specified in this section are expected to disappear from a future 14122 version of the LSB; applications should only use the non-LSB-deprecated 14123 behaviors. 14124 14125 --ignore-environment 14126 14127 is equivalent to -i. 14128 14129 -u, --unset=NAME 14130 14131 removes variable from the environment. 14132 14133 expand 14134 14135 Name 14136 14137 expand -- convert tabs to spaces 14138 14139 Description 14140 14141 expand is as specified in the SUS but with differences as listed below. 14142 14143 LSB Deprecated Differences 14144 14145 The behaviors specified in this section are expected to disappear from a future 14146 version of the LSB; applications should only use the non-LSB-deprecated 14147 behaviors. 14148 14149 -i, --initial 14150 14151 does not convert TABs after non-whitespace. 14152 14153 -t, --tabs=NUMBER 14154 14155 supplements behavior as specified in the SUS by allowing argument to 14156 specify the number of characters-apart tabs are (instead of 8). 14157 14158 expr 14159 14160 Name 14161 14162 expr -- evaluate expressions 14163 14164 Description 14165 14166 expr is as specified in the SUS but supports extra operands as listed below. 14167 14168 LSB Deprecated Differences 14169 14170 The behaviors specified in this section are expected to disappear from a future 14171 version of the LSB; applications should only use the non-LSB-deprecated 14172 behaviors. 14173 14174 The following are extra operands: 14175 14176 match STRING REGEXP 14177 14178 is same as STRING : REGEXP. 14179 14180 substr STRING POS LENGTH 14181 14182 is substring of STRING, POS counted from 1. 14183 14184 index STRING CHARS 14185 14186 is index in STRING where any CHARS is found, or 0. 14187 14188 length STRING 14189 14190 is length of STRING. 14191 14192 quote STRING 14193 14194 interprets TOKEN as a string, even if it is a keyword like match or an 14195 operator like /. 14196 14197 fgrep 14198 14199 Name 14200 14201 fgrep -- search a file with an ERE pattern 14202 14203 Description 14204 14205 fgrep is equivalent to grep -F. For further details, see the specification for 14206 grep. 14207 14208 file 14209 14210 Name 14211 14212 file -- determine file type 14213 14214 Description 14215 14216 file is as specified in the SUS but with additional options as specified below. 14217 14218 LSB Deprecated Differences 14219 14220 The behaviors specified in this section are expected to disappear from a future 14221 version of the LSB; applications should only use the non-LSB-deprecated 14222 behaviors. 14223 14224 -b, --brief 14225 14226 does not prepend filenames to output lines. 14227 14228 -c, --checking-printout 14229 14230 causes a checking printout of the parsed form of the magic file. This is 14231 usually used in conjunction with -m to debug a new magic file before 14232 installing it. 14233 14234 -f, --files-from namefile 14235 14236 reads the names of the files to be examined from namefile (one per line) 14237 before the argument list. Either namefile or at least one filename argument 14238 must be present; to test the standard input, use `-' as a filename 14239 argument. 14240 14241 -i, --mime 14242 14243 causes the file command to output mime type strings rather than the more 14244 traditional human-readable ones. Thus, it may say `text/plain; charset= 14245 us-ascii' rather than `ASCII text'. In order for this option to work, file 14246 changes the way it handles files recognized by the command itself (such as 14247 many of the text file types, directories, etc.), and makes use of an 14248 alternative `magic' file. 14249 14250 -k, --keep-going 14251 14252 does not stop at the first match, keeps going. 14253 14254 -m, --magic-file list 14255 14256 specifies an alternate list of files containing magic numbers. This can be 14257 a single file, or a colon-separated list of files. 14258 14259 -n, --no-buffer 14260 14261 forces stdout to be flushed after checking each file. This is only useful 14262 if checking a list of files. It is intended to be used by programs that 14263 want filetype output from a pipe. 14264 14265 -z, --uncompress 14266 14267 tries to look inside compressed files. 14268 14269 -L, --dereference 14270 14271 causes symlinks to be followed. 14272 14273 -s, --special-files 14274 14275 causes block or character special files (that are potentially problematic 14276 when processed by file) to be read in addition to the argument files 14277 ordinarily identified by stat(2). This is useful for determining the 14278 filesystem types of the data in raw disk partitions, which are block 14279 special files. This option also causes file to disregard the file size as 14280 reported by stat(2) since on some systems it reports a zero size for raw 14281 disk partitions. 14282 14283 find 14284 14285 Name 14286 14287 find -- search for files in a directory hierarchy 14288 14289 Description 14290 14291 find is as specified in the SUS but with additional options as specified below. 14292 14293 LSB Deprecated Differences 14294 14295 The behaviors specified in this section are expected to disappear from a future 14296 version of the LSB; applications should only use the non-LSB-deprecated 14297 behaviors. 14298 14299 -daystart 14300 14301 measures times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from 14302 the beginning of today rather than from 24 hours ago. 14303 14304 -follow 14305 14306 dereferences symbolic links. Implies -noleaf. 14307 14308 -maxdepth levels 14309 14310 descends at most levels (a non-negative integer) levels of directories 14311 below the command line arguments. -maxdepth 0 means only apply the tests 14312 and actions to the command line arguments. 14313 14314 -mindepth levels 14315 14316 applies no tests or actions at levels less than levels (a non-negative 14317 integer). -mindepth 1 means process all files except the command line 14318 arguments. 14319 14320 -mount 14321 14322 is equivalent to -xdev as specified in the SUS. 14323 14324 -noleaf 14325 14326 does not optimize by assuming that directories contain 2 fewer 14327 subdirectories than their hard link count. 14328 14329 -version 14330 14331 prints the find version number and exits. 14332 14333 -amin n 14334 14335 displays files last accessed n minutes ago. 14336 14337 -anewer file 14338 14339 displays files last accessed more recently than file was modified. -anewer 14340 is affected by -follow only if -follow comes before -anewer on the command 14341 line. 14342 14343 -cmin n 14344 14345 displays files with status last changed n minutes ago. 14346 14347 -cnewer file 14348 14349 displays files with status last changed more recently than file was 14350 modified. -cnewer is affected by -follow only if -follow comes before 14351 -cnewer on the command line. 14352 14353 -empty 14354 14355 displays files that are empty and are either regular or directory files. 14356 14357 -false 14358 14359 is always false. 14360 14361 -fstype type 14362 14363 displays files on a filesystem of type type. 14364 14365 -gid n 14366 14367 displays files with numeric group ID of n. 14368 14369 -ilname pattern 14370 14371 is like -lname, but the match is case-insensitive. 14372 14373 -iname pattern 14374 14375 is like -name, but the match is case-insensitive. 14376 14377 -inum n 14378 14379 displays files with inode number of n. 14380 14381 -ipath path 14382 14383 is like -path, but the match is case-insensitive. 14384 14385 -iregex pattern 14386 14387 is like -regex, but the match is case-insensitive. 14388 14389 -lname 14390 14391 displays files that are symbolic links whose contents match shell pattern 14392 pattern. The metacharacters do not treat / or . specially. 14393 14394 -mmin n 14395 14396 displays files with data last modified n minutes ago. 14397 14398 -nouser 14399 14400 displays files with numeric user ID corresponding to no user. 14401 14402 -nogroup 14403 14404 displays files with numeric group ID corresponding to no group. 14405 14406 -path pattern 14407 14408 displays files with name matching shell pattern pattern. 14409 14410 -perm +mode 14411 14412 displays files with any of the permission bits mode set. 14413 14414 -regex 14415 14416 displays files with names matching regular expression pattern. This is a 14417 match on the whole path, not a search. 14418 14419 -true 14420 14421 is always true. 14422 14423 -type c 14424 14425 supplements types as specified in the SUS with the letters l and s 14426 (symbolic links and sockets, respectively). 14427 14428 -uid n 14429 14430 displays files with numeric user ID of n. 14431 14432 -used 14433 14434 displays files last accessed n days after status was last changed. 14435 14436 -xtype c 14437 14438 is equivalent to -type unless the file is a symbolic link. For symbolic 14439 links: if -follow has not been given, true if the file is a link to a file 14440 of type c; if -follow has been given, true if c is l. In other words, for 14441 symbolic links, -xtype checks the type of the file that -type does not 14442 check. 14443 14444 -fls file 14445 14446 is true. Is like -ls but write to file like -fprint. 14447 14448 -fprint file 14449 14450 is true. Prints the full file name into file file. If file does not exist 14451 when find is run, it is created; if it does exist, it is truncated. The 14452 file names `/dev/stdout' and `/dev/stderr' are handled specially; they 14453 refer to the standard output and standard error output, respectively. 14454 14455 -fprint0 file 14456 14457 is true. Is like -print0 but write to file like -fprint. 14458 14459 -fprintf file format 14460 14461 is true. Like -printf but write to file like -fprint. 14462 14463 -print0 14464 14465 is true. Prints the full file name on the standard output, followed by a 14466 null character. This allows file names that contain newlines to be 14467 correctly interpreted by programs that process the find output. 14468 14469 -printf format 14470 14471 is true. Prints format on the standard output, interpreting \ escapes and % 14472 directives. Field widths and precisions can be specified as with the printf 14473 C function. Unlike -print, -printf does not add a newline at the end of the 14474 string. The escapes and directives are: 14475 14476 \a 14477 14478 alarm bell. 14479 14480 \b 14481 14482 backspace. 14483 14484 \c 14485 14486 stops printing from this format immediately and flushes the output. 14487 14488 \f 14489 14490 form feed. 14491 14492 \n 14493 14494 newline. 14495 14496 \r 14497 14498 carriage return. 14499 14500 \t 14501 14502 horizontal tab. 14503 14504 \v 14505 14506 vertical tab. 14507 14508 \\ 14509 14510 literal backslash (\). 14511 14512 %% 14513 14514 literal percent sign. 14515 14516 %a 14517 14518 last file access time in the format returned by the C ctime function. 14519 14520 %Ak 14521 14522 last file access time in the format specified by k, which is either @ 14523 or a directive for the C strftime function. The possible values for k 14524 are listed below; some of them might not be available on all systems, 14525 due to differences in strftime between systems. 14526 14527 @ 14528 14529 seconds since Jan. 1, 1970, 00:00 GMT. 14530 14531 H 14532 14533 hour (00..23). 14534 14535 I 14536 14537 hour (01..12). 14538 14539 k 14540 14541 hour ( 0..23). 14542 14543 l 14544 14545 hour ( 1..12). 14546 14547 M 14548 14549 minute (00..59). 14550 14551 p 14552 14553 locale's AM or PM. 14554 14555 r 14556 14557 time, 12-hour (hh:mm:ss [AP]M). 14558 14559 S 14560 14561 second (00..61). 14562 14563 T 14564 14565 time, 24-hour (hh:mm:ss). 14566 14567 X 14568 14569 locale's time representation (H:M:S). 14570 14571 Z 14572 14573 time zone (e.g., EDT), or nothing if no time zone is determinable. 14574 14575 a 14576 14577 locale's abbreviated weekday name (Sun..Sat). 14578 14579 A 14580 14581 locale's full weekday name, variable length (Sunday..Saturday). 14582 14583 b 14584 14585 locale's abbreviated month name (Jan..Dec). 14586 14587 B 14588 14589 locale's full month name, variable. 14590 14591 c 14592 14593 locale's date and time (Sat Nov 04 12:02:33 EST 1989). 14594 14595 d 14596 14597 day of month (01..31). 14598 14599 D 14600 14601 date (mm/dd/yy). 14602 14603 h 14604 14605 same as b. 14606 14607 j 14608 14609 day of year (001.366). 14610 14611 m 14612 14613 month (01..12). 14614 14615 U 14616 14617 week number of year with Sunday as first day of week (00..53). 14618 14619 w 14620 14621 day of week (0..6). 14622 14623 W 14624 14625 week number of year with Monday as first day of week (00..53). 14626 14627 x 14628 14629 locale's date representation (mm/dd/yy). 14630 14631 y 14632 14633 last two digits of year (00..99). 14634 14635 Y 14636 14637 year (1970...). 14638 14639 14640 14641 %b 14642 14643 file's size in 512-byte blocks (rounded up). 14644 14645 %c 14646 14647 last file status change time in the format returned by the C ctime 14648 function. 14649 14650 %Ck 14651 14652 last file status change time in the format specified by k, which is the 14653 same as for %A. 14654 14655 %d 14656 14657 file's depth in the directory tree; 0 means the file is a command line 14658 argument. 14659 14660 %f 14661 14662 file's name with any leading directories removed (only the last 14663 element). 14664 14665 %F 14666 14667 type of the filesystem the file is on; this value can be used for 14668 -fstype. 14669 14670 %g 14671 14672 file's group name, or numeric group ID if the group has no name. 14673 14674 %G 14675 14676 file's numeric group ID. 14677 14678 %h 14679 14680 leading directories of file's name (all but the last element). 14681 14682 %H 14683 14684 mommand line argument under which file was found. 14685 14686 %i 14687 14688 file's inode number (in decimal). 14689 14690 %k 14691 14692 file's size in 1K blocks (rounded up). 14693 14694 %l 14695 14696 object of symbolic link (empty string if file is not a symbolic link). 14697 14698 %m 14699 14700 file's permission bits (in octal). 14701 14702 %n 14703 14704 number of hard links to file. 14705 14706 %p 14707 14708 file's name. 14709 14710 %P 14711 14712 file's name with the name of the command line argument under which it 14713 was found removed. 14714 14715 %s 14716 14717 file's size in bytes. 14718 14719 %t 14720 14721 file's last modification time in the format returned by the C ctime 14722 function. 14723 14724 %Tk 14725 14726 file's last modification time in the format specified by k, which is 14727 the same as for %A. 14728 14729 %u 14730 14731 file's user name, or numeric user ID if the user has no name. 14732 14733 %U 14734 14735 file's numeric user ID. 14736 14737 14738 14739 -ls 14740 14741 is true. Lists current file in ls -dils format on standard output. The 14742 block counts are of 1K blocks, unless the environment variable 14743 POSIXLY_CORRECT is set, in which case 512-byte blocks are used. 14744 14745 Extra Operators 14746 14747 The following operators are supported in order of decreasing precedence and 14748 override what is specified in the SUS. 14749 14750 ( expr ) 14751 14752 force precedence. 14753 14754 ! expr 14755 14756 true if expr is false 14757 14758 -not expr 14759 14760 same as ! expr. 14761 14762 expr1 expr2 14763 14764 and (implied); expr2 is not evaluated if expr1 is false. 14765 14766 expr1 -a expr2 14767 14768 same as expr1 expr2. 14769 14770 expr1 -and expr2 14771 14772 same as expr1 expr2. 14773 14774 expr1 -o expr2 14775 14776 or; expr2 is not evaluated if expr1 is true. 14777 14778 expr1 -or expr2 14779 14780 same as expr1 -o expr2. 14781 14782 expr1, expr2 14783 14784 list; both expr1 and expr2 are always evaluated. The value of expr1 is 14785 discarded; the value of the list is the value of expr2. 14786 14787 14788 14789 fuser 14790 14791 Name 14792 14793 fuser -- identify processes using files or sockets 14794 14795 Description 14796 14797 fuser is as specified in the SUS but with differences as listed below. 14798 14799 Differences 14800 14801 -c 14802 14803 has implementation-dependent behavior. 14804 14805 -f 14806 14807 has implementation-dependent behavior. 14808 14809 LSB Deprecated Differences 14810 14811 The behaviors specified in this section are expected to disappear from a future 14812 version of the LSB; applications should only use the non-LSB-deprecated 14813 behaviors. 14814 14815 -a 14816 14817 shows all files specified on the command line. By default, only files that 14818 are accessed by at least one process are shown. 14819 14820 -k 14821 14822 kills processes accessing the file. Unless changed with -signal, SIGKILL is 14823 sent. An fuser process never kills itself, but may kill other fuser 14824 processes. The effective user ID of the process executing fuser is set to 14825 its real user ID before attempting to kill. 14826 14827 -i 14828 14829 asks the user for confirmation before killing a process. This option is 14830 silently ignored if -k is not present too. 14831 14832 -l 14833 14834 lists all known signal names. 14835 14836 -m 14837 14838 name specifies a file on a mounted file system or a block device that is 14839 mounted. All processes accessing files on that file system are listed. If a 14840 directory file is specified, it is automatically changed to name/. to use 14841 any file system that might be mounted on that directory. 14842 14843 -n space 14844 14845 selects a different name space. The name spaces file (file names, the 14846 default), udp (local UDP ports), and tcp (local TCP ports) are supported. 14847 For ports, either the port number or the symbolic name can be specified. If 14848 there is no ambiguity, the shortcut notation name/space (e.g. name/proto) 14849 can be used. 14850 14851 -s 14852 14853 operates silently. -u and -v are ignored in this mode. -a must not be used 14854 with -s. 14855 14856 -signal 14857 14858 uses the specified signal instead of SIGKILL when killing processes. 14859 Signals can be specified either by name (e.g. -HUP) or by number (e.g. -1). 14860 14861 -v 14862 14863 verbose mode. 14864 14865 -V 14866 14867 displays version information. 14868 14869 - 14870 14871 resets all options and set the signal back to SIGKILL. 14872 14873 gencat 14874 14875 Name 14876 14877 gencat -- generate a formatted message catalogue 14878 14879 Description 14880 14881 gencat is as specified in the SUS but with differences as listed below. 14882 14883 LSB Deprecated Differences 14884 14885 The behaviors specified in this section are expected to disappear from a future 14886 version of the LSB; applications should only use the non-LSB-deprecated 14887 behaviors. 14888 14889 -H, --header=NAME 14890 14891 creates C header file NAME containing symbol definitions. 14892 14893 --new 14894 14895 does not use existing catalog, forces new output file. 14896 14897 -o, --output=NAME 14898 14899 writes output to file NAME. 14900 14901 grep 14902 14903 Name 14904 14905 grep -- print lines matching a pattern 14906 14907 Description 14908 14909 grep is as specified in the SUS but with differences as listed below. 14910 14911 LSB Deprecated Differences 14912 14913 The behaviors specified in this section are expected to disappear from a future 14914 version of the LSB; applications should only use the non-LSB-deprecated 14915 behaviors. 14916 14917 -A NUM, --after-context=NUM 14918 14919 prints NUM lines of trailing context after matching lines. 14920 14921 -a, --text 14922 14923 processes a binary file as if it were text; this is equivalent to the 14924 --binary-files=text option. 14925 14926 -B NUM, --before-context=NUM 14927 14928 prints NUM lines of leading context before matching lines. 14929 14930 -C [NUM], -NUM, --context[=NUM] 14931 14932 prints NUM lines (default 2) of output context. 14933 14934 -b, --byte-offset 14935 14936 prints the byte offset within the input file before each line of output. 14937 14938 --binary-files=TYPE 14939 14940 assumes that the file is of type TYPE if its first few bytes indicate it 14941 contains binary data. By default, TYPE is binary, and grep normally outputs 14942 either a one-line message saying that a binary file matches, or no message 14943 if there is no match. If TYPE is without-match, grep assumes that a binary 14944 file does not match; this is equivalent to the -I option. If TYPE is text, 14945 grep processes a binary file as if it were text; this is equivalent to the 14946 -a option. Warning: grep --binary-files=text might output binary garbage, 14947 which can have nasty side effects if the output is a terminal and if the 14948 terminal driver interprets some of it as commands. 14949 14950 -c, --count 14951 14952 suppresses normal output; instead, prints a count of matching lines for 14953 each input file. With the -v, --invert-match option (see below), counts 14954 non-matching lines. 14955 14956 -d ACTION, --directories=ACTION 14957 14958 processes the input file as a directory with ACTION. By default, ACTION is 14959 read, which means that directories are read just as if they were ordinary 14960 files. If ACTION is skip, directories are silently skipped. If ACTION is 14961 recurse, grep reads all files under each directory, recursively; this is 14962 equivalent to the -r option. 14963 14964 -G, --basic-regexp 14965 14966 interprets PATTERN as a basic regular expression. (default) 14967 14968 -H, --with-filename 14969 14970 prints the filename for each match. 14971 14972 -h, --no-filename 14973 14974 suppresses the prefixing of filenames on output when multiple files are 14975 searched. 14976 14977 -I 14978 14979 processes a binary file as if it did not contain matching data; this is 14980 equivalent to the --binary-files=without-match option. 14981 14982 --ignore-case 14983 14984 equivalent to -i. 14985 14986 -L, --files-without-match 14987 14988 suppresses normal output; instead, prints the name of each input file from 14989 which no output would normally have been printed. The scanning will stop on 14990 the first match. 14991 14992 --files-with-matches 14993 14994 equivalent to -l. 14995 14996 --map 14997 14998 uses the mmap(2) system call to read input, if possible, instead of the 14999 default read(2) system call. In some situations, --mmap yields better 15000 performance. However, --mmap can cause undefined behavior (including core 15001 dumps) if an input file shrinks while grep is operating, or if an I/O error 15002 occurs. 15003 15004 --line-number 15005 15006 equivalent to -n. 15007 15008 --quiet 15009 15010 equivalent to -q. 15011 15012 -r, --recursive 15013 15014 reads all files under each directory, recursively; this is equivalent to 15015 the -d recurse option. 15016 15017 --no-messages 15018 15019 equivalent to -s. 15020 15021 -V, --version 15022 15023 prints the version number of grep to standard error. 15024 15025 --invert-match 15026 15027 equivalent to -v. 15028 15029 -w, --word-regexp 15030 15031 selects only those lines containing matches that form whole words. The test 15032 is that the matching substring must either be at the beginning of the line, 15033 or preceded by a non-word constituent character. Similarly, it must be 15034 either at the end of the line or followed by a non-word constituent 15035 character. Word-constituent characters are letters, digits, and the 15036 underscore. 15037 15038 --line-regexp 15039 15040 equivalent to -x. 15041 15042 -Z, --null 15043 15044 outputs a zero byte (the ASCII NUL character) instead of the character that 15045 normally follows a file name. 15046 15047 groupadd 15048 15049 Name 15050 15051 groupadd -- create a new group 15052 15053 Synopsis 15054 15055 groupadd [-g gid [-o]] group 15056 15057 Options 15058 15059 -g gid [-o] 15060 15061 specifies the numerical value of the group's ID. This value must be unique, 15062 unless the -o option is used. The value must be non-negative. 15063 15064 groupdel 15065 15066 Name 15067 15068 groupdel -- delete a group 15069 15070 Synopsis 15071 15072 groupdel group 15073 15074 Description 15075 15076 groupdel modifies the system account files, deleting all entries that refer to 15077 group. The named group must exist. 15078 15079 groupmod 15080 15081 Name 15082 15083 groupmod -- modify a group 15084 15085 Synopsis 15086 15087 groupmod [-g gid [-o]] [-n group_name ] group 15088 15089 Options 15090 15091 -g gid [-o] 15092 15093 specifies the numerical value of the group's ID. This value must be unique, 15094 unless the -o option is used. The value must be non-negative. Any files 15095 which the old group ID is the file group ID must have the file group ID 15096 changed manually. 15097 15098 -n groupname 15099 15100 changes the name of the group from group to group_name. 15101 15102 groups 15103 15104 Name 15105 15106 groups -- display a group 15107 15108 Synopsis 15109 15110 groups [user] 15111 15112 Description 15113 15114 groups displays the current group ID names or values. If the value does not 15115 have a corresponding entry in the group database, the value will be displayed 15116 as the numerical group value. The optional user parameter will display the 15117 groups for the named user. 15118 15119 gunzip 15120 15121 Name 15122 15123 gunzip -- uncompress files 15124 15125 Description 15126 15127 gunzip is equivalent to gzip -d. See the specification for gzip for further 15128 details. 15129 15130 gzip 15131 15132 Name 15133 15134 gzip -- compress or expand files 15135 15136 Synopsis 15137 15138 gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ] 15139 15140 Description 15141 15142 gzip tries to reduce the size of the named files. Whenever possible, each file 15143 is replaced by one with the extension .gz, while keeping the same ownership 15144 modes, access and modification times. If no files are specified, or if a file 15145 name is "-", the standard input is compressed to the standard output. gzip will 15146 only attempt to compress regular files. In particular, it will ignore symbolic 15147 links. 15148 15149 When compressing, gzip uses the deflate algorithm specified in RFC1951 and 15150 stores the result in a file using the gzip file format specified in RFC1952. 15151 15152 Options 15153 15154 -a, --ascii 15155 15156 does nothing on Linux systems. 15157 15158 -c, --stdout, --to-stdout 15159 15160 writes output on standard output; keeps original files unchanged. If there 15161 are several input files, the output consists of a sequence of independently 15162 compressed members. To obtain better compression, concatenate all input 15163 files before compressing them. 15164 15165 -d, --decompress, --uncompress 15166 15167 decompresses. 15168 15169 -f, --force 15170 15171 forces compression or decompression even if the file has multiple links or 15172 the corresponding file already exists, or if the compressed data is read 15173 from or written to a terminal. If the input data is not in a format 15174 recognized by gzip, and if the option --stdout is also given, copy the 15175 input data without change to the standard ouput: let gzip behave as cat. If 15176 -f is not given, and when not running in the background, gzip prompts to 15177 verify whether an existing file should be overwritten. 15178 15179 -l, --list 15180 15181 lists the compressed size, uncompressed size, ration and uncompressed name 15182 for each compressed file. Gives the uncompressed size as -1 for files not 15183 in gzip format. Additionally displays method, crc and timestamp for the 15184 uncompress file when used in combination with --verbose. 15185 15186 The compression methods currently supported are deflate, compress, lzh (SCO 15187 compress -H) and pack. The crc is given as ffffffff for a file not in gzip 15188 format. 15189 15190 With --name, the uncompressed name, date and time are those stored within 15191 the compress file, if present. 15192 15193 With --verbose, the size totals and compression ratio for all files is also 15194 displayed, unless some sizes are unknown. With --quiet, the title and 15195 totals lines are not displayed. 15196 15197 -L, --license 15198 15199 displays the gzip license and quit. 15200 15201 -n, --no-name 15202 15203 does not save the original file name and time stamp by default when 15204 compressing. (The original name is always saved if the name had to be 15205 truncated.) When decompressing, do not restore the original file name if 15206 present (remove only the gzip suffix from the compressed file name) and do 15207 not restore the original time stamp if present (copy it from the compressed 15208 file). This option is the default when decompressing. 15209 15210 -N, --name 15211 15212 always saves the original file name and time stamp when compressing; this 15213 is the default. When decompressing, restore the original file name and time 15214 stamp if present. This option is useful on systems which have a limit on 15215 file name length or when the time stamp has been lost after a file 15216 transfer. 15217 15218 -q, --quiet 15219 15220 suppresses all warnings. 15221 15222 -r, --recursive 15223 15224 travels the directory structure recursively. If any of the file names 15225 specified on the command line are directories, gzip will descend into the 15226 directory and compress all the files it finds there (or decompress them in 15227 the case of gunzip). 15228 15229 -S .suf, --sufix .suf 15230 15231 uses suffix .suf instead of .gz. 15232 15233 -t, --test 15234 15235 checks the compressed file integrity. 15236 15237 -v, --verbose 15238 15239 displays the name and percentage reduction for each file compressed or 15240 decompressed. 15241 15242 -V, --version 15243 15244 displays the version number and compilation options, then quits. 15245 15246 -#, --fast, --best 15247 15248 regulates the speed of compression using the specified digit #, where -1 or 15249 --fast indicates the fastest compression method (less compression) and -9 15250 or --best indicates the slowest compression method (best compression). The 15251 default compression level is -6 (that is, biased towards high compression 15252 at expense of speed). 15253 15254 head 15255 15256 Name 15257 15258 head -- output the first part of files 15259 15260 Description 15261 15262 head is as specified in the SUS but with additional options as specified below. 15263 15264 LSB Deprecated Differences 15265 15266 The behaviors specified in this section are expected to disappear from a future 15267 version of the LSB; applications should only use the non-LSB-deprecated 15268 behaviors. 15269 15270 -c, --bytes=SIZE 15271 15272 prints first SIZE bytes. SIZE may have a multiplier suffix: b for 512, k 15273 for 1K, m for 1 Meg. 15274 15275 --lines=NUMBER 15276 15277 is equivalent to -n. 15278 15279 -q, --quiet, --silent 15280 15281 does not print headers giving file names. 15282 15283 -v 15284 15285 prints headers giving file names. 15286 15287 hostname 15288 15289 Name 15290 15291 hostname -- show the system's host name 15292 15293 Synopsis 15294 15295 hostname [-v] [-a] [--alias] [-d] [--domain] [-f] [--fqdn] 15296 [-i] [--ip-address] [--long] [-s] [--short] [-y] [--yp] 15297 [--nis] 15298 15299 hostname [-v] [-F filename] [--file filename] [hostname] 15300 15301 hostname [-v] [-h] [--help] [-V] [--version] 15302 15303 Description 15304 15305 hostname is used to either set or display the current host or domain name of 15306 the system. This name is used by many of the networking programs to identify 15307 the machine. The domain name is also used by NIS/YP. 15308 15309 When called without any arguments, the program displays the name of the system 15310 as returned by the gethostname(2) function. 15311 15312 When called with one argument or with the --file option, the commands set the 15313 host name or the NIS/YP domain name. Note, that only the super-user can change 15314 the names. 15315 15316 Options 15317 15318 -a, --alias 15319 15320 displays the alias name of the host (if used). 15321 15322 -d, --domain 15323 15324 displays the name of the DNS domain. 15325 15326 -F, --file filename 15327 15328 reads the host name from the specified file. Comments (lines starting with 15329 a #) are ignored. 15330 15331 -f, --fqdn, --long 15332 15333 displays the FQDN (Fully Qualified Domain Name). 15334 15335 -i, --ip-address 15336 15337 displays the IP address(es) of the host. 15338 15339 -s, --short 15340 15341 displays the short host name. This is the host name cut at the first dot. 15342 15343 -V, --version 15344 15345 prints version information on standard output and exits successfully. 15346 15347 -v, --verbose 15348 15349 tells what's going on. 15350 15351 -y, --yp, --nis 15352 15353 displays the NIS domain name. If a parameter is given (or --file name) then 15354 root can also set a new NIS domain. 15355 15356 iconv 15357 15358 Name 15359 15360 iconv -- convert file character encoding 15361 15362 Synopsis 15363 15364 iconv -f encoding -t encoding [--list] [-o file] [--output file] [--verbose] inputfile 15365 15366 Description 15367 15368 The specification for "iconv" is as specified in the SUSv2 but with the 15369 following differences as listed below. 15370 15371 LSB-deprecated Options 15372 15373 The behaviors specified in this section are expected to disappear from a future 15374 version of the LSB; applications should only use the non-LSB-deprecated 15375 behaviors. 15376 15377 --list 15378 15379 lists known coded character sets (synonym for the -l option which is found 15380 in the SUSv3 but not yet specified here). 15381 15382 -o, --output file 15383 15384 write output to specified output file (instead of stdin). 15385 15386 --verbose 15387 15388 prints progress information. 15389 15390 install 15391 15392 Name 15393 15394 install -- copy files and set attributes 15395 15396 Synopsis 15397 15398 install [OPTION]... SOURCE DEST (1st format) 15399 install [OPTION]... SOURCE... DIRECTORY (2nd format) 15400 install -d [OPTION]... DIRECTORY... (3rd format) 15401 15402 Description 15403 15404 In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to the 15405 existing DIRECTORY, while setting permission modes and owner/group. In the 15406 third format, create all components of the given DIRECTORY(ies). 15407 15408 Standard Options 15409 15410 --backup[=CONTROL] 15411 15412 makes a backup of each existing destination file. 15413 15414 -b 15415 15416 is like --backup, but does not accept an argument. 15417 15418 -d, --directory 15419 15420 treats all arguments as directory names; creates all components of the 15421 specified directories. 15422 15423 -D 15424 15425 creates all leading components of DEST except the last, then copies SOURCE 15426 to DEST; useful in the 1st format. 15427 15428 -g, --group=GROUP 15429 15430 sets group ownership, instead of process' current group. 15431 15432 -m, --mode=MODE 15433 15434 sets permission mode (as in chmod), instead of rwxr-xr-x. 15435 15436 -o, --owner=OWNER 15437 15438 sets ownership (super-user only). 15439 15440 -p, --preserve-timestamps 15441 15442 applies access/modification times of SOURCE files to corresponding 15443 destination files. 15444 15445 -s, --strip 15446 15447 strips symbol tables, only for 1st and 2nd formats. 15448 15449 -S, --suffix=SUFFIX 15450 15451 overrides the usual backup suffix. 15452 15453 --verbose 15454 15455 prints the name of each directory as it is created. 15456 15457 install_initd 15458 15459 Name 15460 15461 install_initd -- install an init.d file 15462 15463 Synopsis 15464 15465 /usr/lib/lsb/install_initd initd_file 15466 15467 Description 15468 15469 install_initd installs an init.d file that has been copied to the /etc/init.d 15470 location or symlink. In the postinstall script of a package, the program /usr/ 15471 lib/lsb/install_initd configures a distribution's boot script system to call 15472 the init.d file of the package at an appropriate time. See also the Section 15473 called Installation and removal of init.d files in Chapter 22. 15474 15475 ipcrm 15476 15477 Name 15478 15479 ipcrm -- provide information on ipc facilities 15480 15481 Synopsis 15482 15483 ipcrm [ shm | msg | sem ] id... 15484 15485 Description 15486 15487 ipcrm removes the resource(s) specified by id. 15488 15489 ipcs 15490 15491 Name 15492 15493 ipcs -- provide information on ipc facilities 15494 15495 Synopsis 15496 15497 ipcs [ -smq ] [ -tcp ] 15498 15499 Description 15500 15501 ipcs provides information on the ipc facilities for which the calling process 15502 has read access. 15503 15504 Resource display options 15505 15506 -m 15507 15508 shared memory segments. 15509 15510 -q 15511 15512 message queues. 15513 15514 -s 15515 15516 semaphore arrays. 15517 15518 Output format options 15519 15520 -t 15521 15522 time. 15523 15524 -p 15525 15526 pid. 15527 15528 -c 15529 15530 creator. 15531 15532 Application Usage 15533 15534 In some implementations of ipcs the -a option will print all information 15535 available. In other implementations the -a option will print all resource 15536 types. Therefore, applications must not use the -a option. 15537 15538 Some implements of ipcs implement more output formats than are specified here. 15539 These options are not consistent between differing implementations of ipcs. 15540 Therefore, only the -t -c and -p option flags may be used. At least one of the 15541 -t -c and -p options must be specified. 15542 15543 killall 15544 15545 Name 15546 15547 killall -- kill processes by name 15548 15549 Synopsis 15550 15551 killall [-egiqvw] [-signal] name ... 15552 killall -l 15553 killall -V 15554 15555 Description 15556 15557 killall sends a signal to all processes running any of the specified commands. 15558 If no signal name is specified, SIGTERM is sent. 15559 15560 Signals can be specified either by name (e.g. -HUP) or by number (e.g. -1). 15561 Signal 0 (check if a process exists) can only be specified by number. 15562 15563 If the command name contains a slash (/), processes executing that particular 15564 file will be selected for killing, independent of their name. 15565 15566 killall returns a non-zero return code if no process has been killed for any of 15567 the listed commands. If at least one process has been killed for each command, 15568 killall returns zero. 15569 15570 A killall process never kills itself (but may kill other killall processes). 15571 15572 Standard Options 15573 15574 -e 15575 15576 requires an exact match for very long names. If a command name is longer 15577 than 15 characters, the full name may be unavailable (i.e. it is swapped 15578 out). In this case, killall will kill everything that matches within the 15579 first 15 characters. With -e, such entries are skipped. killall prints a 15580 message for each skipped entry if -v is specified in addition to -e. 15581 15582 -g 15583 15584 kills the process group to which the process belongs. The kill signal is 15585 only sent once per group, even if multiple processes belonging to the same 15586 process group were found. 15587 15588 -i 15589 15590 asks interactively for confirmation before killing. 15591 15592 -l 15593 15594 lists all known signal names. 15595 15596 -q 15597 15598 does not complain if no processes were killed. 15599 15600 -v 15601 15602 reports if the signal was successfully sent. 15603 15604 -V 15605 15606 displays version information. 15607 15608 ln 15609 15610 Name 15611 15612 ln -- make links between files 15613 15614 Description 15615 15616 ln is as specified in the SUSv2 but with differences as listed below. 15617 15618 Differences 15619 15620 -s 15621 15622 as specified in the SUSv3 15623 15624 LSB Deprecated Differences 15625 15626 The behaviors specified in this section are expected to disappear from a future 15627 version of the LSB; applications should only use the non-LSB-deprecated 15628 behaviors. 15629 15630 -b, --backup[=CONTROL] 15631 15632 makes a backup of each existing destination file. 15633 15634 -n, --no-dereference 15635 15636 treats destination that is a symlink to a directory as if it were a normal 15637 file. 15638 15639 -i, --interactive 15640 15641 prompts whether to remove destinations. 15642 15643 --symbolic 15644 15645 synonym for -s. 15646 15647 -S, --suffix=SUFFIX 15648 15649 overrides the usual backup suffix. 15650 15651 --target-directory=DIR 15652 15653 moves all SOURCE arguments into directory DIR. 15654 15655 -v, --verbose 15656 15657 prints name of each file before linking. 15658 15659 --version 15660 15661 outputs version information and exits. 15662 15663 Notes 15664 15665 The backup suffix is ~, unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The 15666 version control method may be selected via the --backup option or through the 15667 VERSION_CONTROL environment variable. Here are the values: 15668 15669 none, off 15670 15671 never makes backups (even if --backup is given). 15672 15673 numbered, t 15674 15675 makes numbered backups. 15676 15677 existing, nil 15678 15679 numbered if numbered backups exist, simple otherwise 15680 15681 simple, never 15682 15683 always makes simple backups. 15684 15685 localedef 15686 15687 Name 15688 15689 localedef -- compile locale definition files 15690 15691 Description 15692 15693 localedef is as specified in the SUS but with differences as listed below. 15694 15695 LSB Deprecated Differences 15696 15697 The behaviors specified in this section are expected to disappear from a future 15698 version of the LSB; applications should only use the non-LSB-deprecated 15699 behaviors. 15700 15701 --charmap=charmapfile 15702 15703 is equivalent to -f. 15704 15705 --inputfile=intputfile 15706 15707 is equivalent to -i. 15708 15709 --force 15710 15711 is equivalent to -c. 15712 15713 -v, --verbose 15714 15715 generates extra warnings about errors that are normally ignored. 15716 15717 --quiet 15718 15719 suppresses all notifications and warnings, and reports only fatal errors. 15720 15721 lpr 15722 15723 Name 15724 15725 lpr -- off line print 15726 15727 Synopsis 15728 15729 lpr [-l] [-p] [-Pprinter] [-h] [-s] [-#copies] [-J name] 15730 [-T title] [name ...] 15731 15732 Description 15733 15734 lpr uses a spooling daemon to print the named files when facilities become 15735 available. If no names appear, the standard input is assumed. 15736 15737 Standard Options 15738 15739 -l 15740 15741 identifies binary data that is not to be filtered but sent as raw input to 15742 printer. 15743 15744 -p 15745 15746 formats with "pr" before sending to printer. 15747 15748 -Pprinter 15749 15750 sends output to the printer named printer instead of the default printer. 15751 15752 -h 15753 15754 suppresses header page. 15755 15756 -s 15757 15758 uses symbolic links. 15759 15760 -#copies 15761 15762 specifies copies as the number of copies to print. 15763 15764 -J name 15765 15766 specifies name as the job name for the header page. 15767 15768 -T title 15769 15770 specifies title as the title used for "pr". 15771 15772 ls 15773 15774 Name 15775 15776 ls -- list directory contents 15777 15778 Description 15779 15780 ls is as specified in the SUS, but with differences listed below. 15781 15782 Differences 15783 15784 -p 15785 15786 in addition to the SUS behavior of printing a slash for a directory, ls -p 15787 may display other characters for other file types. 15788 15789 lsb_release 15790 15791 Name 15792 15793 lsb_release -- print distribution specific information 15794 15795 Synopsis 15796 15797 lsb_release [OPTION]... 15798 15799 Description 15800 15801 The lsb_release command prints certain LSB (Linux Standard Base) and 15802 Distribution information. 15803 15804 With no option, same as -v. 15805 15806 Options 15807 15808 -v, --version 15809 15810 displays version of LSB against which distribution is compliant. 15811 15812 -i, --id 15813 15814 displays string id of distributor. 15815 15816 -d, --description 15817 15818 displays single line text description of distribution. 15819 15820 -r, --release 15821 15822 displays release number of distribution. 15823 15824 -c, --codename 15825 15826 displays codename according to distribution release. 15827 15828 -a, --all 15829 15830 displays all of the above information. 15831 15832 -s, --short 15833 15834 displays all of the above information in short output format. 15835 15836 -h, --help 15837 15838 displays a human-readable help message. 15839 15840 m4 15841 15842 Name 15843 15844 m4 -- macro processor 15845 15846 Description 15847 15848 m4 is as specified in the SUS but with differences as listed below. 15849 15850 Differences 15851 15852 -P 15853 15854 forces a m4_ prefix to all builtins. 15855 15856 -I directory 15857 15858 Add directory to the end of the search path for includes. 15859 15860 LSB Deprecated Differences 15861 15862 The behaviors specified in this section are expected to disappear from a future 15863 version of the LSB; applications should only use the non-LSB-deprecated 15864 behaviors. 15865 15866 --version 15867 15868 outputs version information and exits. 15869 15870 -e, --interactive 15871 15872 unbuffers output, ignores interrupts. 15873 15874 -E, --fatal-warnings 15875 15876 stops execution after first warning. 15877 15878 -Q, --quiet, --silent 15879 15880 suppresses some warnings for builtins. 15881 15882 --prefix-builtins 15883 15884 is equivalent to -P. 15885 15886 --include=DIRECTORY 15887 15888 is equivalent to -I. 15889 15890 --define=NAME[=VALUE] 15891 15892 is equivalent to -D. 15893 15894 --undefine=NAME 15895 15896 deletes builtin NAME. 15897 15898 --synclines 15899 15900 is equivalent to -s. 15901 15902 -G, --traditional 15903 15904 suppresses all GNU extensions. 15905 15906 -H, --hashsize=PRIME 15907 15908 sets symbol lookup hash table size. 15909 15910 -L, --nesting-limit=NUMBER 15911 15912 changes artificial nesting limit. 15913 15914 -F, --freeze-state=FILE 15915 15916 produces a frozen state on FILE at end. 15917 15918 -R, --reload-state=FILE 15919 15920 reloads a frozen state from FILE at start. 15921 15922 -d, --debug=[FLAGS] 15923 15924 sets debug level (no FLAGS implies 'aeq'). FLAGS is any of: 15925 15926 t 15927 15928 traces for all macro calls, not only 'ed. 15929 15930 a 15931 15932 shows actual arguments. 15933 15934 e 15935 15936 shows expansion. 15937 15938 q 15939 15940 quotes values as necessary, with a or e flag. 15941 15942 c 15943 15944 shows before collect, after collect and after call. 15945 15946 x 15947 15948 adds a unique macro call id, useful with c flag. 15949 15950 f 15951 15952 says current input file name. 15953 15954 l 15955 15956 says current input line number. 15957 15958 p 15959 15960 shows results of path searches. 15961 15962 i 15963 15964 shows changes in input files. 15965 15966 V 15967 15968 is shorthand for all of the above flags. 15969 15970 -t, --trace=NAME 15971 15972 traces NAME when it will be defined. 15973 15974 -l, --arglength=NUM 15975 15976 restricts macro tracing size. 15977 15978 -o, --error-output=FILE 15979 15980 redirects debug and traces output. 15981 15982 make 15983 15984 Name 15985 15986 make -- maintain, update and regenerate groups of programs 15987 15988 Description 15989 15990 make is as specified in the SUS but with differences as listed below. 15991 15992 LSB Deprecated Differences 15993 15994 The behaviors specified in this section are expected to disappear from a future 15995 version of the LSB; applications should only use the non-LSB-deprecated 15996 behaviors. 15997 15998 The GNU make command contains syntax extensions beyond those specified in the 15999 SUS. Use of these extensions is deprecated. 16000 16001 -C dir 16002 16003 changes to directory dir before reading the makefiles or doing anything 16004 else. If multiple -C options are specified, each is interpreted relative to 16005 the previous one: -C / -C etc is equivalent to -C /etc. This is typically 16006 used with recursive invocations of make. 16007 16008 -d 16009 16010 prints debugging information in addition to normal processing. The 16011 debugging information says which files are being considered for remaking, 16012 which filetimes are being compared and with what results, which files 16013 actually need to be remade, which implicit rules are considered and which 16014 are applied---everything interesting about how make decides what to do. 16015 16016 -I dir 16017 16018 specifies a directory dir to search for included makefiles. If several -I 16019 options are used to specify several directories, the directories are 16020 searched in the order specified. Unlike the arguments to other flags of 16021 make, directories given with -I flags may come directly after the flag: 16022 -Idir is allowed, as well as -I dir. This syntax is allowed for 16023 compatibility with the C preprocessor's -I flag. 16024 16025 -j jobs 16026 16027 specifies the number of jobs (commands) to run simultaneously. If there is 16028 more than one -j option, the last one is effective. If the -j option is 16029 given without an argument, make will not limit the number of jobs that can 16030 run simultaneously. 16031 16032 -l [load] 16033 16034 specifies that no new jobs (commands) should be started if there are others 16035 jobs running and the load average is at least load (a floating-point 16036 number). With no argument, removes a previous load limit. 16037 16038 -o file 16039 16040 does not remake the file file even if it is older than its dependencies, 16041 and do not remake anything on account of changes in file. Essentially the 16042 file is treated as very old and its rules are ignored. 16043 16044 -v 16045 16046 prints the version of the make program plus a copyright, a list of authors 16047 and a notice that there is no warranty. 16048 16049 -w 16050 16051 prints a message containing the working directory before and after other 16052 processing. This may be use­ ful for tracking down errors from complicated 16053 nests of recursive make commands. 16054 16055 -W file 16056 16057 pretends that the target file has just been modified. When used with the -n 16058 flag, this shows you what would happen if you were to modify that file. 16059 Without -n, it is almost the same as running a touch command on the given 16060 file before running make, except that the modification time is changed only 16061 in the imagination of make. 16062 16063 man 16064 16065 Name 16066 16067 man -- display system documentation 16068 16069 Description 16070 16071 man is as specified in the SUS. While additional features my be found in Linux 16072 versions of this command, the SUS specified interface is correctly and 16073 completely implemented. 16074 16075 md5sum 16076 16077 Name 16078 16079 md5sum -- generates or checks MD5 message digests 16080 16081 Synopsis 16082 16083 md5sum [-b] [-c [file]] | [file...] 16084 16085 Options 16086 16087 -b 16088 16089 uses binary mode. 16090 16091 -c [file] 16092 16093 checks md5sum of all files listed in file against the checksum listed in 16094 the same file. The actual format of that file is the same as output of 16095 md5sum. That is, each line in the file describes a file. 16096 16097 mkdir 16098 16099 Name 16100 16101 mkdir -- make directories 16102 16103 Description 16104 16105 mkdir is as specified in the SUS but with differences as listed below. 16106 16107 LSB Deprecated Differences 16108 16109 The behaviors specified in this section are expected to disappear from a future 16110 version of the LSB; applications should only use the non-LSB-deprecated 16111 behaviors. 16112 16113 --verbose 16114 16115 prints a message for each created directory. 16116 16117 --version 16118 16119 outputs version information and exits. 16120 16121 mknod 16122 16123 Name 16124 16125 mknod -- make block or character special files 16126 16127 Synopsis 16128 16129 mknod [OPTION]... NAME TYPE [MAJOR MINOR] 16130 16131 Description 16132 16133 Create the special file NAME of the given TYPE. 16134 16135 MAJOR MINOR are forbidden for TYPE p, mandatory otherwise. TYPE may be: 16136 16137 b 16138 16139 creates a block (buffered) special file. 16140 16141 c, u 16142 16143 creates a character (unbuffered) special file. 16144 16145 p 16146 16147 creates a FIFO. 16148 16149 Standard Options 16150 16151 -m, --mode=MODE 16152 16153 sets permission mode (as in chmod), not a=rw - umask. 16154 16155 --version 16156 16157 outputs version information and exits. 16158 16159 mktemp 16160 16161 Name 16162 16163 mktemp -- make temporary file name (unique) 16164 16165 Synopsis 16166 16167 mktemp [-q] [-u] template 16168 16169 Description 16170 16171 mktemp takes the given file name template and overwrites a portion of it to 16172 create a file name. This file name is unique and suitable for use by the 16173 application. 16174 16175 Options 16176 16177 -q 16178 16179 fails silently if an error occurs. This is useful if a script does not want 16180 error output to go to standard error. 16181 16182 -u 16183 16184 operates in `unsafe' mode. The temp file will be unlinked before mktemp 16185 exits. This is slightly better than mktemp(3) but still introduces a race 16186 condition. Use of this option is not encouraged. 16187 16188 more 16189 16190 Name 16191 16192 more -- file perusal filter for crt viewing 16193 16194 Description 16195 16196 more is as specified in the SUS but with differences as listed below. 16197 16198 Differences 16199 16200 The more command need not respect the LINES and COLUMNS environment variables. 16201 16202 -num 16203 16204 specifies an integer which is the screen size (in lines). 16205 16206 -e 16207 16208 has implementation-dependent behavior. 16209 16210 -i 16211 16212 has implementation-dependent behavior. 16213 16214 -n 16215 16216 has implementation-dependent behavior. 16217 16218 -p 16219 16220 Either (1) clear the whole screen and then display the text (instead of the 16221 usual scrolling behavior), or (2) provide the behavior specified by the 16222 SUS. In the latter case, the syntax is "-p command". 16223 16224 -t 16225 16226 has implementation-dependent behavior. 16227 16228 +num 16229 16230 starts at line number num. 16231 16232 +/string 16233 16234 specifies a string that will be searched for before each file is displayed. 16235 16236 LSB Deprecated Differences 16237 16238 The behaviors specified in this section are expected to disappear from a future 16239 version of the LSB; applications should only use the non-LSB-deprecated 16240 behaviors. 16241 16242 -d 16243 16244 prompts user with the message "[Press space to continue, 'q' to quit.]" and 16245 will display "[Press 'h' for instructions.]" instead of ringing the bell 16246 when an illegal key is pressed. 16247 16248 -l 16249 16250 prevents the typical behavior where more treats ^L (form feed) as a special 16251 character and pauses after any line that contains a form feed. 16252 16253 -f 16254 16255 counts logical, rather than screen lines (i.e., long lines are not folded). 16256 16257 Rationale 16258 16259 The +num and +/string options are deprecated in the SUSv2; however we must 16260 continue to specify them because util-linux-2.11f does not support the SUS 16261 replacement (-p command). The SUSv2 +command is more general than what we 16262 specify, but util-linux-2.11f appears to only support the more specific +num 16263 and +/string forms. 16264 16265 mount 16266 16267 Name 16268 16269 mount -- mount a file system 16270 16271 Synopsis 16272 16273 mount [-hV] 16274 mount -a [-fFnrsvw] [-t vfstype] 16275 mount [-fnrsvw] [-o options [,...]] device | dir 16276 mount [-fnrsvw] [-t vfstype] [-o options] device dir 16277 16278 Description 16279 16280 All files accessible in a UNIX system are arranged in one big tree, the file 16281 hierarchy, rooted at /. These files can be spread out over several devices. 16282 mount serves to attach the file system found on some device to the big file 16283 tree. Conversely, umount(8) will detach it again. 16284 16285 Standard Options 16286 16287 -V 16288 16289 outputs version. 16290 16291 -v 16292 16293 invokes verbose mode. 16294 16295 -a 16296 16297 mounts all filesystems (of the given types) mentioned in fstab. 16298 16299 -F 16300 16301 combines with -a. to fork off a new incarnation of mount for each device. 16302 This will do the mounts on different devices or different NFS servers in 16303 parallel. 16304 16305 -f 16306 16307 causes everything to be done except for the actual system call; if it's not 16308 obvious, this `fakes' mounting the file system. 16309 16310 -n 16311 16312 mounts without writing in /etc/mtab. This is necessary for example when / 16313 etc is on a read-only file system. 16314 16315 -s 16316 16317 tolerates sloppy mount options rather than failing. This will ignore mount 16318 options not supported by a filesystem type. Not all filesystems support 16319 this option. 16320 16321 -r 16322 16323 mounts the file system read-only. A synonym is -o ro. 16324 16325 -w 16326 16327 mounts the file system read/write. (default) A synonym is -o rw. 16328 16329 -L label 16330 16331 mounts the partition that has the specified label. 16332 16333 -U uuid 16334 16335 mounts the partition that has the specified uuid. These two options require 16336 the file /proc/partitions to exist. 16337 16338 -t vfstype 16339 16340 indicates a file system type of vfstype. 16341 16342 More than one type may be specified in a comma separated list. The list of 16343 file system types can be prefixed with no to specify the file system types 16344 on which no action should be taken. 16345 16346 -o 16347 16348 options are specified with a -o flag followed by a comma-separated string 16349 of options. Some of these options are only useful when they appear in the / 16350 etc/fstab file. The following options apply to any file system that is 16351 being mounted: 16352 16353 async 16354 16355 does all I/O to the file system asynchronously. 16356 16357 atime 16358 16359 updates inode access time for each access. (default) 16360 16361 auto 16362 16363 is mountable with -a. 16364 16365 defaults 16366 16367 uses default options: rw, suid, dev, exec, auto, nouser, and async. 16368 16369 dev 16370 16371 interprets character or block special devices on the file system. 16372 16373 exec 16374 16375 permits execution of binaries. 16376 16377 noatime 16378 16379 does not update inode access times on this file system. 16380 16381 noauto 16382 16383 is only explicitly mountable. 16384 16385 nodev 16386 16387 does not interpret character or block special devices on the file 16388 system. 16389 16390 noexec 16391 16392 does not allow execution of any binaries on the mounted file system. 16393 16394 nosuid 16395 16396 does not allow set-user-identifier or set-group-identifier bits to take 16397 effect. 16398 16399 nouser 16400 16401 forbids an ordinary (i.e., non-root) user to mount the file system. 16402 (default) 16403 16404 remount 16405 16406 attempts to remount an already-mounted file system. This is commonly 16407 used to change the mount flags for a file system, especially to make a 16408 read-only file system writable. 16409 16410 ro 16411 16412 mounts the file system read-only. 16413 16414 rw 16415 16416 mounts the file system read-write. 16417 16418 suid 16419 16420 allows set-user-identifier or set-group-identifier bits to take effect. 16421 16422 sync 16423 16424 does all I/O to the file system synchronously. 16425 16426 user 16427 16428 allows an ordinary user to mount the file system. This option implies 16429 the options noexec, nosuid, and nodev (unless overridden by subsequent 16430 options, as in the option line user,exec,dev,suid). 16431 16432 mv 16433 16434 Name 16435 16436 mv -- move (rename) files 16437 16438 Description 16439 16440 mv is as specified in the SUS but with differences as listed below. 16441 16442 LSB Deprecated Differences 16443 16444 The behaviors specified in this section are expected to disappear from a future 16445 version of the LSB; applications should only use the non-LSB-deprecated 16446 behaviors. 16447 16448 -b, --backup[=CONTROL] 16449 16450 makes backup before removal. 16451 16452 -S, --suffix=SUFFIX 16453 16454 overrides the usual backup suffix. 16455 16456 --strip-trailing-slashes 16457 16458 removes any trailing slashes from each SOURCE argument. 16459 16460 -S, --suffix=SUFFIX 16461 16462 overrides the usual backup suffix. 16463 16464 --target-directory=DIRECTORY 16465 16466 moves all SOURCE arguments into DIRECTORY. 16467 16468 -u, --update 16469 16470 moves only older or brand new non-directories. 16471 16472 -v, --verbose 16473 16474 explains what is being done. 16475 16476 --version 16477 16478 outputs version information and exits. 16479 16480 Notes 16481 16482 The backup suffix is ~, unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The 16483 version control method may be selected via the --backup option or through the 16484 VERSION_CONTROL environment variable. Here are the values: 16485 16486 none, off 16487 16488 makes no backups (even if --backup is given). 16489 16490 numbered, t 16491 16492 makes numbered backups. 16493 16494 existing, nil 16495 16496 is numbered if numbered backups exist, simple otherwise. 16497 16498 simple, never 16499 16500 makes simple backups. 16501 16502 newgrp 16503 16504 Name 16505 16506 newgrp -- change group ID 16507 16508 Synopsis 16509 16510 newgrp [-] [group] 16511 16512 Description 16513 16514 newgrp changes the current group ID during a login session. If the optional - 16515 flag is given, the user's environment will be reinitialized as though the user 16516 had logged in, otherwise the current environment, including current working 16517 directory, remains unchanged. 16518 16519 nice 16520 16521 Name 16522 16523 nice -- run a program with modified scheduling priority 16524 16525 Description 16526 16527 nice is as specified in the SUS but with differences as listed below. 16528 16529 LSB Deprecated Differences 16530 16531 The behaviors specified in this section are expected to disappear from a future 16532 version of the LSB; applications should only use the non-LSB-deprecated 16533 behaviors. 16534 16535 -ADJUST 16536 16537 increments priority by ADJUST first. 16538 16539 --help 16540 16541 displays this help and exits. 16542 16543 --version 16544 16545 outputs version information and exits. 16546 16547 nl 16548 16549 Name 16550 16551 nl -- number lines of files 16552 16553 Description 16554 16555 nl is as specified in the SUS but with differences as listed below. 16556 16557 LSB Deprecated Differences 16558 16559 The behaviors specified in this section are expected to disappear from a future 16560 version of the LSB; applications should only use the non-LSB-deprecated 16561 behaviors. 16562 16563 --help 16564 16565 displays this help and exits. 16566 16567 --version 16568 16569 outputs version information and exits. 16570 16571 nohup 16572 16573 Name 16574 16575 nohup -- runs a command immune to hangups, with output to a non-tty 16576 16577 Description 16578 16579 nohup is as specified in the SUS but with differences as listed below. 16580 16581 LSB Deprecated Differences 16582 16583 The behaviors specified in this section are expected to disappear from a future 16584 version of the LSB; applications should only use the non-LSB-deprecated 16585 behaviors. 16586 16587 --help 16588 16589 displays this help and exits. 16590 16591 --version 16592 16593 outputs version information and exits. 16594 16595 od 16596 16597 Name 16598 16599 od -- dump files in octal and other formats 16600 16601 Description 16602 16603 od is as specified in the SUS but with differences as listed below. 16604 16605 Differences 16606 16607 -w, --width[=BYTES] 16608 16609 outputs BYTES bytes per output line. 16610 16611 --traditional 16612 16613 accepts arguments in pre-POSIX form. 16614 16615 Pre-POSIX Specifications 16616 16617 The LSB supports option intermixtures with the following pre-POSIX 16618 specifications: 16619 16620 -a 16621 16622 is equivalent to -t a, selects named characters. 16623 16624 -f 16625 16626 is equivalent to -t fF, selects floats. 16627 16628 -h 16629 16630 is equivalent to -t x2, selects hexadecimal shorts. 16631 16632 -i 16633 16634 is equivalent to -t d2, selects decimal shorts. 16635 16636 -l 16637 16638 is equivalent to -t d4, selects decimal longs. 16639 16640 LSB Deprecated Differences 16641 16642 The behaviors specified in this section are expected to disappear from a future 16643 version of the LSB; applications should only use the non-LSB-deprecated 16644 behaviors. 16645 16646 --help 16647 16648 displays this help and exits. 16649 16650 --version 16651 16652 outputs version information and exits. 16653 16654 passwd 16655 16656 Name 16657 16658 passwd -- change user password 16659 16660 Synopsis 16661 16662 passwd [-x max] [-n min] [-w warn] [-i inact] name 16663 passwd {-l|-u} name 16664 16665 Description 16666 16667 passwd changes passwords for user and group accounts. A normal user may only 16668 change the password for their own account, the super user may change the 16669 password for any account. passwd also changes password expiry dates and 16670 intervals. Applications may not assume the format of prompts and anticipated 16671 input for user interaction, because they are implementation-dependent. 16672 16673 Options 16674 16675 -x max 16676 16677 sets the maximum number of days a password remains valid. 16678 16679 -n min 16680 16681 sets the minimum number of days before a password may be changed. 16682 16683 -w warn 16684 16685 sets the number of days warning the user will receive before their password 16686 will expire. 16687 16688 -i inactive 16689 16690 disables an account after the password has been expired for the given 16691 number of days. 16692 16693 -l 16694 16695 disables an account by changing the password to a value which matches no 16696 possible encrypted value. 16697 16698 -u 16699 16700 re-enables an account by changing the password back to its previous value. 16701 16702 paste 16703 16704 Name 16705 16706 paste -- merge lines of files 16707 16708 Description 16709 16710 paste is as specified in the SUS but with differences as listed below. 16711 16712 LSB Deprecated Differences 16713 16714 The behaviors specified in this section are expected to disappear from a future 16715 version of the LSB; applications should only use the non-LSB-deprecated 16716 behaviors. 16717 16718 --help 16719 16720 displays this help and exits. 16721 16722 --version 16723 16724 outputs version information and exits. 16725 16726 patch 16727 16728 Name 16729 16730 patch -- apply a diff file to an original 16731 16732 Description 16733 16734 patch is as specified in the SUS but with differences as listed below. 16735 16736 Differences 16737 16738 --binary 16739 16740 reads and write all files in binary mode, except for standard output and / 16741 dev/tty. This option has no effect on POSIX-compliant systems. 16742 16743 -u, --unified 16744 16745 interprets the patch file as a unified context diff. 16746 16747 LSB Deprecated Differences 16748 16749 The behaviors specified in this section are expected to disappear from a future 16750 version of the LSB; applications should only use the non-LSB-deprecated 16751 behaviors. 16752 16753 --backup-if-mismatch 16754 16755 backs up a file if the patch does not match the file exactly and if backups 16756 are not otherwise requested. 16757 16758 --no-backup-if-mismatch 16759 16760 does not back up a file if the patch does not match the file exactly and if 16761 backups are not otherwise requested. 16762 16763 -B pref, --prefix=pref 16764 16765 prefixes pref to a file name when generating its simple backup file name. 16766 16767 --dry-run 16768 16769 prints the results of applying the patches without actually changing any 16770 files. 16771 16772 -E, --remove-empty-files 16773 16774 removes output files that are empty after the patches have been applied. 16775 When patch removes a file, it also attempts to remove any empty ancestor 16776 directories. 16777 16778 -f, --force 16779 16780 skips patches whose headers do not say which file is to be patched; patches 16781 files even though they have the wrong version for the Prereq: line in the 16782 patch; assumes that patches are not reversed even if they look like they 16783 are. 16784 16785 -F num, --fuzz=num 16786 16787 sets the maximum fuzz factor. This option only applies to diffs that have 16788 context, and ignores up to that many lines in looking for places to install 16789 a hunk. 16790 16791 -g num, --get=num 16792 16793 controls patch behavior when a file is under RCS or SCCS control and does 16794 not exist or is read-only and matches the default version. If num is 16795 positive, patch gets (or checks out) the file from the revision control 16796 system; if zero, patch ignores RCS and SCCS and does not get the file; and 16797 if negative, patch asks the user where to get the file. 16798 16799 -s, --silent, --quiet 16800 16801 works silently, unless an error occurs. 16802 16803 -t, --batch 16804 16805 suppresses questions like -f, but makes some different assumptions: skips 16806 patches whose headers do not contain file names; skips patches for which 16807 the file has the wrong version for the Prereq: line in the patch; and 16808 assumes that patches are reversed if they look like they are. 16809 16810 -T, --set-time 16811 16812 sets the modification and access times of patched files from time stamps 16813 given in context diff headers, assuming that the context diff headers use 16814 local time. 16815 16816 -v, --version 16817 16818 prints out patch's revision header and patch level, and exits. 16819 16820 -V method, --version-control=method 16821 16822 uses method to determine backup file names. The method can also be given by 16823 the PATCH_VERSION_CONTROL environment variable, which is overridden by this 16824 option. 16825 16826 --verbose 16827 16828 outputs extra information about the work being done. 16829 16830 -Y pref, --basename-prefix=pref 16831 16832 prefixes pref to the basename of a file name when generating its simple 16833 backup file name. 16834 16835 -z suffix, --suffix=suffix 16836 16837 uses suffix as the simple backup suffix. 16838 16839 -Z, --set-utc 16840 16841 sets the modification and access times of patched files from time stamps 16842 given in context diff headers. 16843 16844 --help 16845 16846 displays this help and exits. 16847 16848 pathchk 16849 16850 Name 16851 16852 pathchk -- check whether file names are valid or portable 16853 16854 Description 16855 16856 pathchk is as specified in the SUS but with differences as listed below. 16857 16858 LSB Deprecated Differences 16859 16860 The behaviors specified in this section are expected to disappear from a future 16861 version of the LSB; applications should only use the non-LSB-deprecated 16862 behaviors. 16863 16864 --help 16865 16866 displays this help and exits. 16867 16868 --version 16869 16870 outputs version information and exits. 16871 16872 pidof 16873 16874 Name 16875 16876 pidof -- find the process ID of a running program 16877 16878 Synopsis 16879 16880 pidof [-s] [-x] [-o omitpid..] program [program..] 16881 16882 Description 16883 16884 Return the process ID of a process which is running the program named on the 16885 command line.[43] 16886 16887 Options 16888 16889 -s 16890 16891 instructs the program to only return one pid. 16892 16893 -x 16894 16895 causes the program to also return process id's of shells running the named 16896 scripts. 16897 16898 -o 16899 16900 omits processes with specified process id. 16901 16902 pr 16903 16904 Name 16905 16906 pr -- split a file into sections determined by context lines 16907 16908 Description 16909 16910 pr is as specified in the SUS but with differences as listed below. 16911 16912 LSB Deprecated Differences 16913 16914 The behaviors specified in this section are expected to disappear from a future 16915 version of the LSB; applications should only use the non-LSB-deprecated 16916 behaviors. 16917 16918 -P 16919 16920 has implementation-dependent behavior. 16921 16922 -c, --show-control-chars 16923 16924 uses hat notation (^G) and octal backslash notation. 16925 16926 -J, --join-lines 16927 16928 merges full lines, turns off -W line truncation, no column alignment. 16929 16930 -N NUMBER, --first-line-number=NUMBER 16931 16932 starts counting with NUMBER at 1st line of first page printed. 16933 16934 -S[STRING], --sep-string=[=STRING] 16935 16936 separates columns by an optional STRING, doesn't use -S "STRING", -S only: 16937 No separator used without -S. 16938 16939 -T, --omit-pagination 16940 16941 omits page headers and trailers, eliminates any pagination by form feeds 16942 set in input files. 16943 16944 -v, --show-nonprinting 16945 16946 uses octal backslash notation. 16947 16948 -W PAGE_WIDTH, --page-width=PAGE_WIDTH 16949 16950 sets page width to PAGE_WIDTH (72) characters always, truncates lines, 16951 except -J option is set, no interference with -S or -s. 16952 16953 --help 16954 16955 displays this help and exits. 16956 16957 --version 16958 16959 outputs version information and exits. 16960 16961 printf 16962 16963 Name 16964 16965 printf -- format and print data 16966 16967 Description 16968 16969 printf is as specified in the SUS but with differences as listed below. 16970 16971 LSB Deprecated Differences 16972 16973 The behaviors specified in this section are expected to disappear from a future 16974 version of the LSB; applications should only use the non-LSB-deprecated 16975 behaviors. 16976 16977 --help 16978 16979 displays this help and exits. 16980 16981 --version 16982 16983 outputs version information and exits. 16984 16985 pwd 16986 16987 Name 16988 16989 pwd -- print name of current/working directory 16990 16991 Description 16992 16993 pwd is as specified in the SUS but with differences as listed below. 16994 16995 LSB Deprecated Differences 16996 16997 The behaviors specified in this section are expected to disappear from a future 16998 version of the LSB; applications should only use the non-LSB-deprecated 16999 behaviors. 17000 17001 --help 17002 17003 displays this help and exits. 17004 17005 --version 17006 17007 outputs version information and exits. 17008 17009 remove_initd 17010 17011 Name 17012 17013 remove_initd -- clean up boot script system modifications introduced by 17014 install_initd 17015 17016 Synopsis 17017 17018 /usr/lib/lsb/remove_initd initd_file 17019 17020 Description 17021 17022 remove_initd processes the removal of the modifications made to a 17023 distribution's boot script system by the install_initd program. This cleanup is 17024 performed in the preuninstall script of a package; however, the package manager 17025 is still responsible for removing the /etc/init.d file. See also the Section 17026 called Installation and removal of init.d files in Chapter 22. 17027 17028 renice 17029 17030 Name 17031 17032 renice -- alter priority of running processes 17033 17034 Description 17035 17036 renice is as specified in the SUS but with differences as listed below. 17037 17038 Differences 17039 17040 -n increment 17041 17042 has implementation-dependent behavior. 17043 17044 rm 17045 17046 Name 17047 17048 rm -- remove files or directories 17049 17050 Description 17051 17052 rm is as specified in the SUS but with differences as listed below. 17053 17054 LSB Deprecated Differences 17055 17056 The behaviors specified in this section are expected to disappear from a future 17057 version of the LSB; applications should only use the non-LSB-deprecated 17058 behaviors. 17059 17060 -v, --verbose 17061 17062 explains what is being done. 17063 17064 --help 17065 17066 displays this help and exits. 17067 17068 --version 17069 17070 outputs version information and exits. 17071 17072 rmdir 17073 17074 Name 17075 17076 rmdir -- remove empty directories 17077 17078 Description 17079 17080 rmdir is as specified in the SUS but with differences as listed below. 17081 17082 LSB Deprecated Differences 17083 17084 The behaviors specified in this section are expected to disappear from a future 17085 version of the LSB; applications should only use the non-LSB-deprecated 17086 behaviors. 17087 17088 --ignore-fail-on-non-empty 17089 17090 ignores each failure that is solely because a directory is non-empty. 17091 17092 --verbose 17093 17094 outputs a diagnostic for every directory processed. 17095 17096 --help 17097 17098 displays this help and exits. 17099 17100 --version 17101 17102 outputs version information and exits. 17103 17104 rsync 17105 17106 Name 17107 17108 rsync -- faster, flexible replacement for rcp 17109 17110 Synopsis 17111 17112 rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST 17113 rsync [OPTION]... [USER@]HOST:SRC DEST 17114 rsync [OPTION]... SRC [SRC]... DEST 17115 rsync [OPTION]... [USER@]HOST::SRC [DEST] 17116 rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST 17117 rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] 17118 17119 Description 17120 17121 rsync behaves in much the same way that rcp does, but has many more options and 17122 uses its remote-update protocol to greatly speedup file transfers when the 17123 destination file already exists. 17124 17125 The remote-update protocol allows rsync to transfer just the differences 17126 between two sets of files across the network link, using an efficient 17127 checksum-search algorithm described in the technical report that accompanies 17128 this package. 17129 17130 Standard Options 17131 17132 --version 17133 17134 prints the rsync version number and exits. 17135 17136 -v, --verbose 17137 17138 increases the amount of information given during the transfer. By default, 17139 rsync works silently. A single -v gives information about what files are 17140 being transferred and a brief summary at the end. Two -v flags give 17141 information on what files are being skipped and slightly more information 17142 at the end. 17143 17144 -q, --quiet 17145 17146 decreases the amount of information given during the transfer, notably 17147 suppressing information messages from the remote server. This flag is 17148 useful when invoking rsync from cron. 17149 17150 -I, --ignore-times 17151 17152 turns off the skipping of files that are already the same length and have 17153 the same time-stamp. 17154 17155 -c, --checksum 17156 17157 forces the sender to checksum all files using a 128-bit MD4 checksum before 17158 transfer. The checksum is then explicitly checked on the receiver and any 17159 files of the same name which already exist and have the same checksum and 17160 size on the receiver are skipped. This option can be quite slow. 17161 17162 -a, --archive 17163 17164 is a shortcut for specifying recursion and to preserve all attributes. 17165 17166 -r, --recursive 17167 17168 copies directories recursively. If not specified, rsync will not copy 17169 directories at all. 17170 17171 -R, --relative 17172 17173 uses relative paths. This means that the full path names specified on the 17174 command line are sent to the server rather than just the last parts of the 17175 filenames. 17176 17177 -b, --backup 17178 17179 renames preexisting destination files with a ~ extension as each file is 17180 transferred. You can control the backup suffix using the --suffix option. 17181 17182 --backup-dir=DIR 17183 17184 combines with --backup to store all backups in the specified directory. 17185 This is very useful for incremental backups. 17186 17187 --suffix=SUFFIX 17188 17189 overrides the default backup suffix used with the -b option. The default is 17190 a ~. 17191 17192 -u, --update 17193 17194 skips any files for which the destination file already exists and has a 17195 date later than the source file. 17196 17197 -l, --links 17198 17199 recreates symbolic links on the remote system to be the same as the local 17200 system. Without this option, all symbolic links are skipped. 17201 17202 -L, --copy-links 17203 17204 transfers the file referenced by a symbolic link, rather than recreating 17205 the link. 17206 17207 --copy-unsafe-links 17208 17209 treats symbolic links that point outside the source tree like ordinary 17210 files. Absolute symlinks are also treated like ordinary files, and so are 17211 any symlinks in the source path itself when --relative is used. 17212 17213 --safe-links 17214 17215 ignores any symbolic links that point outside the destination tree. All 17216 absolute symlinks are also ignored. 17217 17218 -H, --hard-links 17219 17220 recreates hard links on the remote system to be the same as the local 17221 system. Without this option hard links are treated like regular files. 17222 17223 -W, --whole-file 17224 17225 does not use the incremental rsync algorithm and sends the whole file as-is 17226 instead. This may be useful when using rsync with a local machine. 17227 17228 -p, --perms 17229 17230 updates the remote permissions to be the same as the local permissions. 17231 17232 -o, --owner 17233 17234 updates the remote owner of the file to be the same as the local owner. 17235 This is only available to the super-user. Note that if the source system is 17236 a daemon using chroot, --numeric-ids is implied because the source system 17237 cannot get access to the usernames. 17238 17239 -g, --group 17240 17241 updates the remote group of the file to be the same as the local group. If 17242 the receiving system is not running as the super-user, only groups that the 17243 receiver is a member of will be preserved (by group name, not group id 17244 number). 17245 17246 -D, --devices 17247 17248 transfers character and block device information to the remote system to 17249 recreate these devices. This option is only available to the super-user. 17250 17251 -t, --times 17252 17253 transfers modification times along with the files and updates them on the 17254 remote system. 17255 17256 -n, --dry-run 17257 17258 does not perform any file transfers, but simply reports the actions it 17259 would have taken. 17260 17261 -x, --one-file-system 17262 17263 does not cross filesystem boundaries when recursing. 17264 17265 --existing 17266 17267 does not create any new files - only updates files that already exist on 17268 the destination. 17269 17270 --max-delete=NUM 17271 17272 does not delete more than NUM files or directories. 17273 17274 --delete 17275 17276 deletes any files on the receiving side that are not on the sending side. 17277 Files that are excluded from transfer are excluded from being deleted 17278 unless --delete-excluded is specified. 17279 17280 has no effect if directory recursion is not selected. 17281 17282 --delete-excluded 17283 17284 deletes any files on the receiving side that are excluded, in addition to 17285 deleting the files on the receiving side that are not on the sending side. 17286 (See --exclude.) 17287 17288 --delete-after 17289 17290 processes file deletions after transferring files, as opposed to the 17291 default behavior of deleting before the transfer to ensure that there is 17292 sufficient space on the receiving filesystem. 17293 17294 -B, --block-size=BLOCKSIZE 17295 17296 controls the block size used in the rsync algorithm. See the technical 17297 report for details. 17298 17299 -e, --rsh=COMMAND 17300 17301 specifies the remote shell program to use for communication between the 17302 local and remote copies of rsync. 17303 17304 You can also choose the remote shell program using the RSYNC_RSH 17305 environment variable. 17306 17307 --rsync-path=PATH 17308 17309 specifies the path to the copy of rsync on the remote machine. Note that 17310 this is the full path to the binary, not just the directory that the binary 17311 is in. 17312 17313 --exclude=PATTERN 17314 17315 selectively excludes certain files from the list of files to be 17316 transferred. 17317 17318 You may use as many --exclude options on the command line as you like to 17319 build up the list of files to exclude. 17320 17321 --exclude-from=FILE 17322 17323 is like the --exclude option, but instead adds all exclude patterns listed 17324 in the file FILE to the exclude list. Blank lines in FILE and lines 17325 starting with “;“ or “#“ are ignored. 17326 17327 --include=PATTERN 17328 17329 does not exclude the specified pattern of filenames. This is useful as it 17330 allows you to build up quite complex exclude/include rules. 17331 17332 --include-from=FILE 17333 17334 specifies a list of include patterns from a file. 17335 17336 -T, --temp-dir=DIR 17337 17338 instructs rsync to use DIR as a scratch directory when creating temporary 17339 copies of the files transferred on the receiving side. The default behavior 17340 is to create the temporary files in the receiving directory. 17341 17342 -z, --compress 17343 17344 compresses any data from the source file(s) that it sends to the 17345 destination machine. 17346 17347 --numeric-ids 17348 17349 transfers numeric group and user ids rather than using user and group names 17350 and mapping them at both ends. 17351 17352 By default rsync will use the user name and group name to determine what 17353 ownership to give files. The special uid 0 and the special group 0 are 17354 never mapped via user/group names even if --numeric-ids is not specified. 17355 17356 --timeout=TIMEOUT 17357 17358 sets a maximum IO timeout in seconds. If no data is transferred for the 17359 specified time, rsync will exit. The default is 0, which means no timeout. 17360 17361 --port=PORT 17362 17363 specifies an alternate TCP port number to use rather than the default port 17364 873. This only has effect when using rsync to connect to a remote rsync 17365 daemon. 17366 17367 --blocking-io 17368 17369 specifies whether rsync will use blocking IO when launching a remote shell 17370 transport. You may find this is needed for some remote shells that can“t 17371 handle the default non-blocking IO. 17372 17373 --partial 17374 17375 keeps any partially-transferred file in the event of an incomplete transfer 17376 (causing a subsequent transfer of the file remainder to process more 17377 rapidly) as opposed to the default behavior of rsync where an incomplete 17378 file is deleted. 17379 17380 --progress 17381 17382 prints information showing the progress of the transfer. 17383 17384 -P 17385 17386 is equivalent to --partial --progress. 17387 17388 --password-file 17389 17390 allows you to provide a password in a file for accessing a remote rsync 17391 server. Note that this option is only useful when accessing a rsync server 17392 using the built in transport, not when using a remote shell as the 17393 transport. The file must not be world readable. It should contain just the 17394 password as a single line. 17395 17396 --bwlimit=KBPS 17397 17398 specifies a maximum transfer rate in kilobytes per second. A value of zero 17399 specifies no limit. 17400 17401 sed 17402 17403 Name 17404 17405 sed -- stream editor 17406 17407 Description 17408 17409 sed is as specified in the SUS but with differences as listed below. 17410 17411 LSB Deprecated Differences 17412 17413 The behaviors specified in this section are expected to disappear from a future 17414 version of the LSB; applications should only use the non-LSB-deprecated 17415 behaviors. 17416 17417 -V, --version 17418 17419 prints out the version of sed that is being run and a copyright notice, 17420 then exits. 17421 17422 --quiet, --silent 17423 17424 is equivalent to -n. 17425 17426 --expression 17427 17428 is equivalent to -e. 17429 17430 --file=script-file 17431 17432 is equivalent to -f. 17433 17434 sendmail 17435 17436 Name 17437 17438 sendmail -- an electronic mail transport agent 17439 17440 Synopsis 17441 17442 sendmail [flags] [address ...] 17443 17444 Description 17445 17446 To deliver electronic mail (email), applications shall support the interface 17447 provided by /usr/sbin/sendmail (described here). This interface shall be the 17448 default delivery method for applications. 17449 17450 This program sends an email message to one or more recipients, routing the 17451 message as necessary. This program is not intended as a user interface routine. 17452 17453 With no flags, sendmail reads its standard input up to an end-of-file or a line 17454 consisting only of a single dot and sends a copy of the message found there to 17455 all of the addresses listed. It determines the network(s) to use based on the 17456 syntax and contents of the addresses. 17457 17458 It is recommended that applications use as few flags as necessary, none if 17459 possible. 17460 17461 Some agents allow aliasing on the local system to be prevented by preceding the 17462 address with a backslash. 17463 17464 The format of messages must be as defined in RFC 2822. 17465 17466 Options 17467 17468 -bm 17469 17470 reads mail from standard input and delivers to the recipient addresses. 17471 This is the default mode of operation. 17472 17473 -bp 17474 17475 lists information about messages currently in the input mail queue. 17476 17477 -bs 17478 17479 uses the SMTP protocol as described in RFC 2821; reads SMTP commands on 17480 standard input and writes SMTP responses on standard output. 17481 17482 Note that RFC 2821 specifies \r\n (CR-LF) be used at the end of each line, 17483 but UNIX pipes almost always use \n (LF) instead. To deal with this, agents 17484 will accept both \r\n and \n at the end of each line. When accepting \r\n, 17485 the \r before the \n is silently discarded. 17486 17487 -F fullname 17488 17489 explicitly sets the full name of the sender for incoming mail unless the 17490 message already contains a From: message header. 17491 17492 If the user running sendmail is not sufficiently trusted, then the actual 17493 sender may be indicated in the message, depending on the behavior of the 17494 agent. 17495 17496 -f name 17497 17498 explicitly sets the envelope sender address for incoming mail. If there is 17499 no From: header, the address specified in the From: header will also be 17500 set. 17501 17502 If the user running sendmail is not sufficiently trusted, then the actual 17503 sender will be indicated in the message. 17504 17505 -i 17506 17507 ignores dots alone on lines by themselves in incoming messages. This option 17508 is ignored when -bs is used. 17509 17510 -odb 17511 17512 delivers any mail in background, if supported; otherwise ignored. 17513 17514 -odf 17515 17516 delivers any mail in foreground, if supported; otherwise ignored. 17517 17518 -oem or -em 17519 17520 mails errors back to the sender. (default) 17521 17522 -oep or -ep 17523 17524 writes errors to the standard error output. 17525 17526 -oeq or -eq 17527 17528 does not send notification of errors to the sender. This only works for 17529 mail delivered locally. 17530 17531 -oi 17532 17533 is equivalent to -i. 17534 17535 -om 17536 17537 indicates that the sender of a message should receive a copy of the message 17538 if the sender appears in an alias expansion. Ignored if aliases are not 17539 supported. 17540 17541 -t 17542 17543 reads the message to obtain recipients from the To:, Cc:, and Bcc: headers 17544 in the message instead of from the command arguments. If a Bcc: header is 17545 present, it is removed from the message unless there is no To: or Cc: 17546 header, in which case a Bcc: header with no data is created, in accordance 17547 with RFC 2822. 17548 17549 If there are any arguments, they specify addresses to which the message is 17550 not to be delivered. That is, the argument addresses are removed from the 17551 recipients list obtained from the headers. Note: some agents implement this 17552 behavior in reverse, adding addresses instead of removing them. Others may 17553 disallow addresses in argument list. Therefore, applications should not put 17554 addresses in the argument list if -t is used. 17555 17556 This option is sometimes ignored when not in -bm mode (the default). 17557 17558 Exit status 17559 17560 0 17561 17562 successful completion on all addresses. This does not indicate successful 17563 delivery. 17564 17565 >0 17566 17567 there was an error. 17568 17569 LSB-deprecated Options 17570 17571 The behaviors specified in this section are expected to disappear from a future 17572 version of the LSB; applications should only use the non-LSB-deprecated 17573 behaviors. 17574 17575 The use of -i together with -bs is LSB-deprecated. 17576 17577 -oew or -ew 17578 17579 writes errors to the sender's terminal using the write(1) command, if he is 17580 logged in. Otherwise, mails errors back to the sender. If not supported, 17581 reports errors in the same manner as -oem. 17582 17583 -v 17584 17585 is more verbose. Additional -v options may make the software increasingly 17586 verbose. 17587 17588 Notes/Rationale 17589 17590 This page is believed to reflect functionality provided by smail, exim and 17591 other implementations, not just the sendmail implementation. 17592 17593 shutdown 17594 17595 Name 17596 17597 shutdown -- bring the system down 17598 17599 Synopsis 17600 17601 /sbin/shutdown [-t sec] [-arkhcfF] time [warning-message] 17602 17603 Description 17604 17605 shutdown brings the system down in a secure way. All logged-in users are 17606 notified that the system is going down, and login(1) is blocked. It is possible 17607 to shut the system down immediately or after a specified delay. All processes 17608 are first notified that the system is going down by the signal SIGTERM. If 17609 neither the -h or the -r argument is used, then the default behavior is to take 17610 the system to runlevel one where administrative tasks can be run. 17611 17612 Standard Options 17613 17614 -a 17615 17616 uses /etc/shutdown.allow. 17617 17618 -t sec 17619 17620 tells init(8) to wait sec seconds between sending processes the warning and 17621 the kill signal, before changing to another runlevel. 17622 17623 -k 17624 17625 doesn't really shutdown; only sends the warning messages to everybody. 17626 17627 -r 17628 17629 reboots after shutdown. 17630 17631 -h 17632 17633 halts after shutdown. Powering off after halting is 17634 implementation-dependent. 17635 17636 -f 17637 17638 skips fsck on reboot. 17639 17640 -F 17641 17642 forces fsck on reboot. 17643 17644 -c 17645 17646 cancels an already running shutdown. With this option, it is of course not 17647 possible to give the time argument, but you can enter a explanatory message 17648 on the command line that will be sent to all users. 17649 17650 time 17651 17652 specifies when to shut down. 17653 17654 The time argument can have different formats. First, it can be an absolute 17655 time in the format hh:mm, in which hh is the hour (1 or 2 digits) and mm is 17656 the minute of the hour (in two digits). Second, it can be in the format +m, 17657 in which m is the number of minutes to wait. The word now is an alias for 17658 +0. 17659 17660 If shutdown is called with a delay, it creates the advisory file /etc/ 17661 nologin which causes programs such as login(1) to not allow new user 17662 logins. shutdown only removes this file if it is stopped before it can 17663 signal init (i.e. it is cancelled or something goes wrong). Otherwise it is 17664 the responsibility of the system shutdown or startup scripts to remove this 17665 file so that users can login. 17666 17667 warning-message 17668 17669 specifies message to send all users. 17670 17671 sleep 17672 17673 Name 17674 17675 sleep -- delay for a specified amount of time 17676 17677 Synopsis 17678 17679 sleep [OPTION]... NUMBER[SUFFIX] 17680 17681 Description 17682 17683 The specification for sleep is as specified in the SUS but with the following 17684 differences. 17685 17686 LSB Deprecated Differences 17687 17688 The behaviors specified in this section are expected to disappear from a future 17689 version of the LSB; applications should only use the non-LSB-deprecated 17690 behaviors. 17691 17692 The operand to sleep in the SUS is the number of seconds to sleep for. As an 17693 extension, the number may be followed by s to keep seconds, m for minutes, h 17694 for hours or d for days. 17695 17696 --help 17697 17698 displays help and exits. 17699 17700 --version 17701 17702 outputs version information and exits. 17703 17704 sort 17705 17706 Name 17707 17708 sort -- sort, merge or sequence check text files 17709 17710 Description 17711 17712 sort is as specified in the SUS but with differences as listed below. 17713 17714 Differences 17715 17716 -z 17717 17718 has implementation-dependent behavior. (Rationale: the SUSv2 -z option is 17719 supported in neither the SUSv3 nor existing Linux implementations). 17720 17721 LSB Deprecated Differences 17722 17723 The behaviors specified in this section are expected to disappear from a future 17724 version of the LSB; applications should only use the non-LSB-deprecated 17725 behaviors. 17726 17727 -g 17728 17729 compares according to general numerical value, implies -b. 17730 17731 -M 17732 17733 compares (unknown) < JAN < ... < DEC, imply -b. 17734 17735 -s 17736 17737 stabilizes sort by disabling last resort comparison. 17738 17739 -T DIRECTORY 17740 17741 uses DIRECTORY for temporary files, not $TMPDIR or /tmp. 17742 17743 --version 17744 17745 outputs version information and exits. 17746 17747 split 17748 17749 Name 17750 17751 split -- split a file into pieces 17752 17753 Description 17754 17755 split is as specified in the SUS but with differences as listed below. 17756 17757 Differences 17758 17759 -a suffix_length 17760 17761 has implementation-dependent behavior. [44] 17762 17763 LSB Deprecated Differences 17764 17765 The behaviors specified in this section are expected to disappear from a future 17766 version of the LSB; applications should only use the non-LSB-deprecated 17767 behaviors. 17768 17769 --bytes=SIZE 17770 17771 is equivalent to -b. 17772 17773 -C, --line-bytes 17774 17775 puts at most SIZE bytes of lines per output file. 17776 17777 --lines 17778 17779 is equivalent to -l. 17780 17781 --verbose 17782 17783 prints a diagnostic to standard error. 17784 17785 --version 17786 17787 outputs version information and exits. 17788 17789 strip 17790 17791 Name 17792 17793 strip -- remove unnecessary information from executable files 17794 17795 Description 17796 17797 strip is as specified in the SUS but with differences as listed below. 17798 17799 LSB Deprecated Differences 17800 17801 The behaviors specified in this section are expected to disappear from a future 17802 version of the LSB; applications should only use the non-LSB-deprecated 17803 behaviors. 17804 17805 -F bdfname, --target=bfdname 17806 17807 treats the original objfile as a file with the object code format bfdname, 17808 and rewrites it in the same format. 17809 17810 -I bfdname, --input-target=bfdname 17811 17812 treats the original objfile as a file with the object code format bfdname. 17813 17814 -O bdfname, --output-target=bfdname 17815 17816 replaces objfile with a file in the output format bfdname. 17817 17818 -R sectionname, --remove-section=sectionname 17819 17820 removes the named section from the file. This option may be given more than 17821 once. Note that using this option inappropriately may make the object file 17822 unusable. 17823 17824 -s, --strip-all 17825 17826 removes all symbols. 17827 17828 -S, -g, --strip-debug 17829 17830 removes debugging symbols only. 17831 17832 --strip-unneeded 17833 17834 strips all symbols that are not needed for relocation processing. 17835 17836 -N symbolname, --strip-symbol=symbolname 17837 17838 removes symbol symbolname from the source file. This option may be given 17839 more than once, and may be combined with other strip options. 17840 17841 -o file 17842 17843 puts the stripped output in file, rather than replacing the existing file. 17844 When this argument is used, only one objfile argument may be specified. 17845 17846 -p, --preserve-dates 17847 17848 preserves the access and modification dates of the file. 17849 17850 -x, --discard-all 17851 17852 removes non-global symbols. 17853 17854 -X, --discard-locals 17855 17856 removes compiler-generated local symbols. (These usually start with `L' or 17857 `.'.) 17858 17859 -K symbolname, --keep-symbol=symbolname 17860 17861 copies only symbol symbolname from the source file. This option may be 17862 given more than once. 17863 17864 -N symbolname, --strip-symbol=symbolname 17865 17866 does not copy symbol symbolname from the source file. This option may be 17867 given more than once, and may be combined with strip options other than -K. 17868 17869 -v, --verbose 17870 17871 lists all object files modified. In the case of archives, lists all members 17872 of the archive. 17873 17874 --version 17875 17876 shows the version number for strip and exits. 17877 17878 su 17879 17880 Name 17881 17882 su -- change user ID or become super-user 17883 17884 Synopsis 17885 17886 su [OPTS] [-] [username [ARGS]] 17887 17888 Description 17889 17890 su is used to become another user during a login session. Invoked without a 17891 username, su defaults to becoming the super user. The optional argument - may 17892 be used to provide an environment similar to what the user would expect had the 17893 user logged in directly. 17894 17895 The user will be prompted for a password, if appropriate. Invalid passwords 17896 will produce an error message. All attempts, both valid and invalid, are logged 17897 to detect abuses of the system. Applications may not assume the format of 17898 prompts and anticipated input for user interaction, because they are 17899 implementation-dependent. 17900 17901 An optional command can be executed. This is done by the shell specified in / 17902 etc/passwd for the target user unless the -s or -m options are used. Any 17903 arguments supplied after the username will be passed to the invoked shell 17904 (shell must support the -c command line option in order for a command to be 17905 passed to it). 17906 17907 The current environment is passed to the new shell. The value of $PATH is reset 17908 to /bin:/usr/bin for normal users, or /sbin:/bin:/usr/sbin:/usr/bin for the 17909 super user. This may be changed with the ENV_PATH and ENV_SUPATH definitions in 17910 /etc/login.defs. When using the -m or -p options, the user's environment is not 17911 changed. 17912 17913 A subsystem login is indicated by the presense of a "*" as the first character 17914 of the login shell. The given home directory will be used as the root of a new 17915 filesystem which the user is actually logged into. 17916 17917 Standard Options 17918 17919 - 17920 17921 makes this a login shell. 17922 17923 -c, --comand=command 17924 17925 passes command to the invoked shell. It is passed directly to the invoked 17926 shell (using the shell's -c option), so its syntax is whatever that shell 17927 will accept. 17928 17929 -m, -p, --preserve-environment 17930 17931 does not reset environment variables, and keeps the same shell if it is 17932 present in /etc/shells. 17933 17934 -s, --shell=shell 17935 17936 uses shell instead of the default in /etc/passwd. The shell specified must 17937 be present in /etc/shells. 17938 17939 sum 17940 17941 Name 17942 17943 sum -- print checksum and block count of a file (deprecated) 17944 17945 Description 17946 17947 The sum command is deprecated and is expected to disappear from a future 17948 version of the LSB; applications should use cksum or md5sum instead. 17949 17950 sum is as specified in the SUS but with differences as listed below. 17951 17952 Differences 17953 17954 -s, --sysv 17955 17956 uses System V sum algorithm, uses 512 bytes blocks. 17957 17958 --version 17959 17960 outputs version information and exits. 17961 17962 sync 17963 17964 Name 17965 17966 sync -- flush filesystem buffers 17967 17968 Synopsis 17969 17970 sync [OPTION] 17971 17972 Description 17973 17974 Force changed blocks to disk, update the super block. 17975 17976 LSB Deprecated Options 17977 17978 The behaviors specified in this section are expected to disappear from a future 17979 version of the LSB; applications should only use the non-LSB-deprecated 17980 behaviors. 17981 17982 --help 17983 17984 displays help and exits. 17985 17986 --version 17987 17988 outputs version information and exits. 17989 17990 tail 17991 17992 Name 17993 17994 tail -- output the last part of files 17995 17996 Description 17997 17998 tail is as specified in the SUS but with differences as listed below. 17999 18000 LSB Deprecated Differences 18001 18002 The behaviors specified in this section are expected to disappear from a future 18003 version of the LSB; applications should only use the non-LSB-deprecated 18004 behaviors. 18005 18006 --retry 18007 18008 tries to open a file even if it is inaccessible when tail starts or if it 18009 becomes inaccessible later; useful only with -f. 18010 18011 --bytes=N 18012 18013 outputs the last N bytes. 18014 18015 --follow 18016 18017 is equivalent to -f. 18018 18019 --lines=N 18020 18021 is equivalent to -n. 18022 18023 --max-unchanged-stats=N 18024 18025 performs open/fstat of a file specified by name (if there have been N 18026 consecutive iterations for which the size has remained the same) to 18027 determine if that file name is still associated with the same device/ 18028 inode-number pair as before. 18029 18030 --max-consecutive-size-changes=N 18031 18032 if a file has been specified by name, controls how long tail follows the 18033 descriptor of a file that continues growing at a rapid pace even after it 18034 is deleted or renamed. After detecting N consecutive size changes for a 18035 file, open/fstat the file to determine if that file name is still 18036 associated with the same device/inode-number pair as before. 18037 18038 --pid=PID 18039 18040 terminates after process ID PID dies (only may be specified if -f is). 18041 18042 -q, --quiet, --silent 18043 18044 does not outputs headers giving file names. 18045 18046 -s, --sleep-interval=S 18047 18048 sleeps S seconds between iterations (only may be specified if -f is). 18049 18050 -v, --verbose 18051 18052 outputs headers giving file names. 18053 18054 +NUMBER, -NUMBER 18055 18056 supports b, k and m as suffixes (referring to multipliers 512, 1024 and 18057 1048576, respectively), as opposed to the c or l suffixes as stated in the 18058 SUS. 18059 18060 tar 18061 18062 Name 18063 18064 tar -- file archiver 18065 18066 Description 18067 18068 tar is as specified in the SUS but with differences as listed below. 18069 18070 Differences 18071 18072 -A, --catenate, --concatenate 18073 18074 appends tar files to an archive. 18075 18076 --create 18077 18078 is equivalent to -c. 18079 18080 -d, --diff, --compare 18081 18082 finds differences between archive and file system. 18083 18084 --delete 18085 18086 deletes from the archive. (Not for use on mag tapes!) 18087 18088 --apend 18089 18090 is equivalent to -r. 18091 18092 --list 18093 18094 is equivalent to -t. 18095 18096 --update 18097 18098 is equivalent to -u. 18099 18100 --extract, --get 18101 18102 extracts files from an archive. 18103 18104 --atime-preserve 18105 18106 does not change access times on dumped files. 18107 18108 --block-size N 18109 18110 is equivalent to -b. 18111 18112 -B, --read-full-blocks 18113 18114 reblocks as we read; for reading 4.2BSD pipes. 18115 18116 -C, --directory DIR 18117 18118 changes to directory DIR. 18119 18120 --checkpoint 18121 18122 prints directory names while reading the archive. 18123 18124 -f, --file [HOSTNAME:]F 18125 18126 uses archive file or device F. The default is "-", meaning stdin/stdout. 18127 18128 --force-local 18129 18130 specifies that archive file is local even if has a colon. 18131 18132 -F, --info-script F, --new-volume-script F 18133 18134 runs script at end of each tape; implies -M. 18135 18136 -G, --incremental 18137 18138 creates/lists/extracts old GNU-format incremental backup. 18139 18140 -g, --listed-incremental F 18141 18142 creates/lists/extracts new GNU-format incremental backup. 18143 18144 -h, --dereference 18145 18146 doesn't dump symlinks; dumps the files they point to. 18147 18148 -i, --ignore-zeros 18149 18150 ignores blocks of zeros in archive that normally mean EOF. 18151 18152 --bzip2 18153 18154 filters archive through bzip2; used to decompress .bz2 files. 18155 18156 --ignore-failed-read 18157 18158 doesn't exit with non-zero status on unreadable files. 18159 18160 -k, --keep-old-files 18161 18162 keeps existing files; doesn't overwrite them from archive. 18163 18164 -K, --starting-file F 18165 18166 begins at file F in the archive. 18167 18168 -l, --one-file-system 18169 18170 stays in local file system when creating an archive. 18171 18172 -L, --tape-length N 18173 18174 changes tapes after writing N*1024 bytes. 18175 18176 --modification-time 18177 18178 is equivalent to -m. 18179 18180 -M, --multi-volume 18181 18182 creates/lists/extracts multi-volume archive. 18183 18184 -N, --after-date DATE, --newer DATE 18185 18186 stores only files newer than DATE. 18187 18188 -o, --old-archive, --portability 18189 18190 writes a V7 format archive, rather than ANSI format. Note that for -o the 18191 behavior is different than what is specified in the SUSv2. 18192 18193 -O, --to-stdout 18194 18195 extracts files to standard output. 18196 18197 -p, --same-permissions, --preserve-permissions 18198 18199 extracts all protection information. 18200 18201 -P, --absolute-paths 18202 18203 does not strip leading /s from file names. 18204 18205 --preserve 18206 18207 is equivalent to -p -s. 18208 18209 -R, --record-number 18210 18211 shows record number within archive with each message. 18212 18213 --remove-files 18214 18215 removes files after adding them to the archive. 18216 18217 -s, --same-order, --preserve-order 18218 18219 sorts list of names to extract to match archive. 18220 18221 --same-owner 18222 18223 creates extracted files with the same ownership. 18224 18225 -S, --sparse 18226 18227 handles sparse files efficiently. 18228 18229 -T, --files-from F 18230 18231 gets names to extract or create from file F. 18232 18233 --null 18234 18235 causes -T to read null-terminated names; disables -C. 18236 18237 --totals 18238 18239 prints total bytes written with --create. 18240 18241 --verbose 18242 18243 is equivalent to -v. 18244 18245 -V, --label NAME 18246 18247 creates archive with volume name NAME. 18248 18249 --version 18250 18251 prints tar program version number. 18252 18253 -w, --interactive, --confirmation 18254 18255 asks for confirmation for every action. 18256 18257 -W, --verify 18258 18259 attempts to verify the archive after writing it. 18260 18261 --exclude FILE 18262 18263 excludes file FILE. 18264 18265 -X, --exclude-from FILE 18266 18267 excludes files listed in FILE. 18268 18269 -Z, --compress, --uncompress 18270 18271 filters the archive through compress. 18272 18273 -z, --gzip, --ungzip 18274 18275 filters the archive through gzip. 18276 18277 --use-compress-program PROG 18278 18279 filters the archive through PROG (which must accept -d) 18280 18281 --block-compress 18282 18283 blocks the output of compression program for tapes. 18284 18285 -[0-7][lmh] 18286 18287 specifies drive and density. 18288 18289 tee 18290 18291 Name 18292 18293 tee -- read from standard input and write to standard output and files 18294 18295 Description 18296 18297 tee is as specified in the SUS but with differences as listed below. 18298 18299 LSB Deprecated Differences 18300 18301 The behaviors specified in this section are expected to disappear from a future 18302 version of the LSB; applications should only use the non-LSB-deprecated 18303 behaviors. 18304 18305 --append 18306 18307 is equivalent to -a. 18308 18309 --ignore-interrupts 18310 18311 is equivalent to -i. 18312 18313 --version 18314 18315 outputs version information and exits. 18316 18317 test 18318 18319 Name 18320 18321 test -- check file types and compare values 18322 18323 Description 18324 18325 test is as specified in the SUS but with differences as listed below. 18326 18327 LSB Deprecated Differences 18328 18329 The behaviors specified in this section are expected to disappear from a future 18330 version of the LSB; applications should only use the non-LSB-deprecated 18331 behaviors. 18332 18333 -G FILE 18334 18335 FILE exists and is owned by the effective group ID. 18336 18337 -k FILE 18338 18339 FILE exists and has its sticky bit set. 18340 18341 -L FILE 18342 18343 FILE exists and is a symbolic link. 18344 18345 -O FILE 18346 18347 FILE exists and is owned by the effective user ID. 18348 18349 -S 18350 18351 FILE exists and is a socket. 18352 18353 time 18354 18355 Name 18356 18357 time -- run programs and summarize system resource usage 18358 18359 Description 18360 18361 time is as specified in the SUS but with differences as listed below. 18362 18363 LSB Deprecated Differences 18364 18365 The behaviors specified in this section are expected to disappear from a future 18366 version of the LSB; applications should only use the non-LSB-deprecated 18367 behaviors. 18368 18369 -o FILE, --output=FILE 18370 18371 writes the resource use statistics to FILE instead of to the standard error 18372 stream. By default, this overwrites the file, destroying the file's 18373 previous contents. 18374 18375 -a, --append 18376 18377 appends the resource use information to the output file instead of 18378 overwriting it. 18379 18380 -f FORMAT, --format=FORMAT 18381 18382 uses FORMAT as the format string that controls the output of time. See 18383 "Formatting the Output" below more information. 18384 18385 --portability 18386 18387 is equivalent to -p. 18388 18389 -v, --verbose 18390 18391 displays each available piece of information on the program's resource use 18392 on its own line, with an English description of its meaning. 18393 18394 -V, --version 18395 18396 prints the version number of time and exits. 18397 18398 Formatting the Output (LSB Deprecated) 18399 18400 The format string FORMAT controls the contents of the time output. The format 18401 string can be set using the -f or --format, -v or --verbose, or -p or 18402 --portability options. If they are not given, but the TIME environment variable 18403 is set, its value is used as the format string. Otherwise, a built-in default 18404 format is used. 18405 18406 The default format is: 18407 18408 %Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k 18409 %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps 18410 18411 The format string usually consists of resource specifiers interspersed with 18412 plain text. A percent sign (%) in the format string causes the following 18413 character to be interpreted as a resource specifier, which is similar to the 18414 formatting characters in the printf(3) function. 18415 18416 A backslash (\) introduces a backslash escape, which is translated into a 18417 single printing character upon output. \t outputs a tab character, \n outputs a 18418 newline, and \\ outputs a backslash. A backslash followed by any other 18419 character outputs a question mark (?) followed by a backslash, to indicate that 18420 an invalid backslash escape was given. 18421 18422 Other text in the format string is copied verbatim to the output. time always 18423 prints a newline after printing the resource use information, so normally 18424 format strings do not end with a newline character (or 0). 18425 18426 There are many resource specifications. Not all resources are measured by all 18427 versions of UNIX, so some of the values might be reported as zero. Any 18428 character following a percent sign that is not listed in the table below causes 18429 a question mark (`?') to be output, followed by that character, to indicate 18430 that an invalid resource listed in the table below causes a question mark (`?') 18431 to be output, followed by that character, to indicate that an invalid resource 18432 specifier was given. 18433 18434 The resource specifiers, which are a superset of those recognized by the tcsh 18435 (1) builtin `time' command, are: 18436 18437 % 18438 18439 literal `%'. 18440 18441 C 18442 18443 name and command line arguments of the command being timed. 18444 18445 D 18446 18447 average size of the processs unshared data area, in units of 1024 bytes. 18448 18449 E 18450 18451 elapsed real (wall clock) time used by the process, in [hours:]minutes: 18452 seconds. 18453 18454 F 18455 18456 number of major, or I/O-requiring, page faults that occurred while the 18457 process was running. These are faults where the page has actually migrated 18458 out of primary memory. 18459 18460 I 18461 18462 number of file system inputs by the process. 18463 18464 K 18465 18466 average total (data+stack+text) memory use of the process, in units of 1024 18467 bytes. 18468 18469 M 18470 18471 maximum resident set size of the process during its lifetime, in units of 18472 1024 bytes. 18473 18474 O 18475 18476 number of file system outputs by the process. 18477 18478 P 18479 18480 percentage of the CPU that this job got. This is just user + system times 18481 divided by the total running time. 18482 18483 R 18484 18485 number of minor, or recoverable, page faults. These are pages that are not 18486 valid (so they fault) but which have not yet been claimed by other virtual 18487 pages. Thus the data in the page is still valid but the system tables must 18488 be updated. 18489 18490 S 18491 18492 total number of CPU-seconds used by the system on behalf of the process (in 18493 kernel mode), in seconds. 18494 18495 U 18496 18497 total number of CPU-seconds that the process used directly (in user mode), 18498 in seconds. 18499 18500 W 18501 18502 number of times the process was swapped out of main memory. 18503 18504 X 18505 18506 average amount of shared text in the process, in units of 1024 bytes. 18507 18508 Z 18509 18510 system's page size, in bytes. This is a per-system constant, but varies 18511 between systems. 18512 18513 c 18514 18515 number of times the process was context-switched involuntarily (because the 18516 time slice expired). 18517 18518 e 18519 18520 elapsed real (wall clock) time used by the process, in seconds. 18521 18522 k 18523 18524 number of signals delivered to the process. 18525 18526 p 18527 18528 average unshared stack size of the process, in units of 1024 bytes. 18529 18530 r 18531 18532 number of socket messages received by the process. 18533 18534 s 18535 18536 number of socket messages sent by the process. 18537 18538 t 18539 18540 average resident set size of the process, in units of 1024 bytes. 18541 18542 w 18543 18544 number of times that the program was context-switched voluntarily, for 18545 instance while waiting for an I/O operation to complete. 18546 18547 x 18548 18549 exit status of the command. 18550 18551 touch 18552 18553 Name 18554 18555 touch -- change file access and modification times 18556 18557 Description 18558 18559 touch is as specified in the SUS but with differences as listed below. 18560 18561 LSB Deprecated Differences 18562 18563 The behaviors specified in this section are expected to disappear from a future 18564 version of the LSB; applications should only use the non-LSB-deprecated 18565 behaviors. 18566 18567 --no-create 18568 18569 is equivalent to -c. 18570 18571 -d, --date=STRING 18572 18573 parses STRING and uses it instead of current time. 18574 18575 --reference=FILE 18576 18577 is equivalent to -r. 18578 18579 --time=WORD 18580 18581 sets time given by WORD: access atime use (same as -a) modify mtime (same 18582 as -m). 18583 18584 --version 18585 18586 outputs version information and exits. 18587 18588 tr 18589 18590 Name 18591 18592 tr -- translate or delete characters 18593 18594 Description 18595 18596 tr is as specified in the SUS but with differences as listed below. 18597 18598 LSB Deprecated Differences 18599 18600 The behaviors specified in this section are expected to disappear from a future 18601 version of the LSB; applications should only use the non-LSB-deprecated 18602 behaviors. 18603 18604 --complement 18605 18606 is equivalent to -c. 18607 18608 --delete 18609 18610 is equivalent to -d. 18611 18612 --squeeze-repeats 18613 18614 is equivalent to -s. 18615 18616 -t, --truncate-set1 18617 18618 first truncates SET1 to length of SET2. 18619 18620 --version 18621 18622 outputs version information and exits. 18623 18624 tty 18625 18626 Name 18627 18628 tty -- print the file name of the terminal connected to standard input 18629 18630 Description 18631 18632 tty is as specified in the SUS but with differences as listed below. 18633 18634 LSB Deprecated Differences 18635 18636 The behaviors specified in this section are expected to disappear from a future 18637 version of the LSB; applications should only use the non-LSB-deprecated 18638 behaviors. 18639 18640 --silent, --quiet 18641 18642 is equivalent to -s. 18643 18644 --delete 18645 18646 is equivalent to -d. 18647 18648 --squeeze-repeats 18649 18650 is equivalent to -s. 18651 18652 --version 18653 18654 outputs version information and exits. 18655 18656 umount 18657 18658 Name 18659 18660 umount -- unmount file systems 18661 18662 Synopsis 18663 18664 umount [-hV] 18665 umount -a [-nrv] [-t vfstype] 18666 umount [-nrv] device | dir [...] 18667 18668 Description 18669 18670 umount detaches the file system(s) mentioned from the file hierarchy. A file 18671 system is specified by giving the directory where it has been mounted. 18672 18673 Standard Options 18674 18675 -V 18676 18677 print version and exits. 18678 18679 -v 18680 18681 invokes verbose mode. 18682 18683 -n 18684 18685 unmounts without writing in /etc/mtab. 18686 18687 -r 18688 18689 tries to remount read-only if unmounting fails. 18690 18691 -a 18692 18693 unmounts all of the file systems described in /etc/mtab except for the proc 18694 filesystem. 18695 18696 -t vfstype 18697 18698 indicates that the actions should only be taken on file systems of the 18699 specified type. More than one type may be specified in a comma separated 18700 list. The list of file system types can be prefixed with no to specify the 18701 file system types on which no action should be taken. 18702 18703 -f 18704 18705 forces unmount (in case of an unreachable NFS system). 18706 18707 uname 18708 18709 Name 18710 18711 uname -- return system name 18712 18713 Description 18714 18715 uname is as specified in the SUS but with differences as listed below. 18716 18717 Differences 18718 18719 -a 18720 18721 prints all information (not just the options specified in the SUS). 18722 18723 LSB Deprecated Differences 18724 18725 The behaviors specified in this section are expected to disappear from a future 18726 version of the LSB; applications should only use the non-LSB-deprecated 18727 behaviors. 18728 18729 --all 18730 18731 is equivalent to -a. 18732 18733 --machine 18734 18735 is equivalent to -m. 18736 18737 --nodename 18738 18739 is equivalent to -n. 18740 18741 --release 18742 18743 is equivalent to -r. 18744 18745 -p, --processor 18746 18747 prints the host processor type. 18748 18749 --sysname 18750 18751 is equivalent to -s. 18752 18753 --version 18754 18755 outputs version information and exits. 18756 18757 unexpand 18758 18759 Name 18760 18761 unexpand -- convert spaces to tabs 18762 18763 Description 18764 18765 unexpand is as specified in the SUS but with differences as listed below. 18766 18767 LSB Deprecated Differences 18768 18769 The behaviors specified in this section are expected to disappear from a future 18770 version of the LSB; applications should only use the non-LSB-deprecated 18771 behaviors. 18772 18773 --tabs=NUMBER, -NUMBER 18774 18775 is equivalent to -t NUMBER. 18776 18777 --tabs=LIST, -LIST 18778 18779 is equivalent to -t LIST. 18780 18781 uniq 18782 18783 Name 18784 18785 uniq -- remove duplicate lines from a sorted file 18786 18787 Description 18788 18789 uniq is as specified in the SUS but with differences as listed below. 18790 18791 LSB Deprecated Differences 18792 18793 The behaviors specified in this section are expected to disappear from a future 18794 version of the LSB; applications should only use the non-LSB-deprecated 18795 behaviors. 18796 18797 --count 18798 18799 is equivalent to -c. 18800 18801 --repeated 18802 18803 is equivalent to -d. 18804 18805 -D, --all-repeated 18806 18807 prints all duplicate lines. 18808 18809 --skip-fields=N 18810 18811 is equivalent to -f fields. 18812 18813 -i, --ignore-case 18814 18815 ignores differences in case when comparing. 18816 18817 --skip-chars=N 18818 18819 is equivalent to -s. 18820 18821 --unique 18822 18823 is equivalent to -u. 18824 18825 -w, --check-chars=N 18826 18827 compares no more than N characters in lines. 18828 18829 --version 18830 18831 outputs version information and exits. 18832 18833 useradd 18834 18835 Name 18836 18837 useradd -- create a new user or update default new user information 18838 18839 Synopsis 18840 18841 useradd [-c comment] [-d home_dir] 18842 [-g initial_group] [-G group[,...]] 18843 [-m [-k skeleton_dir]] [-p passwd] [-r] 18844 [-s shell] [-u uid [ -o]] login 18845 18846 useradd -D [-g default_group] [-b default_home] 18847 [-s default_shell] 18848 18849 Description 18850 18851 When invoked without the -D option, useradd creates a new user account using 18852 the values specified on the command line and the default values from the 18853 system. The new user account will be entered into the system files as needed, 18854 the home directory will be created, and initial files copied, depending on the 18855 command line options. 18856 18857 When invoked with the -D option, useradd will either display the current 18858 default values, or update the default values from the command line. If no 18859 options are specified, useradd displays the current default values. 18860 18861 Standard Options 18862 18863 -c comment 18864 18865 specifies the new user's password file comment field value. 18866 18867 -d home_dir 18868 18869 creates the new user using home_dir as the value for the user's login 18870 directory. The default is to append the login name to default_home and use 18871 that as the login directory name. 18872 18873 -g initial_group 18874 18875 specifies the group name or number of the user's initial login group. The 18876 group name must exist. A group number must refer to an already existing 18877 group. If -g is not specified, the implementation will follow the normal 18878 user default for that system. This may create a new group or choose a 18879 default group that normal users are placed in. Applications which require 18880 control of the groups into which a user is placed should specify -g. 18881 18882 -G group,[...] 18883 18884 specifies a list of supplementary groups which the user is also a member 18885 of. Each group is separated from the next by a comma, with no intervening 18886 whitespace. The groups are subject to the same restrictions as the group 18887 given with the -g option. The default is for the user to belong only to the 18888 initial group. 18889 18890 -m [-k skeleton_dir] 18891 18892 specifies the user's home directory will be created if it does not exist. 18893 The files contained in skeleton_dir will be copied to the home directory if 18894 the -k option is used, otherwise the files contained in /etc/skel will be 18895 used instead. Any directories contained in skeleton_dir or /etc/skel will 18896 be created in the user's home directory as well. The -k option is only 18897 valid in conjunction with the -m option. The default is to not create the 18898 directory and to not copy any files. 18899 18900 -p passwd 18901 18902 is the encrypted password, as returned by crypt(3). The default is to 18903 disable the account. 18904 18905 -r 18906 18907 creates a system account, that is, a user with a UID in the range reserved 18908 for system account users. If there is not a UID free in the reserved range 18909 the command will fail. 18910 18911 -s shell 18912 18913 specifies the name of the user's login shell. The default is to leave this 18914 field blank, which causes the system to select the default login shell. 18915 18916 -u uid [-o] 18917 18918 specifies the numerical value of the user's ID. This value must be unique, 18919 unless the -o option is used. The value must be non-negative. The default 18920 is the smallest ID value greater than 499 which is not yet used. 18921 18922 Change Default Options 18923 18924 -b default_home 18925 18926 specifies the initial path prefix for a new user's home directory. The 18927 user's name will be affixed to the end of default_home to create the new 18928 directory name if the -d option is not used when creating a new account. 18929 18930 -g default_group 18931 18932 specifies the group name or ID for a new user's initial group. The named 18933 group must exist, and a numerical group ID must have an existing entry. 18934 18935 -s default_shell 18936 18937 specifies the name of the new user's login shell. The named program will be 18938 used for all future new user accounts. 18939 18940 -c comment 18941 18942 specifies the new user's password file comment field value. 18943 18944 Application Usage 18945 18946 The -D option will typically be used by system administration packages. Most 18947 applications should not change defaults which will affect other applications 18948 and users. 18949 18950 userdel 18951 18952 Name 18953 18954 userdel -- delete a user account and related files 18955 18956 Synopsis 18957 18958 userdel [-r] login 18959 18960 Description 18961 18962 Delete the user account named login. If there is also a group named login, this 18963 command may delete the group as well, or may leave it alone. 18964 18965 Options 18966 18967 -r 18968 18969 removes files in the user's home directory along with the home directory 18970 itself. Files located in other file system will have to be searched for and 18971 deleted manually. 18972 18973 usermod 18974 18975 Name 18976 18977 usermod -- modify a user account 18978 18979 Synopsis 18980 18981 usermod [-c comment] [-d home_dir [ -m]] 18982 [-g initial_group] [-G group[,...]] 18983 [-l login_name] [-p passwd] 18984 [-s shell] [-u uid [ -o]] login 18985 18986 Options 18987 18988 -c comment 18989 18990 specifies the new value of the user's password file comment field. 18991 18992 -d home_dir 18993 18994 specifies the user's new login directory. If the -m option is given the 18995 contents of the current home directory will be moved to the new home 18996 directory, which is created if it does not already exist. 18997 18998 -g initial_group 18999 19000 specifies the group name or number of the user's new initial login group. 19001 The group name must exist. A group number must refer to an already existing 19002 group. 19003 19004 -G group,[...] 19005 19006 specifies a list of supplementary groups which the user is also a member 19007 of. Each group is separated from the next by a comma, with no intervening 19008 whitespace. The groups are subject to the same restrictions as the group 19009 given with the -g option. If the user is currently a member of a group 19010 which is not listed, the user will be removed from the group. 19011 19012 -l login_name 19013 19014 changes the name of the user from login to login_name. Nothing else is 19015 changed. In particular, the user's home directory name should probably be 19016 changed to reflect the new login name. 19017 19018 -p passwd 19019 19020 is the encrypted password, as returned by crypt(3). 19021 19022 -s shell 19023 19024 specifies the name of the user's new login shell. Setting this field to 19025 blank causes the system to select the default login shell. 19026 19027 -u uid [-o] 19028 19029 specifies the numerical value of the user's ID. This value must be unique, 19030 unless the -o option is used. The value must be non-negative. Any files 19031 which the user owns and which are located in the directory tree rooted at 19032 the user's home directory will have the file user ID changed automatically. 19033 Files outside of the user's home directory must be altered manually. 19034 19035 wc 19036 19037 Name 19038 19039 wc -- print the number of bytes, words, and lines in files 19040 19041 Description 19042 19043 wc is as specified in the SUS but with differences as listed below. 19044 19045 Differences 19046 19047 -m 19048 19049 has implementation-dependent behavior.[45] 19050 19051 LSB Deprecated Differences 19052 19053 The behaviors specified in this section are expected to disappear from a future 19054 version of the LSB; applications should only use the non-LSB-deprecated 19055 behaviors. 19056 19057 --bytes, --chars 19058 19059 is equivalent to -c. 19060 19061 --lines 19062 19063 is equivalent to -l. 19064 19065 -L, --max-line-length 19066 19067 prints the length of the longest line. 19068 19069 --words 19070 19071 is equivalent to -w. 19072 19073 --version 19074 19075 outputs version information and exits. 19076 19077 xargs 19078 19079 Name 19080 19081 xargs -- build and execute command lines from standard input 19082 19083 Description 19084 19085 xargs is as specified in the SUS but with differences as listed below. 19086 19087 LSB Deprecated Differences 19088 19089 The behaviors specified in this section are expected to disappear from a future 19090 version of the LSB; applications should only use the non-LSB-deprecated 19091 behaviors. 19092 19093 --null, -0 19094 19095 terminates input filenames by a null character instead of by whitespace, 19096 and the quotes and backslash are not special (every character is taken 19097 literally). Disables the end of file string, which is treated like any 19098 other argument. Useful when arguments might contain white space, quote 19099 marks, or backslashes. The GNU find -print0 option produces input suitable 19100 for this mode. 19101 19102 --eof[=eof-str] 19103 19104 is equivalent to -e. 19105 19106 -E 19107 19108 has implementation-dependent behavior. 19109 19110 --replace[=replace-str] 19111 19112 uses FORMAT as the format string that controls the output of time. 19113 19114 -I 19115 19116 has implementation-dependent behavior. 19117 19118 --max-lines[=max-lines] 19119 19120 is equivalent to -l. 19121 19122 -L 19123 19124 has implementation-dependent behavior. 19125 19126 --max-args=max-args 19127 19128 is equivalent to -n. 19129 19130 --interactive 19131 19132 is equivalent to -p. 19133 19134 --no-run-if-empty, -r 19135 19136 does not run this command if the standard input does not contain any 19137 nonblanks. Normally, the command is run once even if there is no input. 19138 19139 --max-chars 19140 19141 is equivalent to -s. 19142 19143 --verbose 19144 19145 is equivalent to -t. 19146 19147 --version 19148 19149 Prints the version number of xargs and exits. 19150 19151 --exit 19152 19153 is equivalent to -x. 19154 19155 --max-procs=max-procs, -P max-procs 19156 19157 runs up to max-procs processes at a time; the default is 1. If max-procs is 19158 0, xargs will run as many processes as possible at a time. Use the -n 19159 option with -P; otherwise chances are that only one exec will be done. 19160 19161 IX. Standard Shell 19162 19163 Table of Contents 19164 16. Standard Shell 19165 19166 ------------------------------------------------------------------------------- 19167 19168 Chapter 16. Standard Shell 19169 19170 Introduction 19171 19172 The shell is POSIX-1003.2 with the following exceptions. 19173 19174 ------------------------------------------------------------------------------- 19175 19176 Standard Shell Exceptions 19177 19178 ------------------------------------------------------------------------------- 19179 19180 Pathname of $0 19181 19182 When the shell searches for a command name in the PATH and finds a shell 19183 script, POSIX specifies that it shall pass the command name as argv[0] and in 19184 the child shell script, $0 shall be set from argv[0] (POSIX Standard, section 19185 3.9.1.1, line 779-784). 19186 19187 However, for an LSB shell, the system may implement either this behavior or $0 19188 may be set to an absolute pathname of the shell script. [46] 19189 19190 ------------------------------------------------------------------------------- 19191 19192 Sourcing non-executable files 19193 19194 * When PATH is used to locate a file for the dot utility, and a matching file 19195 is on the PATH but is not readable, the behavior is undefined (unlike POSIX 19196 which apparently requires the shell to continue searching through the rest 19197 of the PATH, POSIX Standard, section 3.14.4, line 1493-1498). 19198 19199 ------------------------------------------------------------------------------- 19200 19201 Standard Shell Rationale 19202 19203 Among the many shells existing at the time of evaluation, the two most 19204 compliant were Bash and Pdksh. 19205 19206 At the time of evaluation, Bash was found mostly compliant with the 19207 POSIX-1003.2 standard, and its maintainer demonstrated interest in bringing the 19208 shell to full compliance. Bash already enjoys wide use among shell users, and 19209 is even included in many distributions as the default shell. Further, the 19210 abundance of documentation found both on the Internet and in the bookstore 19211 makes Bash an easy shell to use. 19212 19213 Of course, shell scripts must avoid using bash extensions if they want to run 19214 on any LSB system. 19215 19216 The two exceptions to POSIX (concerning . and non-readable files, and argv[0]) 19217 in this section are to accommodate bash. The need for exceptions should be 19218 reviewed if bash changes or POSIX changes to remove the conflict. Future 19219 versions of this standard may also consider exceptions for pdksh or other 19220 almost-compliant shells, if they seem to be warranted. 19221 19222 X. Users & Groups 19223 19224 Table of Contents 19225 17. Users & Groups 19226 19227 ------------------------------------------------------------------------------- 19228 19229 Chapter 17. Users & Groups 19230 19231 A "user name" is a string that is used to identify a user. A "login name" is a 19232 user name that is associated with a system login. A "user id" is a non negative 19233 integer, which can be contained in an object of type uid_t, that is used to 19234 identify a system user. 19235 19236 When the identity of a user is associated with a process, a user ID value is 19237 referred to as a real user ID, or an effective user ID. [POSIX 1003.1-1996] 19238 19239 A "group name" is a string that is used to identify a set of users. A "group 19240 id" is a non negative integer, which can be contained in a object of type 19241 gid_t, that is used to identify a group of system users. Each system user is a 19242 member of at least one group. When the identity of a group is associated with a 19243 process, a group ID value is referred to as a real group ID, or an effective 19244 group ID. [POSIX 1003.1-1996] 19245 19246 ------------------------------------------------------------------------------- 19247 19248 User and Group Database 19249 19250 The format of the User and Group databases is not specified. Programs may only 19251 read these databases using the provided API. Changes to these databases should 19252 be made using the provided commands. 19253 19254 ------------------------------------------------------------------------------- 19255 19256 User & Group Names 19257 19258 Below is a table of required mnemonic user and group names. This specification 19259 makes no attempt to numerically assign uid or gid numbers. The exception is the 19260 uid and gid for "root" which are equal to 0. 19261 19262 Table 17-1. Required User & Group Names 19263 19264 +-----------------------------------------------------------------------------+ 19265 |User |Group |Comments | 19266 |----------+----------+-------------------------------------------------------| 19267 |root |root |Administrative user with no restrictions | 19268 |----------+----------+-------------------------------------------------------| 19269 |bin |bin |Legacy UID/GID[a] | 19270 |----------+----------+-------------------------------------------------------| 19271 |daemon |daemon |Legacy UID/GID[b] | 19272 |-----------------------------------------------------------------------------| 19273 |Notes: | 19274 |a. The 'bin' UID/GID is included for compatibility with legacy applications. | 19275 |New applications should no longer use the 'bin' UID/GID. | 19276 |b. The 'daemon' UID/GID was used as an unprivileged UID/GID for daemons to | 19277 |execute under in order to limit their access to the system. Generally daemons| 19278 |should now run under individual UID/GIDs in order to further partition | 19279 |daemons from one another. | 19280 +-----------------------------------------------------------------------------+ 19281 19282 Below is a table of optional mnemonic user and group names. This specification 19283 makes no attempt to numerically assign uid or gid numbers. If the username 19284 exists on a system, then they should be in the suggested corresponding group. 19285 These user and group names are for use by distributions, not by applications. 19286 19287 Table 17-2. Optional User & Group Names 19288 19289 +---------------------------------------------------+ 19290 |User |Group |Comments | 19291 |--------+--------+---------------------------------| 19292 |adm |adm |Administrative special privileges| 19293 |--------+--------+---------------------------------| 19294 |lp |lp |Printer special privileges | 19295 |--------+--------+---------------------------------| 19296 |sync |sync |Login to sync the system | 19297 |--------+--------+---------------------------------| 19298 |shutdown|shutdown|Login to shutdown the system | 19299 |--------+--------+---------------------------------| 19300 |halt |halt |Login to halt the system | 19301 |--------+--------+---------------------------------| 19302 |mail |mail |Mail special privileges | 19303 |--------+--------+---------------------------------| 19304 |news |news |News special privileges | 19305 |--------+--------+---------------------------------| 19306 |uucp |uucp |UUCP special privileges | 19307 |--------+--------+---------------------------------| 19308 |operator|root |Operator special privileges | 19309 |--------+--------+---------------------------------| 19310 |man |man |Man special privileges | 19311 |--------+--------+---------------------------------| 19312 |nobody |nobody |Used by NFS | 19313 +---------------------------------------------------+ 19314 19315 The differences in numeric values of the uids and gids between systems on a 19316 network can be reconciled via NIS, rdist(1), rsync(1), or ugidd(8). Only a 19317 minimum working set of "user names" and their corresponding "user groups" are 19318 required. Applications cannot assume non system user or group names will be 19319 defined. 19320 19321 Applications cannot assume any policy for the default umask or the default 19322 directory permissions a user may have. Applications should enforce user only 19323 file permissions on private files such as mailboxes. The location of the users 19324 home directory is also not defined by policy other than the recommendations of 19325 the FHS and must be obtained by the *pwnam(3) calls. 19326 19327 ------------------------------------------------------------------------------- 19328 19329 UID Ranges 19330 19331 The system UIDs from 0 to 99 should be statically allocated by the system. 19332 These static assignments should be defined by a common registry. 19333 19334 The system UIDs from 100 to 499 should be reserved for dynamically allocation 19335 by system administrators and post install scripts using useradd(1). 19336 19337 ------------------------------------------------------------------------------- 19338 19339 Rationale 19340 19341 The purpose of specifying optional users and groups is to reduce the potential 19342 for name conflicts between applications and distributions. 19343 19344 XI. Execution Environment 19345 19346 Table of Contents 19347 18. File System Hierarchy 19348 19. Additional Recommendations 19349 20. Additional Behaviors 19350 21. Localization 19351 19352 ------------------------------------------------------------------------------- 19353 19354 Chapter 18. File System Hierarchy 19355 19356 An LSB conforming implementation must adhere to the FHS 2.2. 19357 19358 An LSB conforming application is recommended to follow the FHS 2.2. If it does 19359 not follow the FHS 2.2 it should include documentation of the differences. 19360 19361 The FHS allows many components or subsystems to be optional. An application 19362 must check for the existence of an optional component before using it, and 19363 should behave in a reasonable manner if the optional component is not present. 19364 19365 The FHS requirement to locate the operating system kernel in either / or /boot 19366 does not apply if the operating system kernel does not exist as a file in the 19367 filesystem. 19368 19369 The FHS specifies certain behaviors for a variety of commands if they are 19370 present (for example, ping or python). However, LSB applications must not rely 19371 on any commands beyond those specified by the LSB. The mere existence of a 19372 command must not be used as an indication that the command behaves in any 19373 particular way. 19374 19375 ------------------------------------------------------------------------------- 19376 19377 /dev 19378 19379 The following device nodes must exist under /dev. Other devices may also exist 19380 in /dev. 19381 19382 /dev/null 19383 19384 All data written to this device is discarded. A read from this device will 19385 return an EOF condition. 19386 19387 /dev/zero 19388 19389 This device is a source of zeroed out data. All data written to this device 19390 is discarded. A read from this device will return as many bytes containing 19391 the value zero as was requested. 19392 19393 /dev/tty 19394 19395 This device is a synonym for the controlling terminal of a process. Once 19396 this device is opened, all reads and writes will behave as if the actual 19397 controlling terminal device had been opened. 19398 19399 ------------------------------------------------------------------------------- 19400 19401 Chapter 19. Additional Recommendations 19402 19403 Minimal granted Directory and File permissions 19404 19405 In this Chapter "System" means an "LSB conforming implementation" and 19406 "application" means an "LSB conforming (third party vendor) application". 19407 19408 The system must grant to the application read and execute permissions needed to 19409 use all system interfaces (ABIs) mentioned in the LSB document and included 19410 standards. 19411 19412 ------------------------------------------------------------------------------- 19413 19414 Recommendations for applications on ownership and permissions 19415 19416 Directory Write Permissions 19417 19418 The application should not depend on having directory write permission outside 19419 /tmp, /var/tmp, invoking user's home directory and /var/opt/package, (where 19420 package is the name of the application package). 19421 19422 The application should not depend on owning these directories. 19423 19424 For these directories the application should be able to work with directory 19425 write permissions restricted by the "sticky bit". (Which prevents the 19426 application from removing files owned by another user. This is classically done 19427 with /tmp, to prevent accidental deletion of "foreign" files.) 19428 19429 ------------------------------------------------------------------------------- 19430 19431 File Write Permissions 19432 19433 The application should not depend on file write permission on files not owned 19434 by the user it runs under with the exception of its personal inbox /var/mail/ 19435 username 19436 19437 ------------------------------------------------------------------------------- 19438 19439 File Read and execute Permissions 19440 19441 The application should not depend on having read permission to every file and 19442 directory. 19443 19444 ------------------------------------------------------------------------------- 19445 19446 Suid and Sgid Permissions 19447 19448 The application should not depend on the suid/sgid permissions of a file not 19449 packaged with the application. Instead, the distribution is responsible for 19450 assuming that all system commands have the required permissions and work 19451 correctly. 19452 19453 Rationale: Let us make security officers happy. Let's give them the freedom to 19454 take sgid/suid perms away, as long as they do not break the system's 19455 functionality. 19456 19457 ------------------------------------------------------------------------------- 19458 19459 Privileged users 19460 19461 "Normal" applications should not depend on running as a privileged user. 19462 19463 Special applications that have a reason to run under a privileged user, should 19464 outline these reasons clearly in their documentation, if they are not obvious 19465 as in the case of a backup/restore program. Users of the application should be 19466 informed, that "this application demands security privileges, which could 19467 interfere with system security". 19468 19469 The application should not contain binary-only software that requires being run 19470 as root, as this makes security auditing harder or even impossible. 19471 19472 ------------------------------------------------------------------------------- 19473 19474 Changing permissions 19475 19476 The application should not change permissions of files and directories that do 19477 not belong to its own package. To do so without a warning notice in the 19478 documentation is regarded as unfriendly act. 19479 19480 ------------------------------------------------------------------------------- 19481 19482 Removable Media (Cdrom, Floppy, etc.) 19483 19484 Applications that expect to be runnable from removable media should not depend 19485 on logging in as a privileged user, and should be prepared to deal with a 19486 restrictive environment. Examples of such restrictions could be default mount 19487 options that disable set-user/group-ID attributes, disabling block or 19488 character-special files on the medium, or remapping the user/group IDs of files 19489 away from 0. [47] 19490 19491 ------------------------------------------------------------------------------- 19492 19493 Installable applications 19494 19495 If the installation of an application requires the execution of programs with 19496 superuser privileges, such programs should also be supplied in a human-readable 19497 form. 19498 19499 Without this, the local system administrator would have to blindly trust a 19500 piece of software, particularly its security. 19501 19502 ------------------------------------------------------------------------------- 19503 19504 Chapter 20. Additional Behaviors 19505 19506 This section specifies behaviors in which there is optional behavior in one of 19507 the standards on which the LSB relies, and where the LSB requires a specific 19508 behavior. [48] 19509 19510 The fcntl() function shall detect EDEADLK, as described as optional behavior in 19511 the SUS. 19512 19513 The fcntl() function shall treat the "cmd" value -1 as invalid. 19514 19515 The "whence" value -1 shall be an invalid value for the lseek(), fseek() and 19516 fcntl() functions. 19517 19518 The value "-5" shall be an invalid signal number. 19519 19520 The opendir() function shall detect EMFILE and ENFILE, as described as optional 19521 behavior in the SUS. 19522 19523 The readdir() and closedir() functions shall detect EBADF, as described as 19524 optional behavior in the SUS. 19525 19526 If the sigaddset() or sigdelset() functions are passed an invalid signal 19527 number, they shall return with EINVAL. Implementations are only required to 19528 enforce this requirement for signal numbers which are specified to be invalid 19529 by this specification (such as the -5 mentioned above). 19530 19531 The START and STOP termios characters shall be changeable, as described as 19532 optional behavior in the "General Terminal Interface" section of the SUS. 19533 19534 The mode value "-1" to the access() function shall be treated as invalid. 19535 19536 A value of -1 shall be an invalid "_PC_..." value for pathconf(). 19537 19538 A value of -1 shall be an invalid "_SC..." value for sysconf(). 19539 19540 The link() function shall require access to the existing file in order to 19541 succeed, as described as optional behavior in the SUS. 19542 19543 Calling unlink() on a directory shall fail. Calling link() specifying a 19544 directory as the first argument shall fail. See also unlink>. 19545 19546 The link() function shall not work across file systems, and shall return with 19547 EXDEV as described as optional behavior in the SUS. 19548 19549 The nl_item value "-1" shall be invalid for nl_langinfo. 19550 19551 The value -1 shall be an invalid "_CS_..." value for confstr(). 19552 19553 The value "z" shall be an invalid mode argument to popen(). 19554 19555 [49] 19556 19557 ------------------------------------------------------------------------------- 19558 19559 Chapter 21. Localization 19560 19561 Applications may either install a message catalog in the MO format as specified 19562 by the info page in version 0.10.40 of the gettext source package, or the 19563 application may execute the msgfmt command during it's installation to compile 19564 the message catalog. In either case, the resulting output must be located in 19565 the package's private area under /opt, and the application may use 19566 bindtextdomain() to specify this location. 19567 19568 XII. System Initialization 19569 19570 Table of Contents 19571 22. System Initialization 19572 19573 ------------------------------------------------------------------------------- 19574 19575 Chapter 22. System Initialization 19576 19577 Cron Jobs 19578 19579 Packages may not touch the configuration file /etc/crontab, nor may they modify 19580 the files in /var/spool/cron/crontabs. 19581 19582 If a package wants to install a job that has to be executed via cron, it shall 19583 place a file with the name of the package in one of the following directories: 19584 19585 /etc/cron.daily 19586 /etc/cron.weekly 19587 /etc/cron.monthly 19588 19589 As these directory names say, the files within them are executed on a daily, 19590 weekly, or monthly basis, respectively. 19591 19592 If a certain job has to be executed more frequently than daily, the package 19593 shall install a file /etc/cron.d/package-name tagged as configuration file. 19594 This file uses the same syntax as /etc/crontab and is processed by cron 19595 automatically. 19596 19597 It is recommended that files installed in any of these directories be scripts 19598 (shell scripts, Perl scripts, etc.) so that they may be modified by the local 19599 system administrator. In addition, they must be registered as configuration 19600 file. 19601 19602 The scripts in these directories have to check, if all necessary programs are 19603 installed before they try to execute them. Otherwise, problems will arise when 19604 a package was removed (but not purged), since the configuration files are kept 19605 on the system in this situation. 19606 19607 To avoid namespace conflicts in the /etc/cron.* directories, the filenames used 19608 by LSB-compliant packages in /etc/cron.daily, /etc/cron.weekly, /etc/ 19609 cron.monthly, or /etc/cron.d must come from a managed namespace. These 19610 filenames may be assigned using one of the following methods: 19611 19612 * Assigned namespace. This namespace consists of names which only use the 19613 character set [a-z0-9]. In order to avoid conflicts these cron script names 19614 must be reserved through the Linux Assigned Names and Numbers Authority 19615 (LANANA). Information about the LANANA may be found at www.lanana.org. 19616 19617 Commonly used names shall be reserved in advance; developers for projects 19618 should be encouraged reserve names from LANA, so that each distribution can 19619 use the same name, and to avoid conflicts with other projects. 19620 19621 * Hierarchical namespace. This namespace consists of scripts names which look 19622 like this: [hier1]-[hier2]-...-[name], where name is again taken the 19623 character set [a-z0-9], and where there may be one or more [hier-n] 19624 components. [hier1] may either be an LSB provider name assigned by the 19625 LANANA, or it may be owners' DNS name in lower case, with at least one '.'. 19626 I.e., "debian.org", "staroffice.sun.com", etc. The LSB provider name 19627 assigned by LANANA must only consist of the ASCII characters [a-z0-9]. 19628 19629 * Reserved namespace. This namespace consists of script names which begin 19630 with the character '_', and is reserved for distribution use only. This 19631 namespace should be used for core packages only, and in general use of this 19632 namespace is highly discouraged. 19633 19634 ------------------------------------------------------------------------------- 19635 19636 Init Script Actions 19637 19638 Init files provided by LSB applications shall accept one argument, saying what 19639 to do: 19640 19641 start start the service 19642 stop stop the service 19643 restart stop and restart the service if the service is already running, 19644 otherwise start the service 19645 reload cause the configuration of the service to be reloaded without 19646 actually stopping and restarting the service 19647 force-reload cause the configuration to be reloaded if the service supports 19648 this, otherwise restart the service 19649 status print the current status of the service 19650 19651 The start, stop, restart, force-reload, and status commands must be supported 19652 by all init files; the reload option is optional. Other init script actions may 19653 be defined by the init script. 19654 19655 Init files must ensure that they will behave sensibly if invoked with start 19656 when the service is already running, or with stop when it isn't, and that they 19657 don't kill unfortunately-named user processes. The best way to achieve this is 19658 to use the init-script functions provided by /lib/lsb/init-functions. 19659 19660 If a service reloads its configuration automatically (as in the case of cron, 19661 for example), the reload option of the init file must behave as if the 19662 configuration has been reloaded successfully. 19663 19664 These executable files must not fail obscurely when the configuration files 19665 remain but the package has been removed, as the default in [the packaging 19666 system] is to leave configuration files on the system after the package has 19667 been removed. Only when it is executed with the [purge] option will [the 19668 packaging system] remove configuration files. Therefore, you should include a 19669 test statement at the top of the file, like this: 19670 test -f program-executed-later-in-file || exit 5 19671 or take the equivalent action if the init file is not a shell script. 19672 19673 If the status command is given, the init script will return the following exit 19674 status codes. 19675 19676 0 program is running or service is OK 19677 1 program is dead and /var/run pid file exists 19678 2 program is dead and /var/lock lock file exists 19679 3 program is stopped 19680 4 program or service status is unknown 19681 5-99 reserved for future LSB use 19682 100-149 reserved for distribution use 19683 150-199 reserved for application use 19684 200-254 reserved 19685 19686 In the case of init script commands other than "status" (i.e., "start", "stop", 19687 "restart", "reload", and "force-reload"), the init script must return an exit 19688 status of zero if the action described by the argument has been successful. 19689 Otherwise, the exit status shall be non-zero, as defined below. In addition to 19690 straightforward success, the following situations are also to be considered 19691 successful: 19692 19693 * restarting a service (instead of reloading it) with the "force-reload" 19694 argument 19695 19696 * running "start" on a service already running 19697 19698 * running "stop" on a service already stopped or not running 19699 19700 * running "restart" on a service already stopped or not running 19701 19702 19703 19704 In case of an error, while processing any init script action except for 19705 "status", the init script must print an error message and return one of the 19706 following non-zero exit status codes. 19707 19708 1 generic or unspecified error (current practice) 19709 2 invalid or excess argument(s) 19710 3 unimplemented feature (for example, "reload") 19711 4 user had insufficient privilege 19712 5 program is not installed 19713 6 program is not configured 19714 7 program is not running 19715 8-99 reserved for future LSB use 19716 100-149 reserved for distribution use 19717 150-199 reserved for application use 19718 200-254 reserved 19719 19720 All error messages must be printed on standard error. All status messages must 19721 be printed on standard output. (This does not prevent scripts from calling the 19722 logging functions such as log_failure_msg). 19723 19724 Since init files may be run manually by a system administrator with 19725 non-standard environment variable values for PATH, USER, LOGNAME, etc. init 19726 files must not depend on the values of these environment variables. They should 19727 set them to some known/default values if they are needed. 19728 19729 ------------------------------------------------------------------------------- 19730 19731 Comment conventions for init scripts 19732 19733 LSB applications which need to execute script(s) at bootup and/or shutdown may 19734 provide one or more init.d files. These files are installed by the 19735 install_initd program described below, which copies it into a standard 19736 directory and makes whatever other adjustments (creation of symlinks, creation 19737 of entries in a database, etc.) are necessary so that the script can be run at 19738 boot-time. [50] 19739 19740 In the init.d file, information about the shell script shall be delimited by 19741 the lines "### BEGIN INIT INFO" and "### END INIT INFO". These delimiter lines 19742 may containg trailing whitespace, which shall be ignored. Inside this block 19743 there shall be lines of the form "# {keyword}: [arg1] [arg2] ...". (All lines 19744 inside this block start with a hash ('#') character in the first column, so 19745 that shell treats them as comments.) The following keywords, with their 19746 arguments are defined in this specification: 19747 19748 # Provides: boot_facility_1 [ boot_facility_2 ...] 19749 # Required-Start: boot_facility_1 [ boot_facility_2 ...] 19750 # Required-Stop: boot_facility_1 [ boot_facility_2 ...] 19751 # Default-Start: run_level_1 [ run_level_2 ...] 19752 # Default-Stop: run_level_1 [ run_level_2 ...] 19753 # Short-Description: short_description 19754 # Description: multiline_description 19755 19756 Additional keywords may be defined in future LSB specifications. Distributions 19757 may define local extensions by using the prefix "X-[distribution name]" --- for 19758 example, "X-RedHat-foobardecl", or "X-Debian-xyzzydecl". 19759 19760 An init.d shell script may declare using the "Required-Start: " header that it 19761 must not be run until certain boot facilities are provided. This information is 19762 used by the installation tool or the boot-time boot-script execution facility 19763 to assure that init scripts are run in the correct order. When an init script 19764 is run with a "start" argument, the boot facility or facilities specified in 19765 the "Provides" header shall be considered present, and hence init scripts which 19766 require those boot facilities would then be eligble to be run. When an init 19767 script is run with a "stop" argument, the boot facilities specified in the 19768 "Provides" header are considered no longer present. There are naming 19769 conventions for boot facilities and system facilities, as described in a 19770 following section. 19771 19772 Similarly, the "Required-Stop:" header defines which facilities must still be 19773 available during the shutdown of that service. Hence, the init script system 19774 should avoid stopping shell scripts which provide those facilities until this 19775 shell script is stopped. 19776 19777 The "Default-Start" and "Default-Stop" headers define which run levels should 19778 by default run the script with a start or stop argument, respectively, to start 19779 or stop the services controlled by the init script. 19780 19781 The "Short-Description" and "Description" header fields are used to provide 19782 text which describes the actions of the init script. The "short_description" 19783 shall be a relatively short, pithy description of the init script, where as the 19784 "multiline_description" can be a much longer piece of text that may span 19785 mulitple lines. In a multiline description, each continuation line must begin 19786 with a '#' followed by tab character or a '#' followed by at least two space 19787 characters. The multiline description is terminated by the first line that does 19788 not match this criteria. 19789 19790 The comment conventions described in this session are only required for use by 19791 LSB-compliant applications; system init scripts as provided by LSB-compliant 19792 run-time environments are not required to use the scheme outlined here. [51] 19793 19794 ------------------------------------------------------------------------------- 19795 19796 Installation and removal of init.d files 19797 19798 An init.d file is installed by copying it into /etc/init.d (which may be a 19799 symlink to another location). This can be done by the package installer. During 19800 the package's postinstall script, the program "/usr/lib/lsb/install_initd" 19801 configures the distribution's boot script system to call the package's init.d 19802 file at the appropriate time. 19803 19804 The install_initd program takes a single argument, the pathanme to the /etc/ 19805 init.d file. For example: 19806 19807 /usr/lib/lsb/install_initd /etc/init.d/example.com-coffeed 19808 19809 When a software package is removed, the package's preuninstall script shall 19810 call /usr/lib/lsb/remove_initd and pass the pathname to the /etc/init.d file. 19811 The package manager is still responsible for removing the /etc/init.d file; the 19812 remove_initd program is provided in case the distribution needs to clean up any 19813 other modifications in the distribution's boot script system that might have 19814 been made by the install_initd program. For example: 19815 19816 /usr/lib/lsb/remove_initd /etc/init.d/example.com-coffeed 19817 19818 There should be a tool available to the user (e.g., RedHat's chkconfig) which 19819 can be used by the system administrator to easily manipulate at which init 19820 levels a particular init.d script is started or stopped. This specification 19821 currently does not specify such an interface, however. 19822 19823 ------------------------------------------------------------------------------- 19824 19825 Run Levels 19826 19827 The following run levels are specified for use by the "Default-Start:" and 19828 "Default-Stop:" specifiers as defined by the section Comment conventions for 19829 init scripts>. Many LSB run-time environments commonly use these run level 19830 definitions, and in the absence of other considerations, providers of run-time 19831 environments are strongly encouraged to follow this convention to provide 19832 consistency for system administrators who need to work with multiple 19833 distributions. However, it is not required that LSB-compliant run-time 19834 environments use these run levels; the distribution-provided install_initd 19835 script may map the run levels specified below to whatever 19836 distribution-specified run levels are most appropriate. 19837 19838 0 halt 19839 1 single user mode 19840 2 multiuser with no network services exported 19841 3 normal/full multiuser 19842 4 reserved for local use, default is normal/full multiuser 19843 5 multiuser with xdm or equivalent 19844 6 reboot 19845 19846 ------------------------------------------------------------------------------- 19847 19848 Facility names 19849 19850 Boot facilities are used to indicate dependencies in init scripts, as defined 19851 in a previous section. Facility names that begin with a dollar sign ('$') are 19852 system facility names, defined by the LSB, and MUST be provided by 19853 distributions. LSB applications must not provide system facilities. This 19854 document defines the following system facility names: 19855 19856 $local_fs all local filesystems are mounted 19857 $network low level networking (ethernet card; may imply PCMCIA running) 19858 $named daemons which may provide hostname resolution (if present) are 19859 running 19860 $portmap daemons providing SunRPC/ONCRPC portmapping service[52] (if present) 19861 are running 19862 $remote_fs all remote filesystems are mounted[53]. 19863 $syslog system logger is operational 19864 $time the system time has been set [54] 19865 19866 Other (non-system) facilities may be defined by other LSB applications. These 19867 facilities shall be named using the same conventions defined for naming init.d 19868 script names. Commonly, the facility provided by an LSB application init.d 19869 script will have the same name as the name assigned to the init.d script. 19870 19871 ------------------------------------------------------------------------------- 19872 19873 Script names 19874 19875 Since the init.d scripts must live in a single directory, they must come from a 19876 single namespace. Three means of assigning names from this namespace are 19877 available: 19878 19879 * Assigned namespace. This namespace consists of names which only use the 19880 character set [a-z0-9]. This space is desirable for scripts which system 19881 administrators may often wish to run manually: e.g., "/etc/init.d/named 19882 restart" In order to avoid conflicts these init.d names must be reserved 19883 through the Linux Assigned Names and Numbers Authority (LANANA). 19884 Information about the LANANA may be found at www.lanana.org. 19885 19886 Commonly used names shall be reserved in advance; developers for projects 19887 should be encouraged to reserve names from LANANA, so that each 19888 distribution can use the same name, and to avoid conflicts with other 19889 projects. 19890 19891 * Hierarchical namespace. This namespace consists of scripts names which look 19892 like this: [hier1]-[hier2]-...-[name], where name is again taken the 19893 character set [a-z0-9], and where there may be one or more [hier-n] 19894 components. [hier1] may either be an LSB provider name assigned by the 19895 LANANA, or it may be owners' DNS name in lower case, with at least one '.' 19896 (e.g., "debian.org", "staroffice.sun.com"). The LSB provider name assigned 19897 by LANANA must only consist of the ASCII characters [a-z0-9]. 19898 19899 * Reserved namespace. This namespace consists of script names which begin 19900 with the character '_', and is reserved for distribution use only. This 19901 namespace should be used for core packages only, and in general use of this 19902 namespace is highly discouraged. 19903 19904 In general, if a package or some system function is likely to be used on 19905 multiple systems, the package developers or the distribution SHOULD get a 19906 registered name through LANANA, and distributions should strive to use the same 19907 name whenever possible. For applications which may not be "core" or may not be 19908 commonly installed, the hierarchical namespace may be more appropriate. An 19909 advantage to the hierarchical namespace is that there is no need to consult 19910 with the LANANA before obtaining an assigned name. 19911 19912 Short names are highly desirable, since many system administrators like to use 19913 them to manually start and stop services. Given this, they should be 19914 standardized on a per-package basis. This is the rationale behind having a 19915 LANANA organization to assign these names. The LANANA may be called upon to 19916 handle other namespace issues, such as package/prerequisites naming (which is 19917 essential to making prerequisites to work correctly). 19918 19919 This specification shall pre-define the following script names as being 19920 reserved to the LANANA. They reflect names which are commonly in use today by 19921 distributions to start up various system programs/daemons. The behavior of 19922 these scripts are not specified here, and not all distributions may use all of 19923 these script names. [55] 19924 19925 * autofs 19926 19927 * apmd 19928 19929 * atd 19930 19931 * crond 19932 19933 * dhclient 19934 19935 * dhcpcd 19936 19937 * gpm 19938 19939 * exim 19940 19941 * halt 19942 19943 * hotplug 19944 19945 * identd 19946 19947 * inet 19948 19949 * httpd 19950 19951 * kudzu 19952 19953 * klogd 19954 19955 * lpd 19956 19957 * mcserv 19958 19959 * named 19960 19961 * nfs 19962 19963 * nfslock 19964 19965 * pcmcia 19966 19967 * portmap 19968 19969 * postfix 19970 19971 * random 19972 19973 * routed 19974 19975 * rstatd 19976 19977 * rusersd 19978 19979 * rwhod 19980 19981 * sendmail 19982 19983 * samba 19984 19985 * smb 19986 19987 * snmpd 19988 19989 * sshd 19990 19991 * syslog 19992 19993 * xfs 19994 19995 * xntpd 19996 19997 * ypbind 19998 19999 ------------------------------------------------------------------------------- 20000 20001 Init script Functions 20002 20003 Each LSB-compliant init.d script must source the file /lib/lsb/init-functions. 20004 This file must cause the following shell script commands to be defined. This 20005 can be done either by adding a directory to the PATH variable which defines 20006 these commands, or by defining sh aliases. While the distribution-provided 20007 aliases may choose to use bash extensions (at the distribution's option), the 20008 LSB init.d files themselves should only depend in /bin/sh features as defined 20009 by POSIX.2. 20010 20011 start_daemon This runs the specified program as a daemon. start_daemon will 20012 [-f] [-n check to see if there is a program named "daemon" already 20013 nicelevel] running. If so, it will not start another copy of the daemon 20014 pathname [args] unless the -f option is given. The -n option specifies a nice 20015 level. See nice(1). 20016 killproc This stops the specified program. The program is found using 20017 basename the algorithm given by pidofproc. If a signal is specified, the 20018 [signal] program is sent that signal. Otherwise, a SIGTERM followed by a 20019 SIGKILL after some number of seconds is sent. 20020 This function returns one or more pid(s) for a particular 20021 daemon. If an entry is found in /var/run/basename.pid, then 20022 that value is returned. Compliant implementations of the LSB 20023 may attempt other mechanisms for determining the pid(s), 20024 pidofproc although this is not required (and not recommended, since a 20025 basename user can trick startup scripts by creating processes that 20026 appear to be system programs in the process list thus creating 20027 a potential security exposure). Hence, LSB-complaint 20028 applications who wish to use the pidofproc function in their 20029 init scripts must store the pid in /var/run/basename.pid. 20030 log_success_msg This requests the distribution to print a success message. The 20031 "message" message should be relatively short; no more than 60 characters 20032 is highly desirable. 20033 log_failure_msg This requests the distribution to print a failure message. The 20034 "message" message should be relatively short; no more than 60 characters 20035 is highly desirable. 20036 log_warning_msg This requests the distribution to print a warning message. The 20037 "message" message should be relatively short; no more than 60 characters 20038 is highly desirable. 20039 20040 ------------------------------------------------------------------------------- 20041 20042 Appendix A. Alphabetical Listing of Interfaces 20043 20044 ------------------------------------------------------------------------------- 20045 20046 libX11 20047 20048 The behaviour of the interfaces in this library is specified by the following 20049 Standards. 20050 20051 X11R6.4 Xlib - C library 20052 20053 Table A-1. libX11 Function Interfaces 20054 20055 +-----------------------------------------------------------------------------------------+ 20056 |XActivateScreenSaver[25] |XIfEvent[25] |XcmsCIELabQueryMinL[25] | 20057 |----------------------------+--------------------------------+---------------------------| 20058 |XAddConnectionWatch[25] |XImageByteOrder[25] |XcmsCIELabToCIEXYZ[25] | 20059 |----------------------------+--------------------------------+---------------------------| 20060 |XAddExtension[25] |XInitExtension[25] |XcmsCIELabWhiteShiftColors | 20061 | | |[25] | 20062 |----------------------------+--------------------------------+---------------------------| 20063 |XAddHost[25] |XInitImage[25] |XcmsCIELuvClipL[25] | 20064 |----------------------------+--------------------------------+---------------------------| 20065 |XAddHosts[25] |XInitThreads[25] |XcmsCIELuvClipLuv[25] | 20066 |----------------------------+--------------------------------+---------------------------| 20067 |XAddPixel[25] |XInsertModifiermapEntry[25] |XcmsCIELuvClipuv[25] | 20068 |----------------------------+--------------------------------+---------------------------| 20069 |XAddToExtensionList[25] |XInstallColormap[25] |XcmsCIELuvQueryMaxC[25] | 20070 |----------------------------+--------------------------------+---------------------------| 20071 |XAddToSaveSet[25] |XInternAtom[25] |XcmsCIELuvQueryMaxL[25] | 20072 |----------------------------+--------------------------------+---------------------------| 20073 |XAllPlanes[25] |XInternAtoms[25] |XcmsCIELuvQueryMaxLC[25] | 20074 |----------------------------+--------------------------------+---------------------------| 20075 |XAllocClassHint[25] |XInternalConnectionNumbers[25] |XcmsCIELuvQueryMinL[25] | 20076 |----------------------------+--------------------------------+---------------------------| 20077 |XAllocColor[25] |XIntersectRegion[25] |XcmsCIELuvToCIEuvY[25] | 20078 |----------------------------+--------------------------------+---------------------------| 20079 |XAllocColorCells[25] |XKeycodeToKeysym[25] |XcmsCIELuvWhiteShiftColors | 20080 | | |[25] | 20081 |----------------------------+--------------------------------+---------------------------| 20082 |XAllocColorPlanes[25] |XKeysymToKeycode[25] |XcmsCIEXYZToCIELab[25] | 20083 |----------------------------+--------------------------------+---------------------------| 20084 |XAllocIconSize[25] |XKeysymToString[25] |XcmsCIEXYZToCIEuvY[25] | 20085 |----------------------------+--------------------------------+---------------------------| 20086 |XAllocNamedColor[25] |XKillClient[25] |XcmsCIEXYZToCIExyY[25] | 20087 |----------------------------+--------------------------------+---------------------------| 20088 |XAllocSizeHints[25] |XLastKnownRequestProcessed[25] |XcmsCIEXYZToRGBi[25] | 20089 |----------------------------+--------------------------------+---------------------------| 20090 |XAllocStandardColormap[25] |XListDepths[25] |XcmsCIEuvYToCIELuv[25] | 20091 |----------------------------+--------------------------------+---------------------------| 20092 |XAllocWMHints[25] |XListExtensions[25] |XcmsCIEuvYToCIEXYZ[25] | 20093 |----------------------------+--------------------------------+---------------------------| 20094 |XAllowEvents[25] |XListFonts[25] |XcmsCIEuvYToTekHVC[25] | 20095 |----------------------------+--------------------------------+---------------------------| 20096 |XAutoRepeatOff[25] |XListFontsWithInfo[25] |XcmsCIExyYToCIEXYZ[25] | 20097 |----------------------------+--------------------------------+---------------------------| 20098 |XAutoRepeatOn[25] |XListHosts[25] |XcmsClientWhitePointOfCCC | 20099 | | |[25] | 20100 |----------------------------+--------------------------------+---------------------------| 20101 |XBaseFontNameListOfFontSet |XListInstalledColormaps[25] |XcmsConvertColors[25] | 20102 |[25] | | | 20103 |----------------------------+--------------------------------+---------------------------| 20104 |XBell[25] |XListPixmapFormats[25] |XcmsCreateCCC[25] | 20105 |----------------------------+--------------------------------+---------------------------| 20106 |XBitmapBitOrder[25] |XListProperties[25] |XcmsDefaultCCC[25] | 20107 |----------------------------+--------------------------------+---------------------------| 20108 |XBitmapPad[25] |XLoadFont[25] |XcmsDisplayOfCCC[25] | 20109 |----------------------------+--------------------------------+---------------------------| 20110 |XBitmapUnit[25] |XLoadQueryFont[25] |XcmsFormatOfPrefix[25] | 20111 |----------------------------+--------------------------------+---------------------------| 20112 |XBlackPixel[25] |XLocaleOfFontSet[25] |XcmsFreeCCC[25] | 20113 |----------------------------+--------------------------------+---------------------------| 20114 |XBlackPixelOfScreen[25] |XLocaleOfIM[25] |XcmsLookupColor[25] | 20115 |----------------------------+--------------------------------+---------------------------| 20116 |XCellsOfScreen[25] |XLocaleOfOM[25] |XcmsPrefixOfFormat[25] | 20117 |----------------------------+--------------------------------+---------------------------| 20118 |XChangeActivePointerGrab[25]|XLockDisplay[25] |XcmsQueryBlack[25] | 20119 |----------------------------+--------------------------------+---------------------------| 20120 |XChangeGC[25] |XLookupColor[25] |XcmsQueryBlue[25] | 20121 |----------------------------+--------------------------------+---------------------------| 20122 |XChangeKeyboardControl[25] |XLookupKeysym[25] |XcmsQueryColor[25] | 20123 |----------------------------+--------------------------------+---------------------------| 20124 |XChangeKeyboardMapping[25] |XLookupString[25] |XcmsQueryColors[25] | 20125 |----------------------------+--------------------------------+---------------------------| 20126 |XChangePointerControl[25] |XLowerWindow[25] |XcmsQueryGreen[25] | 20127 |----------------------------+--------------------------------+---------------------------| 20128 |XChangeProperty[25] |XMapRaised[25] |XcmsQueryRed[25] | 20129 |----------------------------+--------------------------------+---------------------------| 20130 |XChangeSaveSet[25] |XMapSubwindows[25] |XcmsQueryWhite[25] | 20131 |----------------------------+--------------------------------+---------------------------| 20132 |XChangeWindowAttributes[25] |XMapWindow[25] |XcmsRGBToRGBi[25] | 20133 |----------------------------+--------------------------------+---------------------------| 20134 |XCheckIfEvent[25] |XMaskEvent[25] |XcmsRGBiToCIEXYZ[25] | 20135 |----------------------------+--------------------------------+---------------------------| 20136 |XCheckMaskEvent[25] |XMatchVisualInfo[25] |XcmsRGBiToRGB[25] | 20137 |----------------------------+--------------------------------+---------------------------| 20138 |XCheckTypedEvent[25] |XMaxCmapsOfScreen[25] |XcmsScreenNumberOfCCC[25] | 20139 |----------------------------+--------------------------------+---------------------------| 20140 |XCheckTypedWindowEvent[25] |XMaxRequestSize[25] |XcmsScreenWhitePointOfCCC | 20141 | | |[25] | 20142 |----------------------------+--------------------------------+---------------------------| 20143 |XCheckWindowEvent[25] |XMinCmapsOfScreen[25] |XcmsSetCCCOfColormap[25] | 20144 |----------------------------+--------------------------------+---------------------------| 20145 |XCirculateSubwindows[25] |XMoveResizeWindow[25] |XcmsSetCompressionProc[25] | 20146 |----------------------------+--------------------------------+---------------------------| 20147 |XCirculateSubwindowsDown[25]|XMoveWindow[25] |XcmsSetWhiteAdjustProc[25] | 20148 |----------------------------+--------------------------------+---------------------------| 20149 |XCirculateSubwindowsUp[25] |XNewModifiermap[25] |XcmsSetWhitePoint[25] | 20150 |----------------------------+--------------------------------+---------------------------| 20151 |XClearArea[25] |XNextEvent[25] |XcmsStoreColor[25] | 20152 |----------------------------+--------------------------------+---------------------------| 20153 |XClearWindow[25] |XNextRequest[25] |XcmsStoreColors[25] | 20154 |----------------------------+--------------------------------+---------------------------| 20155 |XClipBox[25] |XNoOp[25] |XcmsTekHVCClipC[25] | 20156 |----------------------------+--------------------------------+---------------------------| 20157 |XCloseDisplay[25] |XOMOfOC[25] |XcmsTekHVCClipV[25] | 20158 |----------------------------+--------------------------------+---------------------------| 20159 |XCloseIM[25] |XOffsetRegion[25] |XcmsTekHVCClipVC[25] | 20160 |----------------------------+--------------------------------+---------------------------| 20161 |XCloseOM[25] |XOpenDisplay[25] |XcmsTekHVCQueryMaxC[25] | 20162 |----------------------------+--------------------------------+---------------------------| 20163 |XConfigureWindow[25] |XOpenIM[25] |XcmsTekHVCQueryMaxV[25] | 20164 |----------------------------+--------------------------------+---------------------------| 20165 |XConnectionNumber[25] |XOpenOM[25] |XcmsTekHVCQueryMaxVC[25] | 20166 |----------------------------+--------------------------------+---------------------------| 20167 |XContextDependentDrawing[25]|XParseColor[25] |XcmsTekHVCQueryMaxVSamples | 20168 | | |[25] | 20169 |----------------------------+--------------------------------+---------------------------| 20170 |XContextualDrawing[25] |XParseGeometry[25] |XcmsTekHVCQueryMinV[25] | 20171 |----------------------------+--------------------------------+---------------------------| 20172 |XConvertCase[25] |XPeekEvent[25] |XcmsTekHVCToCIEuvY[25] | 20173 |----------------------------+--------------------------------+---------------------------| 20174 |XConvertSelection[25] |XPeekIfEvent[25] |XcmsTekHVCWhiteShiftColors | 20175 | | |[25] | 20176 |----------------------------+--------------------------------+---------------------------| 20177 |XCopyArea[25] |XPending[25] |XcmsVisualOfCCC[25] | 20178 |----------------------------+--------------------------------+---------------------------| 20179 |XCopyColormapAndFree[25] |XPlanesOfScreen[25] |XkbAllocClientMap[25] | 20180 |----------------------------+--------------------------------+---------------------------| 20181 |XCopyGC[25] |XPointInRegion[25] |XkbAllocCompatMap[25] | 20182 |----------------------------+--------------------------------+---------------------------| 20183 |XCopyPlane[25] |XPolygonRegion[25] |XkbAllocControls[25] | 20184 |----------------------------+--------------------------------+---------------------------| 20185 |XCreateBitmapFromData[25] |XProcessInternalConnection[25] |XkbAllocGeomColors[25] | 20186 |----------------------------+--------------------------------+---------------------------| 20187 |XCreateColormap[25] |XProtocolRevision[25] |XkbAllocGeomDoodads[25] | 20188 |----------------------------+--------------------------------+---------------------------| 20189 |XCreateFontCursor[25] |XProtocolVersion[25] |XkbAllocGeomKeyAliases[25] | 20190 |----------------------------+--------------------------------+---------------------------| 20191 |XCreateFontSet[25] |XPutBackEvent[25] |XkbAllocGeomKeys[25] | 20192 |----------------------------+--------------------------------+---------------------------| 20193 |XCreateGC[25] |XPutImage[25] |XkbAllocGeomOutlines[25] | 20194 |----------------------------+--------------------------------+---------------------------| 20195 |XCreateGlyphCursor[25] |XPutPixel[25] |XkbAllocGeomOverlayKeys[25]| 20196 |----------------------------+--------------------------------+---------------------------| 20197 |XCreateIC[25] |XQLength[25] |XkbAllocGeomOverlayRows[25]| 20198 |----------------------------+--------------------------------+---------------------------| 20199 |XCreateImage[25] |XQueryBestCursor[25] |XkbAllocGeomOverlays[25] | 20200 |----------------------------+--------------------------------+---------------------------| 20201 |XCreateOC[25] |XQueryBestSize[25] |XkbAllocGeomPoints[25] | 20202 |----------------------------+--------------------------------+---------------------------| 20203 |XCreatePixmap[25] |XQueryBestStipple[25] |XkbAllocGeomProps[25] | 20204 |----------------------------+--------------------------------+---------------------------| 20205 |XCreatePixmapCursor[25] |XQueryBestTile[25] |XkbAllocGeomRows[25] | 20206 |----------------------------+--------------------------------+---------------------------| 20207 |XCreatePixmapFromBitmapData |XQueryColor[25] |XkbAllocGeomSectionDoodads | 20208 |[25] | |[25] | 20209 |----------------------------+--------------------------------+---------------------------| 20210 |XCreateRegion[25] |XQueryColors[25] |XkbAllocGeomSections[25] | 20211 |----------------------------+--------------------------------+---------------------------| 20212 |XCreateSimpleWindow[25] |XQueryExtension[25] |XkbAllocGeomShapes[25] | 20213 |----------------------------+--------------------------------+---------------------------| 20214 |XCreateWindow[25] |XQueryFont[25] |XkbAllocGeometry[25] | 20215 |----------------------------+--------------------------------+---------------------------| 20216 |XDefaultColormap[25] |XQueryKeymap[25] |XkbAllocIndicatorMaps[25] | 20217 |----------------------------+--------------------------------+---------------------------| 20218 |XDefaultColormapOfScreen[25]|XQueryPointer[25] |XkbAllocKeyboard[25] | 20219 |----------------------------+--------------------------------+---------------------------| 20220 |XDefaultDepth[25] |XQueryTextExtents[25] |XkbAllocNames[25] | 20221 |----------------------------+--------------------------------+---------------------------| 20222 |XDefaultDepthOfScreen[25] |XQueryTextExtents16[25] |XkbAllocServerMap[25] | 20223 |----------------------------+--------------------------------+---------------------------| 20224 |XDefaultGC[25] |XQueryTree[25] |XkbApplyCompatMapToKey[25] | 20225 |----------------------------+--------------------------------+---------------------------| 20226 |XDefaultGCOfScreen[25] |XRaiseWindow[25] |XkbBell[25] | 20227 |----------------------------+--------------------------------+---------------------------| 20228 |XDefaultRootWindow[25] |XReadBitmapFile[25] |XkbBellEvent[25] | 20229 |----------------------------+--------------------------------+---------------------------| 20230 |XDefaultScreen[25] |XReadBitmapFileData[25] |XkbChangeEnabledControls | 20231 | | |[25] | 20232 |----------------------------+--------------------------------+---------------------------| 20233 |XDefaultScreenOfDisplay[25] |XRebindKeysym[25] |XkbChangeMap[25] | 20234 |----------------------------+--------------------------------+---------------------------| 20235 |XDefaultString[25] |XRecolorCursor[25] |XkbChangeNames[25] | 20236 |----------------------------+--------------------------------+---------------------------| 20237 |XDefaultVisual[25] |XReconfigureWMWindow[25] |XkbChangeTypesOfKey[25] | 20238 |----------------------------+--------------------------------+---------------------------| 20239 |XDefaultVisualOfScreen[25] |XRectInRegion[25] |XkbComputeEffectiveMap[25] | 20240 |----------------------------+--------------------------------+---------------------------| 20241 |XDefineCursor[25] |XRefreshKeyboardMapping[25] |XkbComputeRowBounds[25] | 20242 |----------------------------+--------------------------------+---------------------------| 20243 |XDeleteContext[25] |XRegisterIMInstantiateCallback |XkbComputeSectionBounds[25]| 20244 | |[25] | | 20245 |----------------------------+--------------------------------+---------------------------| 20246 |XDeleteModifiermapEntry[25] |XRemoveConnectionWatch[25] |XkbComputeShapeBounds[25] | 20247 |----------------------------+--------------------------------+---------------------------| 20248 |XDeleteProperty[25] |XRemoveFromSaveSet[25] |XkbComputeShapeTop[25] | 20249 |----------------------------+--------------------------------+---------------------------| 20250 |XDestroyIC[25] |XRemoveHost[25] |XkbCopyKeyType[25] | 20251 |----------------------------+--------------------------------+---------------------------| 20252 |XDestroyImage[25] |XRemoveHosts[25] |XkbCopyKeyTypes[25] | 20253 |----------------------------+--------------------------------+---------------------------| 20254 |XDestroyOC[25] |XReparentWindow[25] |XkbFindOverlayForKey[25] | 20255 |----------------------------+--------------------------------+---------------------------| 20256 |XDestroyRegion[25] |XResetScreenSaver[25] |XkbForceBell[25] | 20257 |----------------------------+--------------------------------+---------------------------| 20258 |XDestroySubwindows[25] |XResizeWindow[25] |XkbFreeClientMap[25] | 20259 |----------------------------+--------------------------------+---------------------------| 20260 |XDestroyWindow[25] |XResourceManagerString[25] |XkbFreeCompatMap[25] | 20261 |----------------------------+--------------------------------+---------------------------| 20262 |XDirectionalDependentDrawing|XRestackWindows[25] |XkbFreeComponentList[25] | 20263 |[25] | | | 20264 |----------------------------+--------------------------------+---------------------------| 20265 |XDisableAccessControl[25] |XRootWindow[25] |XkbFreeControls[25] | 20266 |----------------------------+--------------------------------+---------------------------| 20267 |XDisplayCells[25] |XRootWindowOfScreen[25] |XkbFreeGeomColors[25] | 20268 |----------------------------+--------------------------------+---------------------------| 20269 |XDisplayHeight[25] |XRotateBuffers[25] |XkbFreeGeomDoodads[25] | 20270 |----------------------------+--------------------------------+---------------------------| 20271 |XDisplayHeightMM[25] |XRotateWindowProperties[25] |XkbFreeGeomKeyAliases[25] | 20272 |----------------------------+--------------------------------+---------------------------| 20273 |XDisplayKeycodes[25] |XSaveContext[25] |XkbFreeGeomKeys[25] | 20274 |----------------------------+--------------------------------+---------------------------| 20275 |XDisplayMotionBufferSize[25]|XScreenCount[25] |XkbFreeGeomOutlines[25] | 20276 |----------------------------+--------------------------------+---------------------------| 20277 |XDisplayName[25] |XScreenNumberOfScreen[25] |XkbFreeGeomOverlayKeys[25] | 20278 |----------------------------+--------------------------------+---------------------------| 20279 |XDisplayOfIM[25] |XScreenOfDisplay[25] |XkbFreeGeomOverlayRows[25] | 20280 |----------------------------+--------------------------------+---------------------------| 20281 |XDisplayOfOM[25] |XScreenResourceString[25] |XkbFreeGeomOverlays[25] | 20282 |----------------------------+--------------------------------+---------------------------| 20283 |XDisplayOfScreen[25] |XSelectInput[25] |XkbFreeGeomPoints[25] | 20284 |----------------------------+--------------------------------+---------------------------| 20285 |XDisplayPlanes[25] |XSendEvent[25] |XkbFreeGeomProperties[25] | 20286 |----------------------------+--------------------------------+---------------------------| 20287 |XDisplayString[25] |XServerVendor[25] |XkbFreeGeomRows[25] | 20288 |----------------------------+--------------------------------+---------------------------| 20289 |XDisplayWidth[25] |XSetAccessControl[25] |XkbFreeGeomSections[25] | 20290 |----------------------------+--------------------------------+---------------------------| 20291 |XDisplayWidthMM[25] |XSetAfterFunction[25] |XkbFreeGeomShapes[25] | 20292 |----------------------------+--------------------------------+---------------------------| 20293 |XDoesBackingStore[25] |XSetArcMode[25] |XkbFreeGeometry[25] | 20294 |----------------------------+--------------------------------+---------------------------| 20295 |XDoesSaveUnders[25] |XSetAuthorization[25] |XkbFreeIndicatorMaps[25] | 20296 |----------------------------+--------------------------------+---------------------------| 20297 |XDrawArc[25] |XSetBackground[25] |XkbFreeKeyboard[25] | 20298 |----------------------------+--------------------------------+---------------------------| 20299 |XDrawArcs[25] |XSetClassHint[25] |XkbFreeNames[25] | 20300 |----------------------------+--------------------------------+---------------------------| 20301 |XDrawImageString[25] |XSetClipMask[25] |XkbFreeServerMap[25] | 20302 |----------------------------+--------------------------------+---------------------------| 20303 |XDrawImageString16[25] |XSetClipOrigin[25] |XkbGetAutoRepeatRate[25] | 20304 |----------------------------+--------------------------------+---------------------------| 20305 |XDrawLine[25] |XSetClipRectangles[25] |XkbGetCompatMap[25] | 20306 |----------------------------+--------------------------------+---------------------------| 20307 |XDrawLines[25] |XSetCloseDownMode[25] |XkbGetControls[25] | 20308 |----------------------------+--------------------------------+---------------------------| 20309 |XDrawPoint[25] |XSetCommand[25] |XkbGetGeometry[25] | 20310 |----------------------------+--------------------------------+---------------------------| 20311 |XDrawPoints[25] |XSetDashes[25] |XkbGetIndicatorMap[25] | 20312 |----------------------------+--------------------------------+---------------------------| 20313 |XDrawRectangle[25] |XSetErrorHandler[25] |XkbGetIndicatorState[25] | 20314 |----------------------------+--------------------------------+---------------------------| 20315 |XDrawRectangles[25] |XSetFillRule[25] |XkbGetKeyActions[25] | 20316 |----------------------------+--------------------------------+---------------------------| 20317 |XDrawSegments[25] |XSetFillStyle[25] |XkbGetKeyBehaviors[25] | 20318 |----------------------------+--------------------------------+---------------------------| 20319 |XDrawString[25] |XSetFont[25] |XkbGetKeyExplicitComponents| 20320 | | |[25] | 20321 |----------------------------+--------------------------------+---------------------------| 20322 |XDrawString16[25] |XSetFontPath[25] |XkbGetKeyModifierMap[25] | 20323 |----------------------------+--------------------------------+---------------------------| 20324 |XDrawText[25] |XSetForeground[25] |XkbGetKeySyms[25] | 20325 |----------------------------+--------------------------------+---------------------------| 20326 |XDrawText16[25] |XSetFunction[25] |XkbGetKeyTypes[25] | 20327 |----------------------------+--------------------------------+---------------------------| 20328 |XEHeadOfExtensionList[25] |XSetGraphicsExposures[25] |XkbGetKeyboard[25] | 20329 |----------------------------+--------------------------------+---------------------------| 20330 |XESetBeforeFlush[25] |XSetICFocus[25] |XkbGetKeyboardByName[25] | 20331 |----------------------------+--------------------------------+---------------------------| 20332 |XESetCloseDisplay[25] |XSetICValues[25] |XkbGetMap[25] | 20333 |----------------------------+--------------------------------+---------------------------| 20334 |XESetCopyGC[25] |XSetIMValues[25] |XkbGetMapChanges[25] | 20335 |----------------------------+--------------------------------+---------------------------| 20336 |XESetCreateFont[25] |XSetIOErrorHandler[25] |XkbGetNamedGeometry[25] | 20337 |----------------------------+--------------------------------+---------------------------| 20338 |XESetCreateGC[25] |XSetIconName[25] |XkbGetNamedIndicator[25] | 20339 |----------------------------+--------------------------------+---------------------------| 20340 |XESetError[25] |XSetIconSizes[25] |XkbGetNames[25] | 20341 |----------------------------+--------------------------------+---------------------------| 20342 |XESetErrorString[25] |XSetInputFocus[25] |XkbGetState[25] | 20343 |----------------------------+--------------------------------+---------------------------| 20344 |XESetEventToWire[25] |XSetLineAttributes[25] |XkbGetUpdatedMap[25] | 20345 |----------------------------+--------------------------------+---------------------------| 20346 |XESetFlushGC[25] |XSetLocaleModifiers[25] |XkbGetVirtualMods[25] | 20347 |----------------------------+--------------------------------+---------------------------| 20348 |XESetFreeFont[25] |XSetModifierMapping[25] |XkbGetXlibControls[25] | 20349 |----------------------------+--------------------------------+---------------------------| 20350 |XESetFreeGC[25] |XSetNormalHints[25] |XkbIgnoreExtension[25] | 20351 |----------------------------+--------------------------------+---------------------------| 20352 |XESetPrintErrorValues[25] |XSetOCValues[25] |XkbInitCanonicalKeyTypes | 20353 | | |[25] | 20354 |----------------------------+--------------------------------+---------------------------| 20355 |XESetWireToError[25] |XSetOMValues[25] |XkbKeyTypesForCoreSymbols | 20356 | | |[25] | 20357 |----------------------------+--------------------------------+---------------------------| 20358 |XESetWireToEvent[25] |XSetPlaneMask[25] |XkbKeycodeToKeysym[25] | 20359 |----------------------------+--------------------------------+---------------------------| 20360 |XEmptyRegion[25] |XSetPointerMapping[25] |XkbKeysymToModifiers[25] | 20361 |----------------------------+--------------------------------+---------------------------| 20362 |XEnableAccessControl[25] |XSetRGBColormaps[25] |XkbLatchGroup[25] | 20363 |----------------------------+--------------------------------+---------------------------| 20364 |XEqualRegion[25] |XSetRegion[25] |XkbLatchModifiers[25] | 20365 |----------------------------+--------------------------------+---------------------------| 20366 |XEventMaskOfScreen[25] |XSetScreenSaver[25] |XkbLibraryVersion[25] | 20367 |----------------------------+--------------------------------+---------------------------| 20368 |XEventsQueued[25] |XSetSelectionOwner[25] |XkbListComponents[25] | 20369 |----------------------------+--------------------------------+---------------------------| 20370 |XExtendedMaxRequestSize[25] |XSetSizeHints[25] |XkbLockGroup[25] | 20371 |----------------------------+--------------------------------+---------------------------| 20372 |XExtentsOfFontSet[25] |XSetStandardColormap[25] |XkbLockModifiers[25] | 20373 |----------------------------+--------------------------------+---------------------------| 20374 |XFetchBuffer[25] |XSetStandardProperties[25] |XkbLookupKeyBinding[25] | 20375 |----------------------------+--------------------------------+---------------------------| 20376 |XFetchBytes[25] |XSetState[25] |XkbLookupKeySym[25] | 20377 |----------------------------+--------------------------------+---------------------------| 20378 |XFetchName[25] |XSetStipple[25] |XkbNoteControlsChanges[25] | 20379 |----------------------------+--------------------------------+---------------------------| 20380 |XFillArc[25] |XSetSubwindowMode[25] |XkbNoteMapChanges[25] | 20381 |----------------------------+--------------------------------+---------------------------| 20382 |XFillArcs[25] |XSetTSOrigin[25] |XkbNoteNameChanges[25] | 20383 |----------------------------+--------------------------------+---------------------------| 20384 |XFillPolygon[25] |XSetTextProperty[25] |XkbOpenDisplay[25] | 20385 |----------------------------+--------------------------------+---------------------------| 20386 |XFillRectangle[25] |XSetTile[25] |XkbQueryExtension[25] | 20387 |----------------------------+--------------------------------+---------------------------| 20388 |XFillRectangles[25] |XSetTransientForHint[25] |XkbRefreshKeyboardMapping | 20389 | | |[25] | 20390 |----------------------------+--------------------------------+---------------------------| 20391 |XFilterEvent[25] |XSetWMClientMachine[25] |XkbResizeKeyActions[25] | 20392 |----------------------------+--------------------------------+---------------------------| 20393 |XFindContext[25] |XSetWMColormapWindows[25] |XkbResizeKeySyms[25] | 20394 |----------------------------+--------------------------------+---------------------------| 20395 |XFindOnExtensionList[25] |XSetWMHints[25] |XkbResizeKeyType[25] | 20396 |----------------------------+--------------------------------+---------------------------| 20397 |XFlush[25] |XSetWMIconName[25] |XkbSelectEventDetails[25] | 20398 |----------------------------+--------------------------------+---------------------------| 20399 |XFlushGC[25] |XSetWMName[25] |XkbSelectEvents[25] | 20400 |----------------------------+--------------------------------+---------------------------| 20401 |XFontsOfFontSet[25] |XSetWMNormalHints[25] |XkbSetAtomFuncs[25] | 20402 |----------------------------+--------------------------------+---------------------------| 20403 |XForceScreenSaver[25] |XSetWMProperties[25] |XkbSetAutoRepeatRate[25] | 20404 |----------------------------+--------------------------------+---------------------------| 20405 |XFree[25] |XSetWMProtocols[25] |XkbSetAutoResetControls[25]| 20406 |----------------------------+--------------------------------+---------------------------| 20407 |XFreeColormap[25] |XSetWMSizeHints[25] |XkbSetCompatMap[25] | 20408 |----------------------------+--------------------------------+---------------------------| 20409 |XFreeColors[25] |XSetWindowBackground[25] |XkbSetControls[25] | 20410 |----------------------------+--------------------------------+---------------------------| 20411 |XFreeCursor[25] |XSetWindowBackgroundPixmap[25] |XkbSetDebuggingFlags[25] | 20412 |----------------------------+--------------------------------+---------------------------| 20413 |XFreeExtensionList[25] |XSetWindowBorder[25] |XkbSetDetectableAutoRepeat | 20414 | | |[25] | 20415 |----------------------------+--------------------------------+---------------------------| 20416 |XFreeFont[25] |XSetWindowBorderPixmap[25] |XkbSetGeometry[25] | 20417 |----------------------------+--------------------------------+---------------------------| 20418 |XFreeFontInfo[25] |XSetWindowBorderWidth[25] |XkbSetIgnoreLockMods[25] | 20419 |----------------------------+--------------------------------+---------------------------| 20420 |XFreeFontNames[25] |XSetWindowColormap[25] |XkbSetIndicatorMap[25] | 20421 |----------------------------+--------------------------------+---------------------------| 20422 |XFreeFontPath[25] |XSetZoomHints[25] |XkbSetMap[25] | 20423 |----------------------------+--------------------------------+---------------------------| 20424 |XFreeFontSet[25] |XShrinkRegion[25] |XkbSetNamedIndicator[25] | 20425 |----------------------------+--------------------------------+---------------------------| 20426 |XFreeGC[25] |XStoreBuffer[25] |XkbSetNames[25] | 20427 |----------------------------+--------------------------------+---------------------------| 20428 |XFreeModifiermap[25] |XStoreBytes[25] |XkbSetServerInternalMods | 20429 | | |[25] | 20430 |----------------------------+--------------------------------+---------------------------| 20431 |XFreePixmap[25] |XStoreColor[25] |XkbSetXlibControls[25] | 20432 |----------------------------+--------------------------------+---------------------------| 20433 |XFreeStringList[25] |XStoreColors[25] |XkbToControl[25] | 20434 |----------------------------+--------------------------------+---------------------------| 20435 |XGContextFromGC[25] |XStoreName[25] |XkbTranslateKeyCode[25] | 20436 |----------------------------+--------------------------------+---------------------------| 20437 |XGeometry[25] |XStoreNamedColor[25] |XkbTranslateKeySym[25] | 20438 |----------------------------+--------------------------------+---------------------------| 20439 |XGetAtomName[25] |XStringListToTextProperty[25] |XkbUpdateMapFromCore[25] | 20440 |----------------------------+--------------------------------+---------------------------| 20441 |XGetAtomNames[25] |XStringToKeysym[25] |XkbUseExtension[25] | 20442 |----------------------------+--------------------------------+---------------------------| 20443 |XGetClassHint[25] |XSubImage[25] |XkbVirtualModsToReal[25] | 20444 |----------------------------+--------------------------------+---------------------------| 20445 |XGetCommand[25] |XSubtractRegion[25] |XmbDrawImageString[25] | 20446 |----------------------------+--------------------------------+---------------------------| 20447 |XGetDefault[25] |XSupportsLocale[25] |XmbDrawString[25] | 20448 |----------------------------+--------------------------------+---------------------------| 20449 |XGetErrorDatabaseText[25] |XSync[25] |XmbDrawText[25] | 20450 |----------------------------+--------------------------------+---------------------------| 20451 |XGetErrorText[25] |XSynchronize[25] |XmbLookupString[25] | 20452 |----------------------------+--------------------------------+---------------------------| 20453 |XGetFontPath[25] |XTextExtents[25] |XmbResetIC[25] | 20454 |----------------------------+--------------------------------+---------------------------| 20455 |XGetFontProperty[25] |XTextExtents16[25] |XmbSetWMProperties[25] | 20456 |----------------------------+--------------------------------+---------------------------| 20457 |XGetGCValues[25] |XTextPropertyToStringList[25] |XmbTextEscapement[25] | 20458 |----------------------------+--------------------------------+---------------------------| 20459 |XGetGeometry[25] |XTextWidth[25] |XmbTextExtents[25] | 20460 |----------------------------+--------------------------------+---------------------------| 20461 |XGetICValues[25] |XTextWidth16[25] |XmbTextListToTextProperty | 20462 | | |[25] | 20463 |----------------------------+--------------------------------+---------------------------| 20464 |XGetIMValues[25] |XTranslateCoordinates[25] |XmbTextPerCharExtents[25] | 20465 |----------------------------+--------------------------------+---------------------------| 20466 |XGetIconName[25] |XUndefineCursor[25] |XmbTextPropertyToTextList | 20467 | | |[25] | 20468 |----------------------------+--------------------------------+---------------------------| 20469 |XGetIconSizes[25] |XUngrabButton[25] |XrmCombineDatabase[25] | 20470 |----------------------------+--------------------------------+---------------------------| 20471 |XGetImage[25] |XUngrabKey[25] |XrmCombineFileDatabase[25] | 20472 |----------------------------+--------------------------------+---------------------------| 20473 |XGetInputFocus[25] |XUngrabKeyboard[25] |XrmDestroyDatabase[25] | 20474 |----------------------------+--------------------------------+---------------------------| 20475 |XGetKeyboardControl[25] |XUngrabPointer[25] |XrmEnumerateDatabase[25] | 20476 |----------------------------+--------------------------------+---------------------------| 20477 |XGetKeyboardMapping[25] |XUngrabServer[25] |XrmGetDatabase[25] | 20478 |----------------------------+--------------------------------+---------------------------| 20479 |XGetModifierMapping[25] |XUninstallColormap[25] |XrmGetFileDatabase[25] | 20480 |----------------------------+--------------------------------+---------------------------| 20481 |XGetMotionEvents[25] |XUnionRectWithRegion[25] |XrmGetResource[25] | 20482 |----------------------------+--------------------------------+---------------------------| 20483 |XGetNormalHints[25] |XUnionRegion[25] |XrmGetStringDatabase[25] | 20484 |----------------------------+--------------------------------+---------------------------| 20485 |XGetOCValues[25] |XUnloadFont[25] |XrmInitialize[25] | 20486 |----------------------------+--------------------------------+---------------------------| 20487 |XGetOMValues[25] |XUnlockDisplay[25] |XrmLocaleOfDatabase[25] | 20488 |----------------------------+--------------------------------+---------------------------| 20489 |XGetPixel[25] |XUnmapSubwindows[25] |XrmMergeDatabases[25] | 20490 |----------------------------+--------------------------------+---------------------------| 20491 |XGetPointerControl[25] |XUnmapWindow[25] |XrmParseCommand[25] | 20492 |----------------------------+--------------------------------+---------------------------| 20493 |XGetPointerMapping[25] |XUnregisterIMInstantiateCallback|XrmPermStringToQuark[25] | 20494 | |[25] | | 20495 |----------------------------+--------------------------------+---------------------------| 20496 |XGetRGBColormaps[25] |XUnsetICFocus[25] |XrmPutFileDatabase[25] | 20497 |----------------------------+--------------------------------+---------------------------| 20498 |XGetScreenSaver[25] |XVaCreateNestedList[25] |XrmPutLineResource[25] | 20499 |----------------------------+--------------------------------+---------------------------| 20500 |XGetSelectionOwner[25] |XVendorRelease[25] |XrmPutResource[25] | 20501 |----------------------------+--------------------------------+---------------------------| 20502 |XGetSizeHints[25] |XVisualIDFromVisual[25] |XrmPutStringResource[25] | 20503 |----------------------------+--------------------------------+---------------------------| 20504 |XGetStandardColormap[25] |XWMGeometry[25] |XrmQGetResource[25] | 20505 |----------------------------+--------------------------------+---------------------------| 20506 |XGetSubImage[25] |XWarpPointer[25] |XrmQGetSearchList[25] | 20507 |----------------------------+--------------------------------+---------------------------| 20508 |XGetTextProperty[25] |XWhitePixel[25] |XrmQGetSearchResource[25] | 20509 |----------------------------+--------------------------------+---------------------------| 20510 |XGetTransientForHint[25] |XWhitePixelOfScreen[25] |XrmQPutResource[25] | 20511 |----------------------------+--------------------------------+---------------------------| 20512 |XGetVisualInfo[25] |XWidthMMOfScreen[25] |XrmQPutStringResource[25] | 20513 |----------------------------+--------------------------------+---------------------------| 20514 |XGetWMClientMachine[25] |XWidthOfScreen[25] |XrmQuarkToString[25] | 20515 |----------------------------+--------------------------------+---------------------------| 20516 |XGetWMColormapWindows[25] |XWindowEvent[25] |XrmSetDatabase[25] | 20517 |----------------------------+--------------------------------+---------------------------| 20518 |XGetWMHints[25] |XWithdrawWindow[25] |XrmStringToBindingQuarkList| 20519 | | |[25] | 20520 |----------------------------+--------------------------------+---------------------------| 20521 |XGetWMIconName[25] |XWriteBitmapFile[25] |XrmStringToQuark[25] | 20522 |----------------------------+--------------------------------+---------------------------| 20523 |XGetWMName[25] |XXorRegion[25] |XrmStringToQuarkList[25] | 20524 |----------------------------+--------------------------------+---------------------------| 20525 |XGetWMNormalHints[25] |XauDisposeAuth[25] |XrmUniqueQuark[25] | 20526 |----------------------------+--------------------------------+---------------------------| 20527 |XGetWMProtocols[25] |XauFileName[25] |Xutf8TextListToTextProperty| 20528 |----------------------------+--------------------------------+---------------------------| 20529 |XGetWMSizeHints[25] |XauGetBestAuthByAddr[25] |Xutf8TextPropertyToTextList| 20530 |----------------------------+--------------------------------+---------------------------| 20531 |XGetWindowAttributes[25] |XauReadAuth[25] |XwcDrawImageString[25] | 20532 |----------------------------+--------------------------------+---------------------------| 20533 |XGetWindowProperty[25] |XcmsAddColorSpace[25] |XwcDrawString[25] | 20534 |----------------------------+--------------------------------+---------------------------| 20535 |XGetZoomHints[25] |XcmsAddFunctionSet[25] |XwcDrawText[25] | 20536 |----------------------------+--------------------------------+---------------------------| 20537 |XGrabButton[25] |XcmsAllocColor[25] |XwcFreeStringList[25] | 20538 |----------------------------+--------------------------------+---------------------------| 20539 |XGrabKey[25] |XcmsAllocNamedColor[25] |XwcLookupString[25] | 20540 |----------------------------+--------------------------------+---------------------------| 20541 |XGrabKeyboard[25] |XcmsCCCOfColormap[25] |XwcResetIC[25] | 20542 |----------------------------+--------------------------------+---------------------------| 20543 |XGrabPointer[25] |XcmsCIELabClipL[25] |XwcTextEscapement[25] | 20544 |----------------------------+--------------------------------+---------------------------| 20545 |XGrabServer[25] |XcmsCIELabClipLab[25] |XwcTextExtents[25] | 20546 |----------------------------+--------------------------------+---------------------------| 20547 |XHeightMMOfScreen[25] |XcmsCIELabClipab[25] |XwcTextListToTextProperty | 20548 | | |[25] | 20549 |----------------------------+--------------------------------+---------------------------| 20550 |XHeightOfScreen[25] |XcmsCIELabQueryMaxC[25] |XwcTextPerCharExtents[25] | 20551 |----------------------------+--------------------------------+---------------------------| 20552 |XIMOfIC[25] |XcmsCIELabQueryMaxL[25] |XwcTextPropertyToTextList | 20553 | | |[25] | 20554 |----------------------------+--------------------------------+---------------------------| 20555 |XIconifyWindow[25] |XcmsCIELabQueryMaxLC[25] | | 20556 +-----------------------------------------------------------------------------------------+ 20557 ------------------------------------------------------------------------------- 20558 20559 libXt 20560 20561 The behaviour of the interfaces in this library is specified by the following 20562 Standards. 20563 20564 Linux Standard Base 20565 X11R6.4 X Toolkit Intrinsics 20566 20567 Table A-2. libXt Function Interfaces 20568 20569 +-------------------------------------------------------------------------------------------+ 20570 |XtAddActions[35] |XtCvtStringToInitialState[35] |XtOwnSelectionIncremental | 20571 | | |[35] | 20572 |-----------------------------+--------------------------------+----------------------------| 20573 |XtAddCallback[35] |XtCvtStringToInt[35] |XtParent[35] | 20574 |-----------------------------+--------------------------------+----------------------------| 20575 |XtAddCallbacks[35] |XtCvtStringToPixel[35] |XtParseAcceleratorTable[35] | 20576 |-----------------------------+--------------------------------+----------------------------| 20577 |XtAddConverter[35] |XtCvtStringToRestartStyle[35] |XtParseTranslationTable[35] | 20578 |-----------------------------+--------------------------------+----------------------------| 20579 |XtAddEventHandler[35] |XtCvtStringToShort[35] |XtPeekEvent[35] | 20580 |-----------------------------+--------------------------------+----------------------------| 20581 |XtAddExposureToRegion[35] |XtCvtStringToTranslationTable |XtPending[35] | 20582 | |[35] | | 20583 |-----------------------------+--------------------------------+----------------------------| 20584 |XtAddGrab[35] |XtCvtStringToUnsignedChar[35] |XtPopdown[35] | 20585 |-----------------------------+--------------------------------+----------------------------| 20586 |XtAddInput[35] |XtCvtStringToVisual[35] |XtPopup[35] | 20587 |-----------------------------+--------------------------------+----------------------------| 20588 |XtAddRawEventHandler[35] |XtDatabase[35] |XtPopupSpringLoaded[35] | 20589 |-----------------------------+--------------------------------+----------------------------| 20590 |XtAddSignal[35] |XtDestroyApplicationContext[35] |XtProcessEvent[35] | 20591 |-----------------------------+--------------------------------+----------------------------| 20592 |XtAddTimeOut[35] |XtDestroyGC[35] |XtProcessLock[35] | 20593 |-----------------------------+--------------------------------+----------------------------| 20594 |XtAddWorkProc[35] |XtDestroyWidget[35] |XtProcessUnlock[35] | 20595 |-----------------------------+--------------------------------+----------------------------| 20596 |XtAllocateGC[35] |XtDirectConvert[35] |XtQueryGeometry[35] | 20597 |-----------------------------+--------------------------------+----------------------------| 20598 |XtAppAddActionHook[35] |XtDisownSelection[35] |XtRealizeWidget[35] | 20599 |-----------------------------+--------------------------------+----------------------------| 20600 |XtAppAddActions[35] |XtDispatchEvent[35] |XtRealloc[35] | 20601 |-----------------------------+--------------------------------+----------------------------| 20602 |XtAppAddBlockHook[35] |XtDispatchEventToWidget[35] |XtRegisterCaseConverter[35] | 20603 |-----------------------------+--------------------------------+----------------------------| 20604 |XtAppAddConverter[35] |XtDisplay[35] |XtRegisterDrawable[35] | 20605 |-----------------------------+--------------------------------+----------------------------| 20606 |XtAppAddInput[35] |XtDisplayInitialize[35] |XtRegisterExtensionSelector | 20607 | | |[35] | 20608 |-----------------------------+--------------------------------+----------------------------| 20609 |XtAppAddSignal[35] |XtDisplayOfObject[35] |XtRegisterGrabAction[35] | 20610 |-----------------------------+--------------------------------+----------------------------| 20611 |XtAppAddTimeOut[35] |XtDisplayStringConversionWarning|XtReleaseGC[35] | 20612 | |[35] | | 20613 |-----------------------------+--------------------------------+----------------------------| 20614 |XtAppAddWorkProc[35] |XtDisplayToApplicationContext |XtReleasePropertyAtom[35] | 20615 | |[35] | | 20616 |-----------------------------+--------------------------------+----------------------------| 20617 |XtAppCreateShell[35] |XtError[35] |XtRemoveActionHook[35] | 20618 |-----------------------------+--------------------------------+----------------------------| 20619 |XtAppError[35] |XtErrorMsg[35] |XtRemoveAllCallbacks[35] | 20620 |-----------------------------+--------------------------------+----------------------------| 20621 |XtAppErrorMsg[35] |XtFindFile[35] |XtRemoveBlockHook[35] | 20622 |-----------------------------+--------------------------------+----------------------------| 20623 |XtAppGetErrorDatabase[35] |XtFree[35] |XtRemoveCallback[35] | 20624 |-----------------------------+--------------------------------+----------------------------| 20625 |XtAppGetErrorDatabaseText[35]|XtGetActionKeysym[35] |XtRemoveCallbacks[35] | 20626 |-----------------------------+--------------------------------+----------------------------| 20627 |XtAppGetExitFlag[35] |XtGetActionList[35] |XtRemoveEventHandler[35] | 20628 |-----------------------------+--------------------------------+----------------------------| 20629 |XtAppGetSelectionTimeout[35] |XtGetApplicationNameAndClass[35]|XtRemoveEventTypeHandler[35]| 20630 |-----------------------------+--------------------------------+----------------------------| 20631 |XtAppInitialize[35] |XtGetApplicationResources[35] |XtRemoveGrab[35] | 20632 |-----------------------------+--------------------------------+----------------------------| 20633 |XtAppLock[35] |XtGetClassExtension[35] |XtRemoveInput[35] | 20634 |-----------------------------+--------------------------------+----------------------------| 20635 |XtAppMainLoop[35] |XtGetConstraintResourceList[35] |XtRemoveRawEventHandler[35] | 20636 |-----------------------------+--------------------------------+----------------------------| 20637 |XtAppNextEvent[35] |XtGetDisplays[35] |XtRemoveSignal[35] | 20638 |-----------------------------+--------------------------------+----------------------------| 20639 |XtAppPeekEvent[35] |XtGetErrorDatabase[35] |XtRemoveTimeOut[35] | 20640 |-----------------------------+--------------------------------+----------------------------| 20641 |XtAppPending[35] |XtGetErrorDatabaseText[35] |XtRemoveWorkProc[35] | 20642 |-----------------------------+--------------------------------+----------------------------| 20643 |XtAppProcessEvent[35] |XtGetGC[35] |XtReservePropertyAtom[35] | 20644 |-----------------------------+--------------------------------+----------------------------| 20645 |XtAppReleaseCacheRefs[35] |XtGetKeyboardFocusWidget[35] |XtResizeWidget[35] | 20646 |-----------------------------+--------------------------------+----------------------------| 20647 |XtAppSetErrorHandler[35] |XtGetKeysymTable[35] |XtResizeWindow[35] | 20648 |-----------------------------+--------------------------------+----------------------------| 20649 |XtAppSetErrorMsgHandler[35] |XtGetMultiClickTime[35] |XtResolvePathname[35] | 20650 |-----------------------------+--------------------------------+----------------------------| 20651 |XtAppSetExitFlag[35] |XtGetResourceList[35] |XtScreen[35] | 20652 |-----------------------------+--------------------------------+----------------------------| 20653 |XtAppSetFallbackResources[35]|XtGetSelectionParameters[35] |XtScreenDatabase[35] | 20654 |-----------------------------+--------------------------------+----------------------------| 20655 |XtAppSetSelectionTimeout[35] |XtGetSelectionRequest[35] |XtScreenOfObject[35] | 20656 |-----------------------------+--------------------------------+----------------------------| 20657 |XtAppSetTypeConverter[35] |XtGetSelectionTimeout[35] |XtSendSelectionRequest[35] | 20658 |-----------------------------+--------------------------------+----------------------------| 20659 |XtAppSetWarningHandler[35] |XtGetSelectionValue[35] |XtSessionGetToken[35] | 20660 |-----------------------------+--------------------------------+----------------------------| 20661 |XtAppSetWarningMsgHandler[35]|XtGetSelectionValueIncremental |XtSessionReturnToken[35] | 20662 | |[35] | | 20663 |-----------------------------+--------------------------------+----------------------------| 20664 |XtAppUnlock[35] |XtGetSelectionValues[35] |XtSetErrorHandler[35] | 20665 |-----------------------------+--------------------------------+----------------------------| 20666 |XtAppWarning[35] |XtGetSelectionValuesIncremental |XtSetErrorMsgHandler[35] | 20667 | |[35] | | 20668 |-----------------------------+--------------------------------+----------------------------| 20669 |XtAppWarningMsg[35] |XtGetSubresources[35] |XtSetEventDispatcher[35] | 20670 |-----------------------------+--------------------------------+----------------------------| 20671 |XtAugmentTranslations[35] |XtGetSubvalues[35] |XtSetKeyTranslator[35] | 20672 |-----------------------------+--------------------------------+----------------------------| 20673 |XtBuildEventMask[35] |XtGetValues[35] |XtSetKeyboardFocus[35] | 20674 |-----------------------------+--------------------------------+----------------------------| 20675 |XtCallAcceptFocus[35] |XtGrabButton[35] |XtSetLanguageProc[35] | 20676 |-----------------------------+--------------------------------+----------------------------| 20677 |XtCallActionProc[35] |XtGrabKey[35] |XtSetMappedWhenManaged[35] | 20678 |-----------------------------+--------------------------------+----------------------------| 20679 |XtCallCallbackList[35] |XtGrabKeyboard[35] |XtSetMultiClickTime[35] | 20680 |-----------------------------+--------------------------------+----------------------------| 20681 |XtCallCallbacks[35] |XtGrabPointer[35] |XtSetSelectionParameters[35]| 20682 |-----------------------------+--------------------------------+----------------------------| 20683 |XtCallConverter[35] |XtHasCallbacks[35] |XtSetSelectionTimeout[35] | 20684 |-----------------------------+--------------------------------+----------------------------| 20685 |XtCallbackExclusive[35] |XtHooksOfDisplay[35] |XtSetSensitive[35] | 20686 |-----------------------------+--------------------------------+----------------------------| 20687 |XtCallbackNone[35] |XtInitialize[35] |XtSetSubvalues[35] | 20688 |-----------------------------+--------------------------------+----------------------------| 20689 |XtCallbackNonexclusive[35] |XtInitializeWidgetClass[35] |XtSetTypeConverter[35] | 20690 |-----------------------------+--------------------------------+----------------------------| 20691 |XtCallbackPopdown[35] |XtInsertEventHandler[35] |XtSetValues[35] | 20692 |-----------------------------+--------------------------------+----------------------------| 20693 |XtCallbackReleaseCacheRef[35]|XtInsertEventTypeHandler[35] |XtSetWMColormapWindows[35] | 20694 |-----------------------------+--------------------------------+----------------------------| 20695 |XtCallbackReleaseCacheRefList|XtInsertRawEventHandler[35] |XtSetWarningHandler[35] | 20696 |[35] | | | 20697 |-----------------------------+--------------------------------+----------------------------| 20698 |XtCalloc[35] |XtInstallAccelerators[35] |XtSetWarningMsgHandler[35] | 20699 |-----------------------------+--------------------------------+----------------------------| 20700 |XtCancelSelectionRequest[35] |XtInstallAllAccelerators[35] |XtStringConversionWarning | 20701 | | |[35] | 20702 |-----------------------------+--------------------------------+----------------------------| 20703 |XtChangeManagedSet[35] |XtIsApplicationShell[35] |XtSuperclass[35] | 20704 |-----------------------------+--------------------------------+----------------------------| 20705 |XtClass[35] |XtIsComposite[35] |XtToolkitInitialize[35] | 20706 |-----------------------------+--------------------------------+----------------------------| 20707 |XtCloseDisplay[35] |XtIsConstraint[35] |XtToolkitThreadInitialize | 20708 | | |[35] | 20709 |-----------------------------+--------------------------------+----------------------------| 20710 |XtConfigureWidget[35] |XtIsManaged[35] |XtTranslateCoords[35] | 20711 |-----------------------------+--------------------------------+----------------------------| 20712 |XtConvert[35] |XtIsObject[35] |XtTranslateKey[35] | 20713 |-----------------------------+--------------------------------+----------------------------| 20714 |XtConvertAndStore[35] |XtIsOverrideShell[35] |XtTranslateKeycode[35] | 20715 |-----------------------------+--------------------------------+----------------------------| 20716 |XtConvertCase[35] |XtIsRealized[35] |XtUngrabButton[35] | 20717 |-----------------------------+--------------------------------+----------------------------| 20718 |XtCreateApplicationContext |XtIsRectObj[35] |XtUngrabKey[35] | 20719 |[35] | | | 20720 |-----------------------------+--------------------------------+----------------------------| 20721 |XtCreateApplicationShell[35] |XtIsSensitive[35] |XtUngrabKeyboard[35] | 20722 |-----------------------------+--------------------------------+----------------------------| 20723 |XtCreateManagedWidget[35] |XtIsSessionShell[35] |XtUngrabPointer[35] | 20724 |-----------------------------+--------------------------------+----------------------------| 20725 |XtCreatePopupShell[35] |XtIsShell[35] |XtUninstallTranslations[35] | 20726 |-----------------------------+--------------------------------+----------------------------| 20727 |XtCreateSelectionRequest[35] |XtIsSubclass[35] |XtUnmanageChild[35] | 20728 |-----------------------------+--------------------------------+----------------------------| 20729 |XtCreateWidget[35] |XtIsTopLevelShell[35] |XtUnmanageChildren[35] | 20730 |-----------------------------+--------------------------------+----------------------------| 20731 |XtCreateWindow[35] |XtIsTransientShell[35] |XtUnmapWidget[35] | 20732 |-----------------------------+--------------------------------+----------------------------| 20733 |XtCvtColorToPixel[35] |XtIsVendorShell[35] |XtUnrealizeWidget[35] | 20734 |-----------------------------+--------------------------------+----------------------------| 20735 |XtCvtIntToBool[35] |XtIsWMShell[35] |XtUnregisterDrawable[35] | 20736 |-----------------------------+--------------------------------+----------------------------| 20737 |XtCvtIntToBoolean[35] |XtIsWidget[35] |XtVaAppCreateShell[35] | 20738 |-----------------------------+--------------------------------+----------------------------| 20739 |XtCvtIntToColor[35] |XtKeysymToKeycodeList[35] |XtVaAppInitialize[35] | 20740 |-----------------------------+--------------------------------+----------------------------| 20741 |XtCvtIntToFloat[35] |XtLastEventProcessed[35] |XtVaCreateArgsList[35] | 20742 |-----------------------------+--------------------------------+----------------------------| 20743 |XtCvtIntToFont[35] |XtLastTimestampProcessed[35] |XtVaCreateManagedWidget[35] | 20744 |-----------------------------+--------------------------------+----------------------------| 20745 |XtCvtIntToPixel[35] |XtMainLoop[35] |XtVaCreatePopupShell[35] | 20746 |-----------------------------+--------------------------------+----------------------------| 20747 |XtCvtIntToPixmap[35] |XtMakeGeometryRequest[35] |XtVaCreateWidget[35] | 20748 |-----------------------------+--------------------------------+----------------------------| 20749 |XtCvtIntToShort[35] |XtMakeResizeRequest[35] |XtVaGetApplicationResources | 20750 | | |[35] | 20751 |-----------------------------+--------------------------------+----------------------------| 20752 |XtCvtIntToUnsignedChar[35] |XtMalloc[35] |XtVaGetSubresources[35] | 20753 |-----------------------------+--------------------------------+----------------------------| 20754 |XtCvtStringToAcceleratorTable|XtManageChild[35] |XtVaGetSubvalues[35] | 20755 |[35] | | | 20756 |-----------------------------+--------------------------------+----------------------------| 20757 |XtCvtStringToAtom[35] |XtManageChildren[35] |XtVaGetValues[35] | 20758 |-----------------------------+--------------------------------+----------------------------| 20759 |XtCvtStringToBool[35] |XtMapWidget[35] |XtVaOpenApplication[35] | 20760 |-----------------------------+--------------------------------+----------------------------| 20761 |XtCvtStringToBoolean[35] |XtMenuPopupAction[35] |XtVaSetSubvalues[35] | 20762 |-----------------------------+--------------------------------+----------------------------| 20763 |XtCvtStringToCommandArgArray |XtMergeArgLists[35] |XtVaSetValues[35] | 20764 |[35] | | | 20765 |-----------------------------+--------------------------------+----------------------------| 20766 |XtCvtStringToCursor[35] |XtMoveWidget[35] |XtWarning[35] | 20767 |-----------------------------+--------------------------------+----------------------------| 20768 |XtCvtStringToDimension[35] |XtName[35] |XtWarningMsg[35] | 20769 |-----------------------------+--------------------------------+----------------------------| 20770 |XtCvtStringToDirectoryString |XtNameToWidget[35] |XtWidgetToApplicationContext| 20771 |[35] | |[35] | 20772 |-----------------------------+--------------------------------+----------------------------| 20773 |XtCvtStringToDisplay[35] |XtNewString[35] |XtWindow[35] | 20774 |-----------------------------+--------------------------------+----------------------------| 20775 |XtCvtStringToFile[35] |XtNextEvent[35] |XtWindowOfObject[35] | 20776 |-----------------------------+--------------------------------+----------------------------| 20777 |XtCvtStringToFloat[35] |XtNoticeSignal[35] |XtWindowToWidget[35] | 20778 |-----------------------------+--------------------------------+----------------------------| 20779 |XtCvtStringToFont[35] |XtOpenApplication[35] |_XtCheckSubclassFlag[35] | 20780 |-----------------------------+--------------------------------+----------------------------| 20781 |XtCvtStringToFontSet[35] |XtOpenDisplay[35] |_XtCopyFromArg[34] | 20782 |-----------------------------+--------------------------------+----------------------------| 20783 |XtCvtStringToFontStruct[35] |XtOverrideTranslations[35] |_XtInherit[34] | 20784 |-----------------------------+--------------------------------+----------------------------| 20785 |XtCvtStringToGravity[35] |XtOwnSelection[35] |_XtIsSubclassOf[34] | 20786 +-------------------------------------------------------------------------------------------+ 20787 20788 Table A-3. libXt Data Interfaces 20789 20790 +------------------------------------------------------------------------------+ 20791 |XtCXtToolkitError[35] |objectClass[35] |topLevelShellClassRec[35]| 20792 |---------------------------+------------------------+-------------------------| 20793 |XtShellStrings[35] |objectClassRec[35] |topLevelShellWidgetClass | 20794 | | |[35] | 20795 |---------------------------+------------------------+-------------------------| 20796 |XtStrings[35] |overrideShellClassRec |transientShellClassRec | 20797 | |[35] |[35] | 20798 |---------------------------+------------------------+-------------------------| 20799 |_XtInheritTranslations[34] |overrideShellWidgetClass|transientShellWidgetClass| 20800 | |[35] |[35] | 20801 |---------------------------+------------------------+-------------------------| 20802 |applicationShellWidgetClass|rectObjClass[35] |widgetClass[35] | 20803 |[35] | | | 20804 |---------------------------+------------------------+-------------------------| 20805 |compositeClassRec[35] |rectObjClassRec[35] |widgetClassRec[35] | 20806 |---------------------------+------------------------+-------------------------| 20807 |compositeWidgetClass[35] |sessionShellClassRec[35]|wmShellClassRec[35] | 20808 |---------------------------+------------------------+-------------------------| 20809 |constraintClassRec[35] |sessionShellWidgetClass |wmShellWidgetClass[35] | 20810 | |[35] | | 20811 |---------------------------+------------------------+-------------------------| 20812 |constraintWidgetClass[35] |shellClassRec[35] | | 20813 |---------------------------+------------------------+-------------------------| 20814 |coreWidgetClass[35] |shellWidgetClass[35] | | 20815 +------------------------------------------------------------------------------+ 20816 ------------------------------------------------------------------------------- 20817 20818 libm 20819 20820 The behaviour of the interfaces in this library is specified by the following 20821 Standards. 20822 20823 ISO/IEC 9899: 1999, Programming Languages --C 20824 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 20825 (ISBN: 1-85912-181-0, C606) 20826 20827 Table A-4. libm Function Interfaces 20828 20829 +-----------------------------------------------------------------------------+ 20830 |acos(GLIBC_2.0)[16] |csinh(GLIBC_2.0)[15] |llroundf(GLIBC_2.0)[15] | 20831 |----------------------+----------------------------+-------------------------| 20832 |acosf(GLIBC_2.0)[15] |csinhf(GLIBC_2.0)[15] |llroundl(GLIBC_2.0)[15] | 20833 |----------------------+----------------------------+-------------------------| 20834 |acosh(GLIBC_2.0)[16] |csinhl(GLIBC_2.0)[15] |log(GLIBC_2.0)[16] | 20835 |----------------------+----------------------------+-------------------------| 20836 |acoshf(GLIBC_2.0)[15] |csinl(GLIBC_2.0)[15] |log10(GLIBC_2.0)[16] | 20837 |----------------------+----------------------------+-------------------------| 20838 |acoshl(GLIBC_2.0)[15] |csqrt(GLIBC_2.0)[15] |log1p(GLIBC_2.0)[16] | 20839 |----------------------+----------------------------+-------------------------| 20840 |acosl(GLIBC_2.0)[15] |csqrtf(GLIBC_2.0)[15] |logb(GLIBC_2.0)[16] | 20841 |----------------------+----------------------------+-------------------------| 20842 |asin(GLIBC_2.0)[16] |csqrtl(GLIBC_2.0)[15] |lrint(GLIBC_2.0)[15] | 20843 |----------------------+----------------------------+-------------------------| 20844 |asinf(GLIBC_2.0)[15] |ctan(GLIBC_2.0)[15] |lrintf(GLIBC_2.0)[15] | 20845 |----------------------+----------------------------+-------------------------| 20846 |asinh(GLIBC_2.0)[16] |ctanf(GLIBC_2.0)[15] |lrintl(GLIBC_2.0)[15] | 20847 |----------------------+----------------------------+-------------------------| 20848 |asinhf(GLIBC_2.0)[15] |ctanh(GLIBC_2.0)[15] |lround(GLIBC_2.0)[15] | 20849 |----------------------+----------------------------+-------------------------| 20850 |asinhl(GLIBC_2.0)[15] |ctanhf(GLIBC_2.0)[15] |lroundf(GLIBC_2.0)[15] | 20851 |----------------------+----------------------------+-------------------------| 20852 |asinl(GLIBC_2.0)[15] |ctanhl(GLIBC_2.0)[15] |lroundl(GLIBC_2.0)[15] | 20853 |----------------------+----------------------------+-------------------------| 20854 |atan(GLIBC_2.0)[16] |ctanl(GLIBC_2.0)[15] |matherr(GLIBC_2.0)[15] | 20855 |----------------------+----------------------------+-------------------------| 20856 |atan2(GLIBC_2.0)[16] |dremf(GLIBC_2.0)[15] |modf(GLIBC_2.0)[16] | 20857 |----------------------+----------------------------+-------------------------| 20858 |atan2f(GLIBC_2.0)[15] |dreml(GLIBC_2.0)[15] |modff(GLIBC_2.0)[15] | 20859 |----------------------+----------------------------+-------------------------| 20860 |atan2l(GLIBC_2.0)[15] |erf(GLIBC_2.0)[16] |modfl(GLIBC_2.0)[15] | 20861 |----------------------+----------------------------+-------------------------| 20862 |atanf(GLIBC_2.0)[15] |erfc(GLIBC_2.0)[16] |nan(GLIBC_2.0)[15] | 20863 |----------------------+----------------------------+-------------------------| 20864 |atanh(GLIBC_2.0)[16] |erfcf(GLIBC_2.0)[15] |nanf(GLIBC_2.0)[15] | 20865 |----------------------+----------------------------+-------------------------| 20866 |atanhf(GLIBC_2.0)[15] |erfcl(GLIBC_2.0)[15] |nanl(GLIBC_2.0)[15] | 20867 |----------------------+----------------------------+-------------------------| 20868 |atanhl(GLIBC_2.0)[15] |erff(GLIBC_2.0)[15] |nearbyint(GLIBC_2.0)[15] | 20869 |----------------------+----------------------------+-------------------------| 20870 |atanl(GLIBC_2.0)[15] |erfl(GLIBC_2.0)[15] |nearbyintf(GLIBC_2.0)[15]| 20871 |----------------------+----------------------------+-------------------------| 20872 |cabs(GLIBC_2.1)[16] |exp(GLIBC_2.1)[16] |nearbyintl(GLIBC_2.1)[15]| 20873 |----------------------+----------------------------+-------------------------| 20874 |cabsf(GLIBC_2.1)[15] |expm1(GLIBC_2.1)[16] |nextafter(GLIBC_2.1)[16] | 20875 |----------------------+----------------------------+-------------------------| 20876 |cabsl(GLIBC_2.1)[15] |fabs(GLIBC_2.1)[16] |nextafterf(GLIBC_2.1)[15]| 20877 |----------------------+----------------------------+-------------------------| 20878 |cacos(GLIBC_2.1)[15] |fabsf(GLIBC_2.1)[15] |nextafterl(GLIBC_2.1)[15]| 20879 |----------------------+----------------------------+-------------------------| 20880 |cacosf(GLIBC_2.1)[15] |fabsl(GLIBC_2.1)[15] |nexttoward(GLIBC_2.1)[15]| 20881 |----------------------+----------------------------+-------------------------| 20882 |cacosh(GLIBC_2.1)[15] |fdim(GLIBC_2.1)[15] |nexttowardf(GLIBC_2.1) | 20883 | | |[15] | 20884 |----------------------+----------------------------+-------------------------| 20885 |cacoshf(GLIBC_2.1)[15]|fdimf(GLIBC_2.1)[15] |nexttowardl(GLIBC_2.1) | 20886 | | |[15] | 20887 |----------------------+----------------------------+-------------------------| 20888 |cacoshl(GLIBC_2.1)[15]|fdiml(GLIBC_2.1)[15] |pow(GLIBC_2.1)[15] | 20889 |----------------------+----------------------------+-------------------------| 20890 |cacosl(GLIBC_2.1)[15] |feclearexcept(GLIBC_2.1)[15]|pow10(GLIBC_2.1)[15] | 20891 |----------------------+----------------------------+-------------------------| 20892 |carg(GLIBC_2.1)[15] |fegetenv(GLIBC_2.1)[15] |pow10f(GLIBC_2.1)[15] | 20893 |----------------------+----------------------------+-------------------------| 20894 |cargf(GLIBC_2.1)[15] |fegetexceptflag(GLIBC_2.1) |pow10l(GLIBC_2.1)[15] | 20895 | |[15] | | 20896 |----------------------+----------------------------+-------------------------| 20897 |cargl(GLIBC_2.1)[15] |fegetround(GLIBC_2.1)[15] |powf(GLIBC_2.1)[15] | 20898 |----------------------+----------------------------+-------------------------| 20899 |casin(GLIBC_2.1)[15] |feholdexcept(GLIBC_2.1)[15] |powl(GLIBC_2.1)[15] | 20900 |----------------------+----------------------------+-------------------------| 20901 |casinf(GLIBC_2.1)[15] |feraiseexcept(GLIBC_2.1)[15]|remainder(GLIBC_2.1)[16] | 20902 |----------------------+----------------------------+-------------------------| 20903 |casinh(GLIBC_2.1)[15] |fesetenv(GLIBC_2.1)[15] |remainderf(GLIBC_2.1)[15]| 20904 |----------------------+----------------------------+-------------------------| 20905 |casinhf(GLIBC_2.1)[15]|fesetexceptflag(GLIBC_2.1) |remainderl(GLIBC_2.1)[15]| 20906 | |[15] | | 20907 |----------------------+----------------------------+-------------------------| 20908 |casinhl(GLIBC_2.1)[15]|fesetround(GLIBC_2.1)[15] |remquo(GLIBC_2.1)[15] | 20909 |----------------------+----------------------------+-------------------------| 20910 |casinl(GLIBC_2.1)[15] |fetestexcept(GLIBC_2.1)[15] |remquof(GLIBC_2.1)[15] | 20911 |----------------------+----------------------------+-------------------------| 20912 |catan(GLIBC_2.1)[15] |feupdateenv(GLIBC_2.1)[15] |remquol(GLIBC_2.1)[15] | 20913 |----------------------+----------------------------+-------------------------| 20914 |catanf(GLIBC_2.1)[15] |finite(GLIBC_2.1)[16] |rint(GLIBC_2.1)[16] | 20915 |----------------------+----------------------------+-------------------------| 20916 |catanh(GLIBC_2.1)[15] |finitef(GLIBC_2.1)[15] |rintf(GLIBC_2.1)[15] | 20917 |----------------------+----------------------------+-------------------------| 20918 |catanhf(GLIBC_2.1)[15]|finitel(GLIBC_2.1)[15] |rintl(GLIBC_2.1)[15] | 20919 |----------------------+----------------------------+-------------------------| 20920 |catanhl(GLIBC_2.1)[15]|floor(GLIBC_2.1)[16] |round(GLIBC_2.1)[15] | 20921 |----------------------+----------------------------+-------------------------| 20922 |catanl(GLIBC_2.1)[15] |floorf(GLIBC_2.1)[15] |roundf(GLIBC_2.1)[15] | 20923 |----------------------+----------------------------+-------------------------| 20924 |cbrt(GLIBC_2.0)[16] |floorl(GLIBC_2.0)[15] |roundl(GLIBC_2.0)[15] | 20925 |----------------------+----------------------------+-------------------------| 20926 |cbrtf(GLIBC_2.0)[15] |fma(GLIBC_2.0)[15] |scalb(GLIBC_2.0)[16] | 20927 |----------------------+----------------------------+-------------------------| 20928 |cbrtl(GLIBC_2.0)[15] |fmaf(GLIBC_2.0)[15] |scalbf(GLIBC_2.0)[15] | 20929 |----------------------+----------------------------+-------------------------| 20930 |ccos(GLIBC_2.1)[15] |fmal(GLIBC_2.1)[15] |scalbl(GLIBC_2.1)[15] | 20931 |----------------------+----------------------------+-------------------------| 20932 |ccosf(GLIBC_2.1)[15] |fmax(GLIBC_2.1)[15] |scalbln(GLIBC_2.1)[15] | 20933 |----------------------+----------------------------+-------------------------| 20934 |ccosh(GLIBC_2.1)[15] |fmaxf(GLIBC_2.1)[15] |scalblnf(GLIBC_2.1)[15] | 20935 |----------------------+----------------------------+-------------------------| 20936 |ccoshf(GLIBC_2.1)[15] |fmaxl(GLIBC_2.1)[15] |scalblnl(GLIBC_2.1)[15] | 20937 |----------------------+----------------------------+-------------------------| 20938 |ccoshl(GLIBC_2.1)[15] |fmin(GLIBC_2.1)[15] |scalbn(GLIBC_2.1)[15] | 20939 |----------------------+----------------------------+-------------------------| 20940 |ccosl(GLIBC_2.1)[15] |fminf(GLIBC_2.1)[15] |scalbnf(GLIBC_2.1)[15] | 20941 |----------------------+----------------------------+-------------------------| 20942 |ceil(GLIBC_2.0)[16] |fminl(GLIBC_2.0)[15] |scalbnl(GLIBC_2.0)[15] | 20943 |----------------------+----------------------------+-------------------------| 20944 |ceilf(GLIBC_2.0)[15] |fmod(GLIBC_2.0)[16] |significand(GLIBC_2.0) | 20945 | | |[15] | 20946 |----------------------+----------------------------+-------------------------| 20947 |ceill(GLIBC_2.0)[15] |fmodf(GLIBC_2.0)[15] |significandf(GLIBC_2.0) | 20948 | | |[15] | 20949 |----------------------+----------------------------+-------------------------| 20950 |cexp(GLIBC_2.1)[15] |fmodl(GLIBC_2.1)[15] |significandl(GLIBC_2.1) | 20951 | | |[15] | 20952 |----------------------+----------------------------+-------------------------| 20953 |cexpf(GLIBC_2.1)[15] |frexp(GLIBC_2.1)[16] |sin(GLIBC_2.1)[16] | 20954 |----------------------+----------------------------+-------------------------| 20955 |cexpl(GLIBC_2.1)[15] |frexpf(GLIBC_2.1)[15] |sincos(GLIBC_2.1)[15] | 20956 |----------------------+----------------------------+-------------------------| 20957 |cimag(GLIBC_2.1)[15] |frexpl(GLIBC_2.1)[15] |sincosf(GLIBC_2.1)[15] | 20958 |----------------------+----------------------------+-------------------------| 20959 |cimagf(GLIBC_2.1)[15] |gamma(GLIBC_2.1)[16] |sincosl(GLIBC_2.1)[15] | 20960 |----------------------+----------------------------+-------------------------| 20961 |cimagl(GLIBC_2.1)[15] |gammaf(GLIBC_2.1)[15] |sinf(GLIBC_2.1)[15] | 20962 |----------------------+----------------------------+-------------------------| 20963 |clog(GLIBC_2.1)[15] |gammal(GLIBC_2.1)[15] |sinh(GLIBC_2.1)[16] | 20964 |----------------------+----------------------------+-------------------------| 20965 |clog10(GLIBC_2.1)[15] |hypot(GLIBC_2.1)[16] |sinhf(GLIBC_2.1)[15] | 20966 |----------------------+----------------------------+-------------------------| 20967 |clog10f(GLIBC_2.1)[15]|hypotf(GLIBC_2.1)[15] |sinhl(GLIBC_2.1)[15] | 20968 |----------------------+----------------------------+-------------------------| 20969 |clog10l(GLIBC_2.1)[15]|hypotl(GLIBC_2.1)[15] |sinl(GLIBC_2.1)[15] | 20970 |----------------------+----------------------------+-------------------------| 20971 |clogf(GLIBC_2.1)[15] |ilogb(GLIBC_2.1)[16] |sqrt(GLIBC_2.1)[16] | 20972 |----------------------+----------------------------+-------------------------| 20973 |clogl(GLIBC_2.1)[15] |ilogbf(GLIBC_2.1)[15] |sqrtf(GLIBC_2.1)[15] | 20974 |----------------------+----------------------------+-------------------------| 20975 |conj(GLIBC_2.1)[15] |ilogbl(GLIBC_2.1)[15] |sqrtl(GLIBC_2.1)[15] | 20976 |----------------------+----------------------------+-------------------------| 20977 |conjf(GLIBC_2.1)[15] |j0(GLIBC_2.1)[16] |tan(GLIBC_2.1)[16] | 20978 |----------------------+----------------------------+-------------------------| 20979 |conjl(GLIBC_2.1)[15] |j0f(GLIBC_2.1)[15] |tanf(GLIBC_2.1)[15] | 20980 |----------------------+----------------------------+-------------------------| 20981 |copysign(GLIBC_2.0) |j0l(GLIBC_2.0)[15] |tanh(GLIBC_2.0)[16] | 20982 |[15] | | | 20983 |----------------------+----------------------------+-------------------------| 20984 |copysignf(GLIBC_2.0) |j1(GLIBC_2.0)[16] |tanhf(GLIBC_2.0)[15] | 20985 |[15] | | | 20986 |----------------------+----------------------------+-------------------------| 20987 |copysignl(GLIBC_2.0) |j1f(GLIBC_2.0)[15] |tanhl(GLIBC_2.0)[15] | 20988 |[15] | | | 20989 |----------------------+----------------------------+-------------------------| 20990 |cos(GLIBC_2.0)[16] |j1l(GLIBC_2.0)[15] |tanl(GLIBC_2.0)[15] | 20991 |----------------------+----------------------------+-------------------------| 20992 |cosf(GLIBC_2.0)[15] |jn(GLIBC_2.0)[16] |tgamma(GLIBC_2.0)[15] | 20993 |----------------------+----------------------------+-------------------------| 20994 |cosh(GLIBC_2.0)[16] |jnf(GLIBC_2.0)[15] |tgammaf(GLIBC_2.0)[15] | 20995 |----------------------+----------------------------+-------------------------| 20996 |coshf(GLIBC_2.0)[15] |jnl(GLIBC_2.0)[15] |tgammal(GLIBC_2.0)[15] | 20997 |----------------------+----------------------------+-------------------------| 20998 |coshl(GLIBC_2.0)[15] |ldexp(GLIBC_2.0)[16] |trunc(GLIBC_2.0)[15] | 20999 |----------------------+----------------------------+-------------------------| 21000 |cosl(GLIBC_2.0)[15] |ldexpf(GLIBC_2.0)[15] |truncf(GLIBC_2.0)[15] | 21001 |----------------------+----------------------------+-------------------------| 21002 |cpow(GLIBC_2.1)[15] |ldexpl(GLIBC_2.1)[15] |truncl(GLIBC_2.1)[15] | 21003 |----------------------+----------------------------+-------------------------| 21004 |cpowf(GLIBC_2.1)[15] |lgamma(GLIBC_2.1)[16] |y0(GLIBC_2.1)[16] | 21005 |----------------------+----------------------------+-------------------------| 21006 |cpowl(GLIBC_2.1)[15] |lgamma_r(GLIBC_2.1)[15] |y0f(GLIBC_2.1)[15] | 21007 |----------------------+----------------------------+-------------------------| 21008 |cproj(GLIBC_2.1)[15] |lgammaf(GLIBC_2.1)[15] |y0l(GLIBC_2.1)[15] | 21009 |----------------------+----------------------------+-------------------------| 21010 |cprojf(GLIBC_2.1)[15] |lgammaf_r(GLIBC_2.1)[15] |y1(GLIBC_2.1)[16] | 21011 |----------------------+----------------------------+-------------------------| 21012 |cprojl(GLIBC_2.1)[15] |lgammal(GLIBC_2.1)[15] |y1f(GLIBC_2.1)[15] | 21013 |----------------------+----------------------------+-------------------------| 21014 |creal(GLIBC_2.1)[15] |lgammal_r(GLIBC_2.1)[15] |y1l(GLIBC_2.1)[15] | 21015 |----------------------+----------------------------+-------------------------| 21016 |crealf(GLIBC_2.1)[15] |llrint(GLIBC_2.1)[15] |yn(GLIBC_2.1)[16] | 21017 |----------------------+----------------------------+-------------------------| 21018 |creall(GLIBC_2.1)[15] |llrintf(GLIBC_2.1)[15] |ynf(GLIBC_2.1)[15] | 21019 |----------------------+----------------------------+-------------------------| 21020 |csin(GLIBC_2.1)[15] |llrintl(GLIBC_2.1)[15] |ynl(GLIBC_2.1)[15] | 21021 |----------------------+----------------------------+-------------------------| 21022 |csinf(GLIBC_2.1)[15] |llround(GLIBC_2.1)[15] | | 21023 +-----------------------------------------------------------------------------+ 21024 21025 Table A-5. libm Data Interfaces 21026 21027 +----------------+ 21028 |signgam[16] | | | 21029 +----------------+ 21030 ------------------------------------------------------------------------------- 21031 21032 libGL 21033 21034 The behaviour of the interfaces in this library is specified by the following 21035 Standards. 21036 21037 OpenGL® Application Binary Interface for Linux 21038 21039 Table A-6. libGL Function Interfaces 21040 21041 +------------------------------------------------------------------------------+ 21042 |glAccum[36] |glGetSeparableFilter[36]|glRasterPos4i[36] | 21043 |---------------------------+------------------------+-------------------------| 21044 |glActiveTextureARB[36] |glGetString[36] |glRasterPos4iv[36] | 21045 |---------------------------+------------------------+-------------------------| 21046 |glAlphaFunc[36] |glGetTexEnvfv[36] |glRasterPos4s[36] | 21047 |---------------------------+------------------------+-------------------------| 21048 |glAreTexturesResident[36] |glGetTexEnviv[36] |glRasterPos4sv[36] | 21049 |---------------------------+------------------------+-------------------------| 21050 |glArrayElement[36] |glGetTexGendv[36] |glReadBuffer[36] | 21051 |---------------------------+------------------------+-------------------------| 21052 |glBegin[36] |glGetTexGenfv[36] |glReadPixels[36] | 21053 |---------------------------+------------------------+-------------------------| 21054 |glBindTexture[36] |glGetTexGeniv[36] |glRectd[36] | 21055 |---------------------------+------------------------+-------------------------| 21056 |glBitmap[36] |glGetTexImage[36] |glRectdv[36] | 21057 |---------------------------+------------------------+-------------------------| 21058 |glBlendColor[36] |glGetTexLevelParameterfv|glRectf[36] | 21059 | |[36] | | 21060 |---------------------------+------------------------+-------------------------| 21061 |glBlendColorEXT[36] |glGetTexLevelParameteriv|glRectfv[36] | 21062 | |[36] | | 21063 |---------------------------+------------------------+-------------------------| 21064 |glBlendEquation[36] |glGetTexParameterfv[36] |glRecti[36] | 21065 |---------------------------+------------------------+-------------------------| 21066 |glBlendEquationEXT[36] |glGetTexParameteriv[36] |glRectiv[36] | 21067 |---------------------------+------------------------+-------------------------| 21068 |glBlendFunc[36] |glHint[36] |glRects[36] | 21069 |---------------------------+------------------------+-------------------------| 21070 |glCallList[36] |glHistogram[36] |glRectsv[36] | 21071 |---------------------------+------------------------+-------------------------| 21072 |glCallLists[36] |glIndexMask[36] |glRenderMode[36] | 21073 |---------------------------+------------------------+-------------------------| 21074 |glClear[36] |glIndexPointer[36] |glResetHistogram[36] | 21075 |---------------------------+------------------------+-------------------------| 21076 |glClearAccum[36] |glIndexd[36] |glResetMinmax[36] | 21077 |---------------------------+------------------------+-------------------------| 21078 |glClearColor[36] |glIndexdv[36] |glRotated[36] | 21079 |---------------------------+------------------------+-------------------------| 21080 |glClearDepth[36] |glIndexf[36] |glRotatef[36] | 21081 |---------------------------+------------------------+-------------------------| 21082 |glClearIndex[36] |glIndexfv[36] |glScaled[36] | 21083 |---------------------------+------------------------+-------------------------| 21084 |glClearStencil[36] |glIndexi[36] |glScalef[36] | 21085 |---------------------------+------------------------+-------------------------| 21086 |glClientActiveTextureARB |glIndexiv[36] |glScissor[36] | 21087 |[36] | | | 21088 |---------------------------+------------------------+-------------------------| 21089 |glClipPlane[36] |glIndexs[36] |glSelectBuffer[36] | 21090 |---------------------------+------------------------+-------------------------| 21091 |glColor3b[36] |glIndexsv[36] |glSeparableFilter2D[36] | 21092 |---------------------------+------------------------+-------------------------| 21093 |glColor3bv[36] |glIndexub[36] |glShadeModel[36] | 21094 |---------------------------+------------------------+-------------------------| 21095 |glColor3d[36] |glIndexubv[36] |glStencilFunc[36] | 21096 |---------------------------+------------------------+-------------------------| 21097 |glColor3dv[36] |glInitNames[36] |glStencilMask[36] | 21098 |---------------------------+------------------------+-------------------------| 21099 |glColor3f[36] |glInterleavedArrays[36] |glStencilOp[36] | 21100 |---------------------------+------------------------+-------------------------| 21101 |glColor3fv[36] |glIsEnabled[36] |glTexCoord1d[36] | 21102 |---------------------------+------------------------+-------------------------| 21103 |glColor3i[36] |glIsList[36] |glTexCoord1dv[36] | 21104 |---------------------------+------------------------+-------------------------| 21105 |glColor3iv[36] |glIsTexture[36] |glTexCoord1f[36] | 21106 |---------------------------+------------------------+-------------------------| 21107 |glColor3s[36] |glLightModelf[36] |glTexCoord1fv[36] | 21108 |---------------------------+------------------------+-------------------------| 21109 |glColor3sv[36] |glLightModelfv[36] |glTexCoord1i[36] | 21110 |---------------------------+------------------------+-------------------------| 21111 |glColor3ub[36] |glLightModeli[36] |glTexCoord1iv[36] | 21112 |---------------------------+------------------------+-------------------------| 21113 |glColor3ubv[36] |glLightModeliv[36] |glTexCoord1s[36] | 21114 |---------------------------+------------------------+-------------------------| 21115 |glColor3ui[36] |glLightf[36] |glTexCoord1sv[36] | 21116 |---------------------------+------------------------+-------------------------| 21117 |glColor3uiv[36] |glLightfv[36] |glTexCoord2d[36] | 21118 |---------------------------+------------------------+-------------------------| 21119 |glColor3us[36] |glLighti[36] |glTexCoord2dv[36] | 21120 |---------------------------+------------------------+-------------------------| 21121 |glColor3usv[36] |glLightiv[36] |glTexCoord2f[36] | 21122 |---------------------------+------------------------+-------------------------| 21123 |glColor4b[36] |glLineStipple[36] |glTexCoord2fv[36] | 21124 |---------------------------+------------------------+-------------------------| 21125 |glColor4bv[36] |glLineWidth[36] |glTexCoord2i[36] | 21126 |---------------------------+------------------------+-------------------------| 21127 |glColor4d[36] |glListBase[36] |glTexCoord2iv[36] | 21128 |---------------------------+------------------------+-------------------------| 21129 |glColor4dv[36] |glLoadIdentity[36] |glTexCoord2s[36] | 21130 |---------------------------+------------------------+-------------------------| 21131 |glColor4f[36] |glLoadMatrixd[36] |glTexCoord2sv[36] | 21132 |---------------------------+------------------------+-------------------------| 21133 |glColor4fv[36] |glLoadMatrixf[36] |glTexCoord3d[36] | 21134 |---------------------------+------------------------+-------------------------| 21135 |glColor4i[36] |glLoadName[36] |glTexCoord3dv[36] | 21136 |---------------------------+------------------------+-------------------------| 21137 |glColor4iv[36] |glLogicOp[36] |glTexCoord3f[36] | 21138 |---------------------------+------------------------+-------------------------| 21139 |glColor4s[36] |glMap1d[36] |glTexCoord3fv[36] | 21140 |---------------------------+------------------------+-------------------------| 21141 |glColor4sv[36] |glMap1f[36] |glTexCoord3i[36] | 21142 |---------------------------+------------------------+-------------------------| 21143 |glColor4ub[36] |glMap2d[36] |glTexCoord3iv[36] | 21144 |---------------------------+------------------------+-------------------------| 21145 |glColor4ubv[36] |glMap2f[36] |glTexCoord3s[36] | 21146 |---------------------------+------------------------+-------------------------| 21147 |glColor4ui[36] |glMapGrid1d[36] |glTexCoord3sv[36] | 21148 |---------------------------+------------------------+-------------------------| 21149 |glColor4uiv[36] |glMapGrid1f[36] |glTexCoord4d[36] | 21150 |---------------------------+------------------------+-------------------------| 21151 |glColor4us[36] |glMapGrid2d[36] |glTexCoord4dv[36] | 21152 |---------------------------+------------------------+-------------------------| 21153 |glColor4usv[36] |glMapGrid2f[36] |glTexCoord4f[36] | 21154 |---------------------------+------------------------+-------------------------| 21155 |glColorMask[36] |glMaterialf[36] |glTexCoord4fv[36] | 21156 |---------------------------+------------------------+-------------------------| 21157 |glColorMaterial[36] |glMaterialfv[36] |glTexCoord4i[36] | 21158 |---------------------------+------------------------+-------------------------| 21159 |glColorPointer[36] |glMateriali[36] |glTexCoord4iv[36] | 21160 |---------------------------+------------------------+-------------------------| 21161 |glColorSubTable[36] |glMaterialiv[36] |glTexCoord4s[36] | 21162 |---------------------------+------------------------+-------------------------| 21163 |glColorTable[36] |glMatrixMode[36] |glTexCoord4sv[36] | 21164 |---------------------------+------------------------+-------------------------| 21165 |glColorTableParameterfv[36]|glMinmax[36] |glTexCoordPointer[36] | 21166 |---------------------------+------------------------+-------------------------| 21167 |glColorTableParameteriv[36]|glMultMatrixd[36] |glTexEnvf[36] | 21168 |---------------------------+------------------------+-------------------------| 21169 |glConvolutionFilter1D[36] |glMultMatrixf[36] |glTexEnvfv[36] | 21170 |---------------------------+------------------------+-------------------------| 21171 |glConvolutionFilter2D[36] |glMultiTexCoord1dARB[36]|glTexEnvi[36] | 21172 |---------------------------+------------------------+-------------------------| 21173 |glConvolutionParameterf[36]|glMultiTexCoord1dvARB |glTexEnviv[36] | 21174 | |[36] | | 21175 |---------------------------+------------------------+-------------------------| 21176 |glConvolutionParameterfv |glMultiTexCoord1fARB[36]|glTexGend[36] | 21177 |[36] | | | 21178 |---------------------------+------------------------+-------------------------| 21179 |glConvolutionParameteri[36]|glMultiTexCoord1fvARB |glTexGendv[36] | 21180 | |[36] | | 21181 |---------------------------+------------------------+-------------------------| 21182 |glConvolutionParameteriv |glMultiTexCoord1iARB[36]|glTexGenf[36] | 21183 |[36] | | | 21184 |---------------------------+------------------------+-------------------------| 21185 |glCopyColorSubTable[36] |glMultiTexCoord1ivARB |glTexGenfv[36] | 21186 | |[36] | | 21187 |---------------------------+------------------------+-------------------------| 21188 |glCopyColorTable[36] |glMultiTexCoord1sARB[36]|glTexGeni[36] | 21189 |---------------------------+------------------------+-------------------------| 21190 |glCopyConvolutionFilter1D |glMultiTexCoord1svARB |glTexGeniv[36] | 21191 |[36] |[36] | | 21192 |---------------------------+------------------------+-------------------------| 21193 |glCopyConvolutionFilter2D |glMultiTexCoord2dARB[36]|glTexImage1D[36] | 21194 |[36] | | | 21195 |---------------------------+------------------------+-------------------------| 21196 |glCopyPixels[36] |glMultiTexCoord2dvARB |glTexImage2D[36] | 21197 | |[36] | | 21198 |---------------------------+------------------------+-------------------------| 21199 |glCopyTexImage1D[36] |glMultiTexCoord2fARB[36]|glTexImage3D[36] | 21200 |---------------------------+------------------------+-------------------------| 21201 |glCopyTexImage2D[36] |glMultiTexCoord2fvARB |glTexParameterf[36] | 21202 | |[36] | | 21203 |---------------------------+------------------------+-------------------------| 21204 |glCopyTexSubImage1D[36] |glMultiTexCoord2iARB[36]|glTexParameterfv[36] | 21205 |---------------------------+------------------------+-------------------------| 21206 |glCopyTexSubImage2D[36] |glMultiTexCoord2ivARB |glTexParameteri[36] | 21207 | |[36] | | 21208 |---------------------------+------------------------+-------------------------| 21209 |glCopyTexSubImage3D[36] |glMultiTexCoord2sARB[36]|glTexParameteriv[36] | 21210 |---------------------------+------------------------+-------------------------| 21211 |glCullFace[36] |glMultiTexCoord2svARB |glTexSubImage1D[36] | 21212 | |[36] | | 21213 |---------------------------+------------------------+-------------------------| 21214 |glDeleteLists[36] |glMultiTexCoord3dARB[36]|glTexSubImage2D[36] | 21215 |---------------------------+------------------------+-------------------------| 21216 |glDeleteTextures[36] |glMultiTexCoord3dvARB |glTexSubImage3D[36] | 21217 | |[36] | | 21218 |---------------------------+------------------------+-------------------------| 21219 |glDepthFunc[36] |glMultiTexCoord3fARB[36]|glTranslated[36] | 21220 |---------------------------+------------------------+-------------------------| 21221 |glDepthMask[36] |glMultiTexCoord3fvARB |glTranslatef[36] | 21222 | |[36] | | 21223 |---------------------------+------------------------+-------------------------| 21224 |glDepthRange[36] |glMultiTexCoord3iARB[36]|glVertex2d[36] | 21225 |---------------------------+------------------------+-------------------------| 21226 |glDisable[36] |glMultiTexCoord3ivARB |glVertex2dv[36] | 21227 | |[36] | | 21228 |---------------------------+------------------------+-------------------------| 21229 |glDisableClientState[36] |glMultiTexCoord3sARB[36]|glVertex2f[36] | 21230 |---------------------------+------------------------+-------------------------| 21231 |glDrawArrays[36] |glMultiTexCoord3svARB |glVertex2fv[36] | 21232 | |[36] | | 21233 |---------------------------+------------------------+-------------------------| 21234 |glDrawBuffer[36] |glMultiTexCoord4dARB[36]|glVertex2i[36] | 21235 |---------------------------+------------------------+-------------------------| 21236 |glDrawElements[36] |glMultiTexCoord4dvARB |glVertex2iv[36] | 21237 | |[36] | | 21238 |---------------------------+------------------------+-------------------------| 21239 |glDrawPixels[36] |glMultiTexCoord4fARB[36]|glVertex2s[36] | 21240 |---------------------------+------------------------+-------------------------| 21241 |glDrawRangeElements[36] |glMultiTexCoord4fvARB |glVertex2sv[36] | 21242 | |[36] | | 21243 |---------------------------+------------------------+-------------------------| 21244 |glEdgeFlag[36] |glMultiTexCoord4iARB[36]|glVertex3d[36] | 21245 |---------------------------+------------------------+-------------------------| 21246 |glEdgeFlagPointer[36] |glMultiTexCoord4ivARB |glVertex3dv[36] | 21247 | |[36] | | 21248 |---------------------------+------------------------+-------------------------| 21249 |glEdgeFlagv[36] |glMultiTexCoord4sARB[36]|glVertex3f[36] | 21250 |---------------------------+------------------------+-------------------------| 21251 |glEnable[36] |glMultiTexCoord4svARB |glVertex3fv[36] | 21252 | |[36] | | 21253 |---------------------------+------------------------+-------------------------| 21254 |glEnableClientState[36] |glNewList[36] |glVertex3i[36] | 21255 |---------------------------+------------------------+-------------------------| 21256 |glEnd[36] |glNormal3b[36] |glVertex3iv[36] | 21257 |---------------------------+------------------------+-------------------------| 21258 |glEndList[36] |glNormal3bv[36] |glVertex3s[36] | 21259 |---------------------------+------------------------+-------------------------| 21260 |glEvalCoord1d[36] |glNormal3d[36] |glVertex3sv[36] | 21261 |---------------------------+------------------------+-------------------------| 21262 |glEvalCoord1dv[36] |glNormal3dv[36] |glVertex4d[36] | 21263 |---------------------------+------------------------+-------------------------| 21264 |glEvalCoord1f[36] |glNormal3f[36] |glVertex4dv[36] | 21265 |---------------------------+------------------------+-------------------------| 21266 |glEvalCoord1fv[36] |glNormal3fv[36] |glVertex4f[36] | 21267 |---------------------------+------------------------+-------------------------| 21268 |glEvalCoord2d[36] |glNormal3i[36] |glVertex4fv[36] | 21269 |---------------------------+------------------------+-------------------------| 21270 |glEvalCoord2dv[36] |glNormal3iv[36] |glVertex4i[36] | 21271 |---------------------------+------------------------+-------------------------| 21272 |glEvalCoord2f[36] |glNormal3s[36] |glVertex4iv[36] | 21273 |---------------------------+------------------------+-------------------------| 21274 |glEvalCoord2fv[36] |glNormal3sv[36] |glVertex4s[36] | 21275 |---------------------------+------------------------+-------------------------| 21276 |glEvalMesh1[36] |glNormalPointer[36] |glVertex4sv[36] | 21277 |---------------------------+------------------------+-------------------------| 21278 |glEvalMesh2[36] |glOrtho[36] |glVertexPointer[36] | 21279 |---------------------------+------------------------+-------------------------| 21280 |glEvalPoint1[36] |glPassThrough[36] |glViewport[36] | 21281 |---------------------------+------------------------+-------------------------| 21282 |glEvalPoint2[36] |glPixelMapfv[36] |glXChooseFBConfig[36] | 21283 |---------------------------+------------------------+-------------------------| 21284 |glFeedbackBuffer[36] |glPixelMapuiv[36] |glXChooseVisual[36] | 21285 |---------------------------+------------------------+-------------------------| 21286 |glFinish[36] |glPixelMapusv[36] |glXCopyContext[36] | 21287 |---------------------------+------------------------+-------------------------| 21288 |glFlush[36] |glPixelStoref[36] |glXCreateContext[36] | 21289 |---------------------------+------------------------+-------------------------| 21290 |glFogf[36] |glPixelStorei[36] |glXCreateGLXPixmap[36] | 21291 |---------------------------+------------------------+-------------------------| 21292 |glFogfv[36] |glPixelTransferf[36] |glXCreateNewContext[36] | 21293 |---------------------------+------------------------+-------------------------| 21294 |glFogi[36] |glPixelTransferi[36] |glXCreatePbuffer[36] | 21295 |---------------------------+------------------------+-------------------------| 21296 |glFogiv[36] |glPixelZoom[36] |glXCreatePixmap[36] | 21297 |---------------------------+------------------------+-------------------------| 21298 |glFrontFace[36] |glPointParameterfvEXT |glXCreateWindow[36] | 21299 | |[36] | | 21300 |---------------------------+------------------------+-------------------------| 21301 |glFrustum[36] |glPointSize[36] |glXDestroyContext[36] | 21302 |---------------------------+------------------------+-------------------------| 21303 |glGenLists[36] |glPolygonMode[36] |glXDestroyGLXPixmap[36] | 21304 |---------------------------+------------------------+-------------------------| 21305 |glGenTextures[36] |glPolygonOffset[36] |glXDestroyPbuffer[36] | 21306 |---------------------------+------------------------+-------------------------| 21307 |glGetBooleanv[36] |glPolygonStipple[36] |glXDestroyPixmap[36] | 21308 |---------------------------+------------------------+-------------------------| 21309 |glGetClipPlane[36] |glPopAttrib[36] |glXDestroyWindow[36] | 21310 |---------------------------+------------------------+-------------------------| 21311 |glGetColorTable[36] |glPopClientAttrib[36] |glXFreeContextEXT[36] | 21312 |---------------------------+------------------------+-------------------------| 21313 |glGetColorTableParameterfv |glPopMatrix[36] |glXGetClientString[36] | 21314 |[36] | | | 21315 |---------------------------+------------------------+-------------------------| 21316 |glGetColorTableParameteriv |glPopName[36] |glXGetConfig[36] | 21317 |[36] | | | 21318 |---------------------------+------------------------+-------------------------| 21319 |glGetConvolutionFilter[36] |glPrioritizeTextures[36]|glXGetContextIDEXT[36] | 21320 |---------------------------+------------------------+-------------------------| 21321 |glGetConvolutionParameterfv|glPushAttrib[36] |glXGetCurrentContext[36] | 21322 |[36] | | | 21323 |---------------------------+------------------------+-------------------------| 21324 |glGetConvolutionParameteriv|glPushClientAttrib[36] |glXGetCurrentDisplay[36] | 21325 |[36] | | | 21326 |---------------------------+------------------------+-------------------------| 21327 |glGetDoublev[36] |glPushMatrix[36] |glXGetCurrentDrawable[36]| 21328 |---------------------------+------------------------+-------------------------| 21329 |glGetError[36] |glPushName[36] |glXGetCurrentReadDrawable| 21330 | | |[36] | 21331 |---------------------------+------------------------+-------------------------| 21332 |glGetFloatv[36] |glRasterPos2d[36] |glXGetFBConfigAttrib[36] | 21333 |---------------------------+------------------------+-------------------------| 21334 |glGetHistogram[36] |glRasterPos2dv[36] |glXGetSelectedEvent[36] | 21335 |---------------------------+------------------------+-------------------------| 21336 |glGetHistogramParameterfv |glRasterPos2f[36] |glXGetVisualFromFBConfig | 21337 |[36] | |[36] | 21338 |---------------------------+------------------------+-------------------------| 21339 |glGetHistogramParameteriv |glRasterPos2fv[36] |glXImportContextEXT[36] | 21340 |[36] | | | 21341 |---------------------------+------------------------+-------------------------| 21342 |glGetIntegerv[36] |glRasterPos2i[36] |glXIsDirect[36] | 21343 |---------------------------+------------------------+-------------------------| 21344 |glGetLightfv[36] |glRasterPos2iv[36] |glXMakeContextCurrent[36]| 21345 |---------------------------+------------------------+-------------------------| 21346 |glGetLightiv[36] |glRasterPos2s[36] |glXMakeCurrent[36] | 21347 |---------------------------+------------------------+-------------------------| 21348 |glGetMapdv[36] |glRasterPos2sv[36] |glXQueryContext[36] | 21349 |---------------------------+------------------------+-------------------------| 21350 |glGetMapfv[36] |glRasterPos3d[36] |glXQueryContextInfoEXT | 21351 | | |[36] | 21352 |---------------------------+------------------------+-------------------------| 21353 |glGetMapiv[36] |glRasterPos3dv[36] |glXQueryDrawable[36] | 21354 |---------------------------+------------------------+-------------------------| 21355 |glGetMaterialfv[36] |glRasterPos3f[36] |glXQueryExtension[36] | 21356 |---------------------------+------------------------+-------------------------| 21357 |glGetMaterialiv[36] |glRasterPos3fv[36] |glXQueryExtensionsString | 21358 | | |[36] | 21359 |---------------------------+------------------------+-------------------------| 21360 |glGetMinmax[36] |glRasterPos3i[36] |glXQueryServerString[36] | 21361 |---------------------------+------------------------+-------------------------| 21362 |glGetMinmaxParameterfv[36] |glRasterPos3iv[36] |glXQueryVersion[36] | 21363 |---------------------------+------------------------+-------------------------| 21364 |glGetMinmaxParameteriv[36] |glRasterPos3s[36] |glXSelectEvent[36] | 21365 |---------------------------+------------------------+-------------------------| 21366 |glGetPixelMapfv[36] |glRasterPos3sv[36] |glXSwapBuffers[36] | 21367 |---------------------------+------------------------+-------------------------| 21368 |glGetPixelMapuiv[36] |glRasterPos4d[36] |glXUseXFont[36] | 21369 |---------------------------+------------------------+-------------------------| 21370 |glGetPixelMapusv[36] |glRasterPos4dv[36] |glXWaitGL[36] | 21371 |---------------------------+------------------------+-------------------------| 21372 |glGetPointerv[36] |glRasterPos4f[36] |glXWaitX[36] | 21373 |---------------------------+------------------------+-------------------------| 21374 |glGetPolygonStipple[36] |glRasterPos4fv[36] | | 21375 +------------------------------------------------------------------------------+ 21376 ------------------------------------------------------------------------------- 21377 21378 libXext 21379 21380 The behaviour of the interfaces in this library is specified by the following 21381 Standards. 21382 21383 Double Buffer Extension Library 21384 X Display Power Management Signaling (DPMS) Extension, Library Specification 21385 Security Extension Specification, Version 7.1 21386 X Nonrectangular Window Shape Extension Library Version 1.0 21387 MIT-SHM--The MIT Shared Memory Extension 21388 X Synchronization Extension Library 21389 21390 Table A-7. libXext Function Interfaces 21391 21392 +--------------------------------------------------------------------------------------+ 21393 |DPMSCapable[27] |XShmCreateImage[30] |XSyncQueryExtension[31] | 21394 |------------------------------+--------------------------+----------------------------| 21395 |DPMSDisable[27] |XShmCreatePixmap[30] |XSyncSetCounter[31] | 21396 |------------------------------+--------------------------+----------------------------| 21397 |DPMSEnable[27] |XShmDetach[30] |XSyncSetPriority[31] | 21398 |------------------------------+--------------------------+----------------------------| 21399 |DPMSForceLevel[27] |XShmGetEventBase[30] |XSyncValueAdd[31] | 21400 |------------------------------+--------------------------+----------------------------| 21401 |DPMSGetTimeouts[27] |XShmGetImage[30] |XSyncValueEqual[31] | 21402 |------------------------------+--------------------------+----------------------------| 21403 |DPMSGetVersion[27] |XShmPixmapFormat[30] |XSyncValueGreaterOrEqual[31]| 21404 |------------------------------+--------------------------+----------------------------| 21405 |DPMSInfo[27] |XShmPutImage[30] |XSyncValueGreaterThan[31] | 21406 |------------------------------+--------------------------+----------------------------| 21407 |DPMSQueryExtension[27] |XShmQueryExtension[30] |XSyncValueHigh32[31] | 21408 |------------------------------+--------------------------+----------------------------| 21409 |DPMSSetTimeouts[27] |XShmQueryVersion[30] |XSyncValueIsNegative[31] | 21410 |------------------------------+--------------------------+----------------------------| 21411 |XSecurityAllocXauth[28] |XSyncAwait[31] |XSyncValueIsPositive[31] | 21412 |------------------------------+--------------------------+----------------------------| 21413 |XSecurityFreeXauth[28] |XSyncChangeAlarm[31] |XSyncValueIsZero[31] | 21414 |------------------------------+--------------------------+----------------------------| 21415 |XSecurityGenerateAuthorization|XSyncChangeCounter[31] |XSyncValueLessOrEqual[31] | 21416 |[28] | | | 21417 |------------------------------+--------------------------+----------------------------| 21418 |XSecurityQueryExtension[28] |XSyncCreateAlarm[31] |XSyncValueLessThan[31] | 21419 |------------------------------+--------------------------+----------------------------| 21420 |XSecurityRevokeAuthorization |XSyncCreateCounter[31] |XSyncValueLow32[31] | 21421 |[28] | | | 21422 |------------------------------+--------------------------+----------------------------| 21423 |XShapeCombineMask[29] |XSyncDestroyAlarm[31] |XSyncValueSubtract[31] | 21424 |------------------------------+--------------------------+----------------------------| 21425 |XShapeCombineRectangles[29] |XSyncDestroyCounter[31] |XdbeAllocateBackBufferName | 21426 | | |[26] | 21427 |------------------------------+--------------------------+----------------------------| 21428 |XShapeCombineRegion[29] |XSyncFreeSystemCounterList|XdbeBeginIdiom[26] | 21429 | |[31] | | 21430 |------------------------------+--------------------------+----------------------------| 21431 |XShapeCombineShape[29] |XSyncGetPriority[31] |XdbeDeallocateBackBufferName| 21432 | | |[26] | 21433 |------------------------------+--------------------------+----------------------------| 21434 |XShapeGetRectangles[29] |XSyncInitialize[31] |XdbeEndIdiom[26] | 21435 |------------------------------+--------------------------+----------------------------| 21436 |XShapeInputSelected[29] |XSyncIntToValue[31] |XdbeFreeVisualInfo[26] | 21437 |------------------------------+--------------------------+----------------------------| 21438 |XShapeOffsetShape[29] |XSyncIntsToValue[31] |XdbeGetBackBufferAttributes | 21439 | | |[26] | 21440 |------------------------------+--------------------------+----------------------------| 21441 |XShapeQueryExtension[29] |XSyncListSystemCounters |XdbeGetVisualInfo[26] | 21442 | |[31] | | 21443 |------------------------------+--------------------------+----------------------------| 21444 |XShapeQueryExtents[29] |XSyncMaxValue[31] |XdbeQueryExtension[26] | 21445 |------------------------------+--------------------------+----------------------------| 21446 |XShapeQueryVersion[29] |XSyncMinValue[31] |XdbeSwapBuffers[26] | 21447 |------------------------------+--------------------------+----------------------------| 21448 |XShapeSelectInput[29] |XSyncQueryAlarm[31] | | 21449 |------------------------------+--------------------------+----------------------------| 21450 |XShmAttach[30] |XSyncQueryCounter[31] | | 21451 +--------------------------------------------------------------------------------------+ 21452 ------------------------------------------------------------------------------- 21453 21454 libICE 21455 21456 The behaviour of the interfaces in this library is specified by the following 21457 Standards. 21458 21459 X11R6.4 X Inter-Client Exchange (ICE) Protocol 21460 21461 Table A-8. libICE Function Interfaces 21462 21463 +----------------------------------------------------------------------------------------+ 21464 |IceAcceptConnection[33] |IceGetConnectionContext[33] |IceProtocolVersion[33] | 21465 |---------------------------+--------------------------------+---------------------------| 21466 |IceAddConnectionWatch[33] |IceGetInBufSize[33] |IceReadAuthFileEntry[33] | 21467 |---------------------------+--------------------------------+---------------------------| 21468 |IceAllocScratch[33] |IceGetListenConnectionNumber[33]|IceRegisterForProtocolReply| 21469 | | |[33] | 21470 |---------------------------+--------------------------------+---------------------------| 21471 |IceAppLockConn[33] |IceGetListenConnectionString[33]|IceRegisterForProtocolSetup| 21472 | | |[33] | 21473 |---------------------------+--------------------------------+---------------------------| 21474 |IceAppUnlockConn[33] |IceGetOutBufSize[33] |IceRelease[33] | 21475 |---------------------------+--------------------------------+---------------------------| 21476 |IceAuthFileName[33] |IceInitThreads[33] |IceRemoveConnectionWatch | 21477 | | |[33] | 21478 |---------------------------+--------------------------------+---------------------------| 21479 |IceCheckShutdownNegotiation|IceLastReceivedSequenceNumber |IceSetErrorHandler[33] | 21480 |[33] |[33] | | 21481 |---------------------------+--------------------------------+---------------------------| 21482 |IceCloseConnection[33] |IceLastSentSequenceNumber[33] |IceSetHostBasedAuthProc[33]| 21483 |---------------------------+--------------------------------+---------------------------| 21484 |IceComposeNetworkIdList[33]|IceListenForConnections[33] |IceSetIOErrorHandler[33] | 21485 |---------------------------+--------------------------------+---------------------------| 21486 |IceConnectionNumber[33] |IceListenForWellKnownConnections|IceSetPaAuthData[33] | 21487 | |[33] | | 21488 |---------------------------+--------------------------------+---------------------------| 21489 |IceConnectionStatus[33] |IceLockAuthFile[33] |IceSetShutdownNegotiation | 21490 | | |[33] | 21491 |---------------------------+--------------------------------+---------------------------| 21492 |IceConnectionString[33] |IceOpenConnection[33] |IceSwapping[33] | 21493 |---------------------------+--------------------------------+---------------------------| 21494 |IceFlush[33] |IcePing[33] |IceUnlockAuthFile[33] | 21495 |---------------------------+--------------------------------+---------------------------| 21496 |IceFreeAuthFileEntry[33] |IceProcessMessages[33] |IceVendor[33] | 21497 |---------------------------+--------------------------------+---------------------------| 21498 |IceFreeListenObjs[33] |IceProtocolRevision[33] |IceWriteAuthFileEntry[33] | 21499 |---------------------------+--------------------------------+---------------------------| 21500 |IceGenerateMagicCookie[33] |IceProtocolSetup[33] | | 21501 |---------------------------+--------------------------------+---------------------------| 21502 |IceGetAuthFileEntry[33] |IceProtocolShutdown[33] | | 21503 +----------------------------------------------------------------------------------------+ 21504 ------------------------------------------------------------------------------- 21505 21506 libSM 21507 21508 The behaviour of the interfaces in this library is specified by the following 21509 Standards. 21510 21511 X11R6.4 X Session Management Library 21512 21513 Table A-9. libSM Function Interfaces 21514 21515 +-----------------------------------------------------------------------------+ 21516 |SmFreeProperty[32] |SmcRelease[32] |SmsInitialize[32] | 21517 |---------------------+------------------------------+------------------------| 21518 |SmFreeReasons[32] |SmcRequestSaveYourself[32] |SmsInteract[32] | 21519 |---------------------+------------------------------+------------------------| 21520 |SmcClientID[32] |SmcRequestSaveYourselfPhase2 |SmsProtocolRevision[32] | 21521 | |[32] | | 21522 |---------------------+------------------------------+------------------------| 21523 |SmcCloseConnection |SmcSaveYourselfDone[32] |SmsProtocolVersion[32] | 21524 |[32] | | | 21525 |---------------------+------------------------------+------------------------| 21526 |SmcDeleteProperties |SmcSetErrorHandler[32] |SmsRegisterClientReply | 21527 |[32] | |[32] | 21528 |---------------------+------------------------------+------------------------| 21529 |SmcGetIceConnection |SmcSetProperties[32] |SmsReturnProperties[32] | 21530 |[32] | | | 21531 |---------------------+------------------------------+------------------------| 21532 |SmcGetProperties[32] |SmcVendor[32] |SmsSaveComplete[32] | 21533 |---------------------+------------------------------+------------------------| 21534 |SmcInteractDone[32] |SmsCleanUp[32] |SmsSaveYourself[32] | 21535 |---------------------+------------------------------+------------------------| 21536 |SmcInteractRequest |SmsClientHostName[32] |SmsSaveYourselfPhase2 | 21537 |[32] | |[32] | 21538 |---------------------+------------------------------+------------------------| 21539 |SmcModifyCallbacks |SmsClientID[32] |SmsSetErrorHandler[32] | 21540 |[32] | | | 21541 |---------------------+------------------------------+------------------------| 21542 |SmcOpenConnection[32]|SmsDie[32] |SmsShutdownCancelled[32]| 21543 |---------------------+------------------------------+------------------------| 21544 |SmcProtocolRevision |SmsGenerateClientID[32] | | 21545 |[32] | | | 21546 |---------------------+------------------------------+------------------------| 21547 |SmcProtocolVersion |SmsGetIceConnection[32] | | 21548 |[32] | | | 21549 +-----------------------------------------------------------------------------+ 21550 ------------------------------------------------------------------------------- 21551 21552 libdl 21553 21554 The behaviour of the interfaces in this library is specified by the following 21555 Standards. 21556 21557 Linux Standard Base 21558 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 21559 (ISBN: 1-85912-181-0, C606) 21560 21561 Table A-10. libdl Function Interfaces 21562 21563 +------------------------------------------------------------------+ 21564 |dladdr(GLIBC_2.0)[19] |dlerror(GLIBC_2.0)[20]|dlsym(GLIBC_2.0)[20]| 21565 |----------------------+----------------------+--------------------| 21566 |dlclose(GLIBC_2.0)[20]|dlopen(GLIBC_2.0)[20] | | 21567 +------------------------------------------------------------------+ 21568 ------------------------------------------------------------------------------- 21569 21570 libcrypt 21571 21572 The behaviour of the interfaces in this library is specified by the following 21573 Standards. 21574 21575 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 21576 (ISBN: 1-85912-181-0, C606) 21577 21578 Table A-11. libcrypt Function Interfaces 21579 21580 +-----------------------------------------------------------------+ 21581 |crypt(GLIBC_2.0)[21]|encrypt(GLIBC_2.0)[21]|setkey(GLIBC_2.0)[21]| 21582 +-----------------------------------------------------------------+ 21583 ------------------------------------------------------------------------------- 21584 21585 libz 21586 21587 The behaviour of the interfaces in this library is specified by the following 21588 Standards. 21589 21590 zlib 1.1.3 Manual 21591 21592 Table A-12. libz Function Interfaces 21593 21594 +-----------------------------------------------------------------+ 21595 |adler32[22] |gzdopen[22] |gztell[22] | 21596 |------------------------+---------------+------------------------| 21597 |compress[22] |gzeof[22] |gzwrite[22] | 21598 |------------------------+---------------+------------------------| 21599 |compress2[22] |gzerror[22] |inflate[22] | 21600 |------------------------+---------------+------------------------| 21601 |crc32[22] |gzflush[22] |inflateEnd[22] | 21602 |------------------------+---------------+------------------------| 21603 |deflate[22] |gzgetc[22] |inflateInit2_[22] | 21604 |------------------------+---------------+------------------------| 21605 |deflateCopy[22] |gzgets[22] |inflateInit_[22] | 21606 |------------------------+---------------+------------------------| 21607 |deflateEnd[22] |gzopen[22] |inflateReset[22] | 21608 |------------------------+---------------+------------------------| 21609 |deflateInit2_[22] |gzprintf[22] |inflateSetDictionary[22]| 21610 |------------------------+---------------+------------------------| 21611 |deflateInit_[22] |gzputc[22] |inflateSync[22] | 21612 |------------------------+---------------+------------------------| 21613 |deflateParams[22] |gzputs[22] |inflateSyncPoint[22] | 21614 |------------------------+---------------+------------------------| 21615 |deflateReset[22] |gzread[22] |uncompress[22] | 21616 |------------------------+---------------+------------------------| 21617 |deflateSetDictionary[22]|gzrewind[22] |zError[22] | 21618 |------------------------+---------------+------------------------| 21619 |get_crc_table[22] |gzseek[22] | | 21620 |------------------------+---------------+------------------------| 21621 |gzclose[22] |gzsetparams[22]| | 21622 +-----------------------------------------------------------------+ 21623 ------------------------------------------------------------------------------- 21624 21625 libncurses 21626 21627 The behaviour of the interfaces in this library is specified by the following 21628 Standards. 21629 21630 CAE Specification, May 1996, X/Open Curses, Issue 4, Version 2 (ISBN: 21631 1-85912-171-3, C610), plus Corrigendum U018 21632 21633 Table A-13. libncurses Function Interfaces 21634 21635 +-------------------------------------------------------------+ 21636 |addch[23] |mvcur[23] |slk_noutrefresh[23]| 21637 |--------------------+--------------------+-------------------| 21638 |addchnstr[23] |mvdelch[23] |slk_refresh[23] | 21639 |--------------------+--------------------+-------------------| 21640 |addchstr[23] |mvderwin[23] |slk_restore[23] | 21641 |--------------------+--------------------+-------------------| 21642 |addnstr[23] |mvgetch[23] |slk_set[23] | 21643 |--------------------+--------------------+-------------------| 21644 |addstr[23] |mvgetnstr[23] |slk_touch[23] | 21645 |--------------------+--------------------+-------------------| 21646 |attr_get[23] |mvgetstr[23] |standend[23] | 21647 |--------------------+--------------------+-------------------| 21648 |attr_off[23] |mvhline[23] |standout[23] | 21649 |--------------------+--------------------+-------------------| 21650 |attr_on[23] |mvinch[23] |start_color[23] | 21651 |--------------------+--------------------+-------------------| 21652 |attr_set[23] |mvinchnstr[23] |subpad[23] | 21653 |--------------------+--------------------+-------------------| 21654 |attroff[23] |mvinchstr[23] |subwin[23] | 21655 |--------------------+--------------------+-------------------| 21656 |attron[23] |mvinnstr[23] |syncok[23] | 21657 |--------------------+--------------------+-------------------| 21658 |attrset[23] |mvinsch[23] |termattrs[23] | 21659 |--------------------+--------------------+-------------------| 21660 |baudrate[23] |mvinsnstr[23] |termname[23] | 21661 |--------------------+--------------------+-------------------| 21662 |beep[23] |mvinsstr[23] |tgetent[23] | 21663 |--------------------+--------------------+-------------------| 21664 |bkgd[23] |mvinstr[23] |tgetflag[23] | 21665 |--------------------+--------------------+-------------------| 21666 |bkgdset[23] |mvprintw[23] |tgetnum[23] | 21667 |--------------------+--------------------+-------------------| 21668 |border[23] |mvscanw[23] |tgetstr[23] | 21669 |--------------------+--------------------+-------------------| 21670 |box[23] |mvvline[23] |tgoto[23] | 21671 |--------------------+--------------------+-------------------| 21672 |can_change_color[23]|mvwaddch[23] |tigetflag[23] | 21673 |--------------------+--------------------+-------------------| 21674 |cbreak[23] |mvwaddchnstr[23] |tigetnum[23] | 21675 |--------------------+--------------------+-------------------| 21676 |chgat[23] |mvwaddchstr[23] |tigetstr[23] | 21677 |--------------------+--------------------+-------------------| 21678 |clear[23] |mvwaddnstr[23] |timeout[23] | 21679 |--------------------+--------------------+-------------------| 21680 |clearok[23] |mvwaddstr[23] |tparm[23] | 21681 |--------------------+--------------------+-------------------| 21682 |clrtobot[23] |mvwchgat[23] |tputs[23] | 21683 |--------------------+--------------------+-------------------| 21684 |clrtoeol[23] |mvwdelch[23] |typeahead[23] | 21685 |--------------------+--------------------+-------------------| 21686 |color_content[23] |mvwgetch[23] |ungetch[23] | 21687 |--------------------+--------------------+-------------------| 21688 |color_set[23] |mvwgetnstr[23] |untouchwin[23] | 21689 |--------------------+--------------------+-------------------| 21690 |copywin[23] |mvwgetstr[23] |use_env[23] | 21691 |--------------------+--------------------+-------------------| 21692 |curs_set[23] |mvwhline[23] |vidattr[23] | 21693 |--------------------+--------------------+-------------------| 21694 |def_prog_mode[23] |mvwin[23] |vidputs[23] | 21695 |--------------------+--------------------+-------------------| 21696 |def_shell_mode[23] |mvwinch[23] |vline[23] | 21697 |--------------------+--------------------+-------------------| 21698 |delay_output[23] |mvwinchnstr[23] |vw_printw[23] | 21699 |--------------------+--------------------+-------------------| 21700 |delch[23] |mvwinchstr[23] |vw_scanw[23] | 21701 |--------------------+--------------------+-------------------| 21702 |deleteln[23] |mvwinnstr[23] |vwprintw[23] | 21703 |--------------------+--------------------+-------------------| 21704 |delscreen[23] |mvwinsch[23] |vwscanw[23] | 21705 |--------------------+--------------------+-------------------| 21706 |delwin[23] |mvwinsnstr[23] |waddch[23] | 21707 |--------------------+--------------------+-------------------| 21708 |derwin[23] |mvwinsstr[23] |waddchnstr[23] | 21709 |--------------------+--------------------+-------------------| 21710 |doupdate[23] |mvwinstr[23] |waddchstr[23] | 21711 |--------------------+--------------------+-------------------| 21712 |dupwin[23] |mvwprintw[23] |waddnstr[23] | 21713 |--------------------+--------------------+-------------------| 21714 |echo[23] |mvwscanw[23] |waddstr[23] | 21715 |--------------------+--------------------+-------------------| 21716 |echochar[23] |mvwvline[23] |wattr_get[23] | 21717 |--------------------+--------------------+-------------------| 21718 |endwin[23] |napms[23] |wattr_off[23] | 21719 |--------------------+--------------------+-------------------| 21720 |erase[23] |newpad[23] |wattr_on[23] | 21721 |--------------------+--------------------+-------------------| 21722 |erasechar[23] |newterm[23] |wattr_set[23] | 21723 |--------------------+--------------------+-------------------| 21724 |filter[23] |newwin[23] |wattroff[23] | 21725 |--------------------+--------------------+-------------------| 21726 |flash[23] |nl[23] |wattron[23] | 21727 |--------------------+--------------------+-------------------| 21728 |flushinp[23] |nocbreak[23] |wattrset[23] | 21729 |--------------------+--------------------+-------------------| 21730 |getbkgd[23] |nodelay[23] |wbkgd[23] | 21731 |--------------------+--------------------+-------------------| 21732 |getch[23] |noecho[23] |wbkgdset[23] | 21733 |--------------------+--------------------+-------------------| 21734 |getnstr[23] |nonl[23] |wborder[23] | 21735 |--------------------+--------------------+-------------------| 21736 |getstr[23] |noqiflush[23] |wchgat[23] | 21737 |--------------------+--------------------+-------------------| 21738 |getwin[23] |noraw[23] |wclear[23] | 21739 |--------------------+--------------------+-------------------| 21740 |halfdelay[23] |notimeout[23] |wclrtobot[23] | 21741 |--------------------+--------------------+-------------------| 21742 |has_colors[23] |overlay[23] |wclrtoeol[23] | 21743 |--------------------+--------------------+-------------------| 21744 |has_ic[23] |overwrite[23] |wcolor_set[23] | 21745 |--------------------+--------------------+-------------------| 21746 |has_il[23] |pair_content[23] |wcursyncup[23] | 21747 |--------------------+--------------------+-------------------| 21748 |hline[23] |pechochar[23] |wdelch[23] | 21749 |--------------------+--------------------+-------------------| 21750 |idcok[23] |pnoutrefresh[23] |wdeleteln[23] | 21751 |--------------------+--------------------+-------------------| 21752 |idlok[23] |prefresh[23] |wechochar[23] | 21753 |--------------------+--------------------+-------------------| 21754 |immedok[23] |printw[23] |werase[23] | 21755 |--------------------+--------------------+-------------------| 21756 |inch[23] |putp[23] |wgetch[23] | 21757 |--------------------+--------------------+-------------------| 21758 |inchnstr[23] |putwin[23] |wgetnstr[23] | 21759 |--------------------+--------------------+-------------------| 21760 |inchstr[23] |qiflush[23] |wgetstr[23] | 21761 |--------------------+--------------------+-------------------| 21762 |init_color[23] |raw[23] |whline[23] | 21763 |--------------------+--------------------+-------------------| 21764 |init_pair[23] |redrawwin[23] |winch[23] | 21765 |--------------------+--------------------+-------------------| 21766 |initscr[23] |refresh[23] |winchnstr[23] | 21767 |--------------------+--------------------+-------------------| 21768 |innstr[23] |reset_prog_mode[23] |winchstr[23] | 21769 |--------------------+--------------------+-------------------| 21770 |insch[23] |reset_shell_mode[23]|winnstr[23] | 21771 |--------------------+--------------------+-------------------| 21772 |insdelln[23] |resetty[23] |winsch[23] | 21773 |--------------------+--------------------+-------------------| 21774 |insertln[23] |ripoffline[23] |winsdelln[23] | 21775 |--------------------+--------------------+-------------------| 21776 |insnstr[23] |savetty[23] |winsertln[23] | 21777 |--------------------+--------------------+-------------------| 21778 |insstr[23] |scanw[23] |winsnstr[23] | 21779 |--------------------+--------------------+-------------------| 21780 |instr[23] |scr_dump[23] |winsstr[23] | 21781 |--------------------+--------------------+-------------------| 21782 |intrflush[23] |scr_init[23] |winstr[23] | 21783 |--------------------+--------------------+-------------------| 21784 |is_linetouched[23] |scr_restore[23] |wmove[23] | 21785 |--------------------+--------------------+-------------------| 21786 |is_wintouched[23] |scr_set[23] |wnoutrefresh[23] | 21787 |--------------------+--------------------+-------------------| 21788 |isendwin[23] |scrl[23] |wprintw[23] | 21789 |--------------------+--------------------+-------------------| 21790 |keyname[23] |scroll[23] |wredrawln[23] | 21791 |--------------------+--------------------+-------------------| 21792 |keypad[23] |scrollok[23] |wrefresh[23] | 21793 |--------------------+--------------------+-------------------| 21794 |killchar[23] |set_term[23] |wscanw[23] | 21795 |--------------------+--------------------+-------------------| 21796 |leaveok[23] |setscrreg[23] |wscrl[23] | 21797 |--------------------+--------------------+-------------------| 21798 |longname[23] |setupterm[23] |wsetscrreg[23] | 21799 |--------------------+--------------------+-------------------| 21800 |meta[23] |slk_attr_set[23] |wstandend[23] | 21801 |--------------------+--------------------+-------------------| 21802 |move[23] |slk_attroff[23] |wstandout[23] | 21803 |--------------------+--------------------+-------------------| 21804 |mvaddch[23] |slk_attron[23] |wsyncdown[23] | 21805 |--------------------+--------------------+-------------------| 21806 |mvaddchnstr[23] |slk_attrset[23] |wsyncup[23] | 21807 |--------------------+--------------------+-------------------| 21808 |mvaddchstr[23] |slk_clear[23] |wtimeout[23] | 21809 |--------------------+--------------------+-------------------| 21810 |mvaddnstr[23] |slk_color[23] |wtouchln[23] | 21811 |--------------------+--------------------+-------------------| 21812 |mvaddstr[23] |slk_init[23] |wvline[23] | 21813 |--------------------+--------------------+-------------------| 21814 |mvchgat[23] |slk_label[23] | | 21815 +-------------------------------------------------------------+ 21816 21817 Table A-14. libncurses Data Interfaces 21818 21819 +-----------------------+ 21820 |COLS[23] |curscr[23] | | 21821 |---------+-----------+-| 21822 |LINES[23]|stdscr[23] | | 21823 +-----------------------+ 21824 ------------------------------------------------------------------------------- 21825 21826 libutil 21827 21828 The behaviour of the interfaces in this library is specified by the following 21829 Standards. 21830 21831 Linux Standard Base 21832 21833 Table A-15. libutil Function Interfaces 21834 21835 +----------------------------------------------------------------------+ 21836 |forkpty(GLIBC_2.0)[24]|login_tty(GLIBC_2.0)[24]|logwtmp(GLIBC_2.0)[24]| 21837 |----------------------+------------------------+----------------------| 21838 |login(GLIBC_2.0)[24] |logout(GLIBC_2.0)[24] |openpty(GLIBC_2.0)[24]| 21839 +----------------------------------------------------------------------+ 21840 ------------------------------------------------------------------------------- 21841 21842 libc 21843 21844 The behaviour of the interfaces in this library is specified by the following 21845 Standards. 21846 21847 ISO/IEC 9899: 1999, Programming Languages --C 21848 Large File Support 21849 LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4 21850 Linux Standard Base 21851 IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996] 21852 CAE Specification, February 1997, Networking Services (XNS), Issue 5 (ISBN: 21853 1-85912-165-9, C523) 21854 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 21855 (ISBN: 1-85912-181-0, C606) 21856 System V Interface Definition, Issue 3 (ISBN 0201566524) 21857 System V Interface Definition,Fourth Edition 21858 21859 Table A-16. libc Function Interfaces 21860 21861 +-----------------------------------------------------------------------------+ 21862 |_Exit(GLIBC_2.1.1)[2] |getservbyport(GLIBC_2.1.1)|shmctl(GLIBC_2.1.1)[8] | 21863 | |[7] | | 21864 |--------------------------+--------------------------+-----------------------| 21865 |_IO_feof(GLIBC_2.0)[5] |getservent(GLIBC_2.0)[5] |shmdt(GLIBC_2.0)[8] | 21866 |--------------------------+--------------------------+-----------------------| 21867 |_IO_getc(GLIBC_2.0)[5] |getsid(GLIBC_2.0)[8] |shmget(GLIBC_2.0)[8] | 21868 |--------------------------+--------------------------+-----------------------| 21869 |_IO_putc(GLIBC_2.0)[5] |getsockname(GLIBC_2.0)[7] |shutdown(GLIBC_2.0)[7] | 21870 |--------------------------+--------------------------+-----------------------| 21871 |_IO_puts(GLIBC_2.0)[5] |getsockopt(GLIBC_2.0)[7] |sigaction(GLIBC_2.0)[8]| 21872 |--------------------------+--------------------------+-----------------------| 21873 |__assert_fail(GLIBC_2.0) |getsubopt(GLIBC_2.0)[8] |sigaddset(GLIBC_2.0)[8]| 21874 |[5] | | | 21875 |--------------------------+--------------------------+-----------------------| 21876 |__ctype_get_mb_cur_max |gettext(GLIBC_2.0)[5] |sigaltstack(GLIBC_2.0) | 21877 |(GLIBC_2.0)[5] | |[8] | 21878 |--------------------------+--------------------------+-----------------------| 21879 |__cxa_atexit(GLIBC_2.1.3) |gettimeofday(GLIBC_2.1.3) |sigandset(GLIBC_2.1.3) | 21880 |[5] |[8] |[5] | 21881 |--------------------------+--------------------------+-----------------------| 21882 |__dcgettext(GLIBC_2.0)[5] |getuid(GLIBC_2.0)[8] |sigblock(GLIBC_2.0)[5] | 21883 |--------------------------+--------------------------+-----------------------| 21884 |__errno_location |getutent(GLIBC_2.0)[5] |sigdelset(GLIBC_2.0)[8]| 21885 |(GLIBC_2.0)[5] | | | 21886 |--------------------------+--------------------------+-----------------------| 21887 |__fpending(GLIBC_2.2)[5] |getutent_r(GLIBC_2.2)[5] |sigemptyset(GLIBC_2.2) | 21888 | | |[8] | 21889 |--------------------------+--------------------------+-----------------------| 21890 |__fxstat(GLIBC_2.0)[5] |getutxent(GLIBC_2.0)[8] |sigfillset(GLIBC_2.0) | 21891 | | |[8] | 21892 |--------------------------+--------------------------+-----------------------| 21893 |__fxstat64(GLIBC_2.2)[5] |getutxid(GLIBC_2.2)[8] |siggetmask(GLIBC_2.2) | 21894 | | |[5] | 21895 |--------------------------+--------------------------+-----------------------| 21896 |__getpagesize(GLIBC_2.0) |getutxline(GLIBC_2.0)[8] |sighold(GLIBC_2.0)[8] | 21897 |[5] | | | 21898 |--------------------------+--------------------------+-----------------------| 21899 |__getpgid(GLIBC_2.0)[5] |getw(GLIBC_2.0)[8] |sigignore(GLIBC_2.0)[8]| 21900 |--------------------------+--------------------------+-----------------------| 21901 |__h_errno_location[5] |getwc()[2] |siginterrupt()[8] | 21902 |--------------------------+--------------------------+-----------------------| 21903 |__libc_current_sigrtmax |getwchar(GLIBC_2.1)[8] |sigisemptyset | 21904 |(GLIBC_2.1)[5] | |(GLIBC_2.1)[5] | 21905 |--------------------------+--------------------------+-----------------------| 21906 |__libc_current_sigrtmin |getwd(GLIBC_2.1)[8] |sigismember(GLIBC_2.1) | 21907 |(GLIBC_2.1)[5] | |[8] | 21908 |--------------------------+--------------------------+-----------------------| 21909 |__libc_start_main |glob(GLIBC_2.0)[8] |siglongjmp(GLIBC_2.0) | 21910 |(GLIBC_2.0)[5] | |[8] | 21911 |--------------------------+--------------------------+-----------------------| 21912 |__lxstat(GLIBC_2.0)[5] |glob64(GLIBC_2.0)[5] |signal(GLIBC_2.0)[8] | 21913 |--------------------------+--------------------------+-----------------------| 21914 |__lxstat64(GLIBC_2.2)[5] |globfree(GLIBC_2.2)[8] |sigorset(GLIBC_2.2)[5] | 21915 |--------------------------+--------------------------+-----------------------| 21916 |__mempcpy(GLIBC_2.0)[5] |globfree64(GLIBC_2.0)[5] |sigpause(GLIBC_2.0)[8] | 21917 |--------------------------+--------------------------+-----------------------| 21918 |__rawmemchr(GLIBC_2.1)[5] |gmtime(GLIBC_2.1)[8] |sigpending(GLIBC_2.1) | 21919 | | |[8] | 21920 |--------------------------+--------------------------+-----------------------| 21921 |__sigsetjmp(GLIBC_2.0)[5] |gmtime_r(GLIBC_2.0)[8] |sigprocmask(GLIBC_2.0) | 21922 | | |[8] | 21923 |--------------------------+--------------------------+-----------------------| 21924 |__stpcpy(GLIBC_2.0)[5] |grantpt(GLIBC_2.0)[8] |sigqueue(GLIBC_2.0)[8] | 21925 |--------------------------+--------------------------+-----------------------| 21926 |__strdup(GLIBC_2.0)[5] |hcreate(GLIBC_2.0)[8] |sigrelse(GLIBC_2.0)[8] | 21927 |--------------------------+--------------------------+-----------------------| 21928 |__strtod_internal |hdestroy(GLIBC_2.0)[8] |sigreturn(GLIBC_2.0)[5]| 21929 |(GLIBC_2.0)[5] | | | 21930 |--------------------------+--------------------------+-----------------------| 21931 |__strtof_internal |hsearch(GLIBC_2.0)[8] |sigset(GLIBC_2.0)[8] | 21932 |(GLIBC_2.0)[5] | | | 21933 |--------------------------+--------------------------+-----------------------| 21934 |__strtok_r(GLIBC_2.0)[5] |htonl(GLIBC_2.0)[7] |sigstack(GLIBC_2.0)[8] | 21935 |--------------------------+--------------------------+-----------------------| 21936 |__strtol_internal |htons(GLIBC_2.0)[7] |sigsuspend(GLIBC_2.0) | 21937 |(GLIBC_2.0)[5] | |[8] | 21938 |--------------------------+--------------------------+-----------------------| 21939 |__strtold_internal |iconv(GLIBC_2.0)[8] |sigtimedwait(GLIBC_2.0)| 21940 |(GLIBC_2.0)[5] | |[8] | 21941 |--------------------------+--------------------------+-----------------------| 21942 |__strtoll_internal |iconv_close(GLIBC_2.0)[8] |sigwait(GLIBC_2.0)[8] | 21943 |(GLIBC_2.0)[5] | | | 21944 |--------------------------+--------------------------+-----------------------| 21945 |__strtoul_internal |iconv_open(GLIBC_2.0)[8] |sigwaitinfo(GLIBC_2.0) | 21946 |(GLIBC_2.0)[5] | |[8] | 21947 |--------------------------+--------------------------+-----------------------| 21948 |__strtoull_internal |imaxabs(GLIBC_2.0)[2] |sleep(GLIBC_2.0)[8] | 21949 |(GLIBC_2.0)[5] | | | 21950 |--------------------------+--------------------------+-----------------------| 21951 |__sysconf(GLIBC_2.2)[5] |imaxdiv(GLIBC_2.2)[2] |snprintf(GLIBC_2.2)[8] | 21952 |--------------------------+--------------------------+-----------------------| 21953 |__sysv_signal(GLIBC_2.0) |index(GLIBC_2.0)[8] |socket(GLIBC_2.0)[7] | 21954 |[5] | | | 21955 |--------------------------+--------------------------+-----------------------| 21956 |__wcstod_internal |inet_addr(GLIBC_2.0)[7] |socketpair(GLIBC_2.0) | 21957 |(GLIBC_2.0)[5] | |[7] | 21958 |--------------------------+--------------------------+-----------------------| 21959 |__wcstof_internal |inet_aton(GLIBC_2.0)[7] |sprintf(GLIBC_2.0)[8] | 21960 |(GLIBC_2.0)[5] | | | 21961 |--------------------------+--------------------------+-----------------------| 21962 |__wcstol_internal |inet_ntoa(GLIBC_2.0)[7] |srand(GLIBC_2.0)[8] | 21963 |(GLIBC_2.0)[5] | | | 21964 |--------------------------+--------------------------+-----------------------| 21965 |__wcstold_internal |initgroups(GLIBC_2.0)[5] |srand48(GLIBC_2.0)[8] | 21966 |(GLIBC_2.0)[5] | | | 21967 |--------------------------+--------------------------+-----------------------| 21968 |__wcstoul_internal |initstate(GLIBC_2.0)[8] |srandom(GLIBC_2.0)[8] | 21969 |(GLIBC_2.0)[5] | | | 21970 |--------------------------+--------------------------+-----------------------| 21971 |__xmknod(GLIBC_2.0)[5] |insque(GLIBC_2.0)[8] |sscanf(GLIBC_2.0)[8] | 21972 |--------------------------+--------------------------+-----------------------| 21973 |__xstat(GLIBC_2.0)[5] |ioctl(GLIBC_2.0)[8] |statfs(GLIBC_2.0)[5] | 21974 |--------------------------+--------------------------+-----------------------| 21975 |__xstat64(GLIBC_2.2)[5] |isalnum(GLIBC_2.2)[8] |statvfs(GLIBC_2.2)[8] | 21976 |--------------------------+--------------------------+-----------------------| 21977 |_exit(GLIBC_2.0)[8] |isalpha(GLIBC_2.0)[8] |step(GLIBC_2.0)[8] | 21978 |--------------------------+--------------------------+-----------------------| 21979 |_longjmp(GLIBC_2.0)[8] |isascii(GLIBC_2.0)[8] |stime(GLIBC_2.0)[5] | 21980 |--------------------------+--------------------------+-----------------------| 21981 |_obstack_begin(GLIBC_2.0) |isatty(GLIBC_2.0)[8] |stpcpy(GLIBC_2.0)[5] | 21982 |[5] | | | 21983 |--------------------------+--------------------------+-----------------------| 21984 |_obstack_newchunk |isblank(GLIBC_2.0)[5] |stpncpy(GLIBC_2.0)[5] | 21985 |(GLIBC_2.0)[5] | | | 21986 |--------------------------+--------------------------+-----------------------| 21987 |_setjmp(GLIBC_2.0)[8] |iscntrl(GLIBC_2.0)[8] |strcasecmp(GLIBC_2.0) | 21988 | | |[8] | 21989 |--------------------------+--------------------------+-----------------------| 21990 |_tolower(GLIBC_2.0)[8] |isdigit(GLIBC_2.0)[8] |strcasestr(GLIBC_2.0) | 21991 | | |[5] | 21992 |--------------------------+--------------------------+-----------------------| 21993 |_toupper(GLIBC_2.0)[8] |isgraph(GLIBC_2.0)[8] |strcat(GLIBC_2.0)[8] | 21994 |--------------------------+--------------------------+-----------------------| 21995 |a64l(GLIBC_2.0)[8] |isinf(GLIBC_2.0)[2] |strchr(GLIBC_2.0)[8] | 21996 |--------------------------+--------------------------+-----------------------| 21997 |abort(GLIBC_2.0)[8] |isinfl(GLIBC_2.0)[2] |strcmp(GLIBC_2.0)[8] | 21998 |--------------------------+--------------------------+-----------------------| 21999 |abs(GLIBC_2.0)[8] |islower(GLIBC_2.0)[8] |strcoll(GLIBC_2.0)[8] | 22000 |--------------------------+--------------------------+-----------------------| 22001 |accept(GLIBC_2.0)[7] |isnan(GLIBC_2.0)[2] |strcpy(GLIBC_2.0)[8] | 22002 |--------------------------+--------------------------+-----------------------| 22003 |access(GLIBC_2.0)[8] |isnanf(GLIBC_2.0)[2] |strcspn(GLIBC_2.0)[8] | 22004 |--------------------------+--------------------------+-----------------------| 22005 |acct(GLIBC_2.0)[5] |isnanl(GLIBC_2.0)[2] |strdup(GLIBC_2.0)[8] | 22006 |--------------------------+--------------------------+-----------------------| 22007 |adjtime(GLIBC_2.0)[5] |isprint(GLIBC_2.0)[8] |strerror(GLIBC_2.0)[8] | 22008 |--------------------------+--------------------------+-----------------------| 22009 |adjtimex(GLIBC_2.0)[5] |ispunct(GLIBC_2.0)[8] |strerror_r(GLIBC_2.0) | 22010 | | |[5] | 22011 |--------------------------+--------------------------+-----------------------| 22012 |advance(GLIBC_2.0)[8] |isspace(GLIBC_2.0)[8] |strfmon(GLIBC_2.0)[8] | 22013 |--------------------------+--------------------------+-----------------------| 22014 |alarm(GLIBC_2.0)[8] |isupper(GLIBC_2.0)[8] |strfry(GLIBC_2.0)[5] | 22015 |--------------------------+--------------------------+-----------------------| 22016 |alphasort(GLIBC_2.0)[5] |iswalnum(GLIBC_2.0)[8] |strftime(GLIBC_2.0)[8] | 22017 |--------------------------+--------------------------+-----------------------| 22018 |alphasort64(GLIBC_2.1)[5] |iswalpha(GLIBC_2.1)[8] |strlen(GLIBC_2.1)[8] | 22019 |--------------------------+--------------------------+-----------------------| 22020 |asctime(GLIBC_2.0)[8] |iswblank(GLIBC_2.0)[5] |strncasecmp(GLIBC_2.0) | 22021 | | |[8] | 22022 |--------------------------+--------------------------+-----------------------| 22023 |asctime_r(GLIBC_2.0)[8] |iswcntrl(GLIBC_2.0)[8] |strncat(GLIBC_2.0)[8] | 22024 |--------------------------+--------------------------+-----------------------| 22025 |atexit(GLIBC_2.0)[8] |iswctype(GLIBC_2.0)[5] |strncmp(GLIBC_2.0)[8] | 22026 |--------------------------+--------------------------+-----------------------| 22027 |atof(GLIBC_2.0)[8] |iswdigit(GLIBC_2.0)[8] |strncpy(GLIBC_2.0)[8] | 22028 |--------------------------+--------------------------+-----------------------| 22029 |atoi(GLIBC_2.0)[8] |iswgraph(GLIBC_2.0)[8] |strndup(GLIBC_2.0)[5] | 22030 |--------------------------+--------------------------+-----------------------| 22031 |atol(GLIBC_2.0)[8] |iswlower(GLIBC_2.0)[8] |strnlen(GLIBC_2.0)[5] | 22032 |--------------------------+--------------------------+-----------------------| 22033 |authnone_create(GLIBC_2.0)|iswprint(GLIBC_2.0)[8] |strpbrk(GLIBC_2.0)[8] | 22034 |[10] | | | 22035 |--------------------------+--------------------------+-----------------------| 22036 |basename(GLIBC_2.0)[8] |iswpunct(GLIBC_2.0)[8] |strptime(GLIBC_2.0)[5] | 22037 |--------------------------+--------------------------+-----------------------| 22038 |bcmp(GLIBC_2.0)[8] |iswspace(GLIBC_2.0)[8] |strrchr(GLIBC_2.0)[8] | 22039 |--------------------------+--------------------------+-----------------------| 22040 |bcopy(GLIBC_2.0)[8] |iswupper(GLIBC_2.0)[8] |strsep(GLIBC_2.0)[5] | 22041 |--------------------------+--------------------------+-----------------------| 22042 |bind(GLIBC_2.0)[7] |iswxdigit(GLIBC_2.0)[8] |strsignal(GLIBC_2.0)[5]| 22043 |--------------------------+--------------------------+-----------------------| 22044 |bind_textdomain_codeset[4]|isxdigit()[8] |strspn()[8] | 22045 |--------------------------+--------------------------+-----------------------| 22046 |bindresvport(GLIBC_2.0)[5]|jrand48(GLIBC_2.0)[8] |strstr(GLIBC_2.0)[8] | 22047 |--------------------------+--------------------------+-----------------------| 22048 |bindtextdomain(GLIBC_2.0) |key_decryptsession |strtod(GLIBC_2.0)[8] | 22049 |[4] |(GLIBC_2.0)[9] | | 22050 |--------------------------+--------------------------+-----------------------| 22051 |brk(GLIBC_2.0)[8] |kill(GLIBC_2.0)[5] |strtof(GLIBC_2.0)[2] | 22052 |--------------------------+--------------------------+-----------------------| 22053 |bsd_signal(GLIBC_2.0)[8] |killpg(GLIBC_2.0)[8] |strtoimax(GLIBC_2.0)[2]| 22054 |--------------------------+--------------------------+-----------------------| 22055 |bsearch(GLIBC_2.0)[8] |l64a(GLIBC_2.0)[8] |strtok(GLIBC_2.0)[8] | 22056 |--------------------------+--------------------------+-----------------------| 22057 |btowc(GLIBC_2.0)[8] |labs(GLIBC_2.0)[8] |strtok_r(GLIBC_2.0)[5] | 22058 |--------------------------+--------------------------+-----------------------| 22059 |bzero(GLIBC_2.0)[8] |lchown(GLIBC_2.0)[8] |strtol(GLIBC_2.0)[8] | 22060 |--------------------------+--------------------------+-----------------------| 22061 |calloc(GLIBC_2.0)[8] |lcong48(GLIBC_2.0)[8] |strtold(GLIBC_2.0)[2] | 22062 |--------------------------+--------------------------+-----------------------| 22063 |catclose(GLIBC_2.0)[8] |ldiv(GLIBC_2.0)[8] |strtoll(GLIBC_2.0)[2] | 22064 |--------------------------+--------------------------+-----------------------| 22065 |catgets(GLIBC_2.0)[8] |lfind(GLIBC_2.0)[8] |strtoq(GLIBC_2.0)[5] | 22066 |--------------------------+--------------------------+-----------------------| 22067 |catopen(GLIBC_2.0)[8] |link(GLIBC_2.0)[8] |strtoul(GLIBC_2.0)[8] | 22068 |--------------------------+--------------------------+-----------------------| 22069 |cfgetispeed(GLIBC_2.0)[8] |listen(GLIBC_2.0)[7] |strtoull(GLIBC_2.0)[2] | 22070 |--------------------------+--------------------------+-----------------------| 22071 |cfgetospeed(GLIBC_2.0)[8] |llabs(GLIBC_2.0)[2] |strtoumax(GLIBC_2.0)[2]| 22072 |--------------------------+--------------------------+-----------------------| 22073 |cfmakeraw(GLIBC_2.0)[5] |lldiv(GLIBC_2.0)[2] |strtouq(GLIBC_2.0)[5] | 22074 |--------------------------+--------------------------+-----------------------| 22075 |cfsetispeed(GLIBC_2.0)[8] |localeconv(GLIBC_2.0)[8] |strverscmp(GLIBC_2.0) | 22076 | | |[5] | 22077 |--------------------------+--------------------------+-----------------------| 22078 |cfsetospeed(GLIBC_2.0)[8] |localtime(GLIBC_2.0)[8] |strxfrm(GLIBC_2.0)[8] | 22079 |--------------------------+--------------------------+-----------------------| 22080 |cfsetspeed(GLIBC_2.0)[5] |localtime_r(GLIBC_2.0)[8] |svc_getreqset | 22081 | | |(GLIBC_2.0)[9] | 22082 |--------------------------+--------------------------+-----------------------| 22083 |chdir(GLIBC_2.0)[8] |lockf(GLIBC_2.0)[8] |svcerr_auth(GLIBC_2.0) | 22084 | | |[9] | 22085 |--------------------------+--------------------------+-----------------------| 22086 |chmod(GLIBC_2.0)[8] |lockf64(GLIBC_2.0)[3] |svcerr_decode | 22087 | | |(GLIBC_2.0)[9] | 22088 |--------------------------+--------------------------+-----------------------| 22089 |chown(GLIBC_2.1)[8] |longjmp(GLIBC_2.1)[8] |svcerr_noproc | 22090 | | |(GLIBC_2.1)[9] | 22091 |--------------------------+--------------------------+-----------------------| 22092 |chroot(GLIBC_2.0)[8] |lrand48(GLIBC_2.0)[8] |svcerr_noprog | 22093 | | |(GLIBC_2.0)[9] | 22094 |--------------------------+--------------------------+-----------------------| 22095 |clearerr(GLIBC_2.0)[8] |lsearch(GLIBC_2.0)[8] |svcerr_progvers | 22096 | | |(GLIBC_2.0)[9] | 22097 |--------------------------+--------------------------+-----------------------| 22098 |clnt_create(GLIBC_2.0)[10]|lseek(GLIBC_2.0)[8] |svcerr_systemerr | 22099 | | |(GLIBC_2.0)[9] | 22100 |--------------------------+--------------------------+-----------------------| 22101 |clnt_pcreateerror |lseek64(GLIBC_2.0)[3] |svcerr_weakauth | 22102 |(GLIBC_2.0)[10] | |(GLIBC_2.0)[9] | 22103 |--------------------------+--------------------------+-----------------------| 22104 |clnt_perrno(GLIBC_2.0)[10]|makecontext(GLIBC_2.0)[8] |swab(GLIBC_2.0)[8] | 22105 |--------------------------+--------------------------+-----------------------| 22106 |clnt_perror(GLIBC_2.0)[10]|malloc(GLIBC_2.0)[8] |swapcontext(GLIBC_2.0) | 22107 | | |[8] | 22108 |--------------------------+--------------------------+-----------------------| 22109 |clnt_spcreateerror |mblen(GLIBC_2.0)[8] |swprintf(GLIBC_2.0)[8] | 22110 |(GLIBC_2.0)[10] | | | 22111 |--------------------------+--------------------------+-----------------------| 22112 |clnt_sperrno(GLIBC_2.0) |mbrlen(GLIBC_2.0)[8] |swscanf(GLIBC_2.0)[2] | 22113 |[10] | | | 22114 |--------------------------+--------------------------+-----------------------| 22115 |clnt_sperror(GLIBC_2.0) |mbrtowc(GLIBC_2.0)[8] |symlink(GLIBC_2.0)[8] | 22116 |[10] | | | 22117 |--------------------------+--------------------------+-----------------------| 22118 |clock(GLIBC_2.0)[8] |mbsinit(GLIBC_2.0)[8] |sync(GLIBC_2.0)[8] | 22119 |--------------------------+--------------------------+-----------------------| 22120 |close(GLIBC_2.0)[8] |mbsnrtowcs(GLIBC_2.0)[5] |sysconf(GLIBC_2.0)[8] | 22121 |--------------------------+--------------------------+-----------------------| 22122 |closedir(GLIBC_2.0)[8] |mbsrtowcs(GLIBC_2.0)[8] |syslog(GLIBC_2.0)[8] | 22123 |--------------------------+--------------------------+-----------------------| 22124 |closelog(GLIBC_2.0)[8] |mbstowcs(GLIBC_2.0)[8] |system(GLIBC_2.0)[5] | 22125 |--------------------------+--------------------------+-----------------------| 22126 |confstr(GLIBC_2.0)[8] |mbtowc(GLIBC_2.0)[8] |tcdrain(GLIBC_2.0)[8] | 22127 |--------------------------+--------------------------+-----------------------| 22128 |connect(GLIBC_2.0)[7] |memccpy(GLIBC_2.0)[8] |tcflow(GLIBC_2.0)[8] | 22129 |--------------------------+--------------------------+-----------------------| 22130 |creat(GLIBC_2.0)[8] |memchr(GLIBC_2.0)[8] |tcflush(GLIBC_2.0)[8] | 22131 |--------------------------+--------------------------+-----------------------| 22132 |creat64(GLIBC_2.1)[3] |memcmp(GLIBC_2.1)[8] |tcgetattr(GLIBC_2.1)[8]| 22133 |--------------------------+--------------------------+-----------------------| 22134 |ctermid(GLIBC_2.0)[8] |memcpy(GLIBC_2.0)[8] |tcgetpgrp(GLIBC_2.0)[8]| 22135 |--------------------------+--------------------------+-----------------------| 22136 |ctime(GLIBC_2.0)[8] |memmem(GLIBC_2.0)[5] |tcgetsid(GLIBC_2.0)[8] | 22137 |--------------------------+--------------------------+-----------------------| 22138 |ctime_r(GLIBC_2.0)[8] |memmove(GLIBC_2.0)[8] |tcsendbreak(GLIBC_2.0) | 22139 | | |[8] | 22140 |--------------------------+--------------------------+-----------------------| 22141 |cuserid(GLIBC_2.0)[8] |memrchr(GLIBC_2.0)[5] |tcsetattr(GLIBC_2.0)[8]| 22142 |--------------------------+--------------------------+-----------------------| 22143 |daemon(GLIBC_2.0)[5] |memset(GLIBC_2.0)[8] |tcsetpgrp(GLIBC_2.0)[8]| 22144 |--------------------------+--------------------------+-----------------------| 22145 |dcgettext(GLIBC_2.0)[4] |mkdir(GLIBC_2.0)[8] |telldir(GLIBC_2.0)[8] | 22146 |--------------------------+--------------------------+-----------------------| 22147 |dcngettext[4] |mkfifo()[8] |tempnam()[8] | 22148 |--------------------------+--------------------------+-----------------------| 22149 |dgettext[4] |mkstemp()[8] |textdomain()[4] | 22150 |--------------------------+--------------------------+-----------------------| 22151 |difftime(GLIBC_2.0)[8] |mkstemp64(GLIBC_2.0)[3] |tfind(GLIBC_2.0)[8] | 22152 |--------------------------+--------------------------+-----------------------| 22153 |dirname(GLIBC_2.0)[8] |mktemp(GLIBC_2.0)[8] |time(GLIBC_2.0)[8] | 22154 |--------------------------+--------------------------+-----------------------| 22155 |div(GLIBC_2.0)[8] |mktime(GLIBC_2.0)[8] |times(GLIBC_2.0)[8] | 22156 |--------------------------+--------------------------+-----------------------| 22157 |dngettext[4] |mlock()[8] |tmpfile()[8] | 22158 |--------------------------+--------------------------+-----------------------| 22159 |drand48(GLIBC_2.0)[8] |mlockall(GLIBC_2.0)[8] |tmpfile64(GLIBC_2.0)[3]| 22160 |--------------------------+--------------------------+-----------------------| 22161 |dup(GLIBC_2.0)[8] |mmap(GLIBC_2.0)[8] |tmpnam(GLIBC_2.0)[8] | 22162 |--------------------------+--------------------------+-----------------------| 22163 |dup2(GLIBC_2.0)[8] |mmap64(GLIBC_2.0)[3] |toascii(GLIBC_2.0)[8] | 22164 |--------------------------+--------------------------+-----------------------| 22165 |ecvt(GLIBC_2.0)[8] |mprotect(GLIBC_2.0)[8] |tolower(GLIBC_2.0)[8] | 22166 |--------------------------+--------------------------+-----------------------| 22167 |endgrent(GLIBC_2.0)[8] |mrand48(GLIBC_2.0)[8] |toupper(GLIBC_2.0)[8] | 22168 |--------------------------+--------------------------+-----------------------| 22169 |endhostent(GLIBC_2.0)[7] |msgctl(GLIBC_2.0)[8] |towctrans(GLIBC_2.0)[8]| 22170 |--------------------------+--------------------------+-----------------------| 22171 |endnetent(GLIBC_2.0)[7] |msgget(GLIBC_2.0)[8] |towlower(GLIBC_2.0)[2] | 22172 |--------------------------+--------------------------+-----------------------| 22173 |endprotoent(GLIBC_2.0)[7] |msgrcv(GLIBC_2.0)[8] |towupper(GLIBC_2.0)[8] | 22174 |--------------------------+--------------------------+-----------------------| 22175 |endpwent(GLIBC_2.0)[8] |msgsnd(GLIBC_2.0)[8] |truncate(GLIBC_2.0)[8] | 22176 |--------------------------+--------------------------+-----------------------| 22177 |endservent(GLIBC_2.0)[7] |msync(GLIBC_2.0)[8] |truncate64(GLIBC_2.0) | 22178 | | |[3] | 22179 |--------------------------+--------------------------+-----------------------| 22180 |endutent(GLIBC_2.0)[8] |munlock(GLIBC_2.0)[8] |tsearch(GLIBC_2.0)[8] | 22181 |--------------------------+--------------------------+-----------------------| 22182 |endutxent(GLIBC_2.1)[8] |munlockall(GLIBC_2.1)[8] |ttyname(GLIBC_2.1)[8] | 22183 |--------------------------+--------------------------+-----------------------| 22184 |erand48(GLIBC_2.0)[8] |munmap(GLIBC_2.0)[8] |ttyname_r(GLIBC_2.0)[8]| 22185 |--------------------------+--------------------------+-----------------------| 22186 |err(GLIBC_2.0)[5] |nanosleep(GLIBC_2.0)[8] |twalk(GLIBC_2.0)[8] | 22187 |--------------------------+--------------------------+-----------------------| 22188 |error(GLIBC_2.0)[5] |nftw(GLIBC_2.0)[8] |tzset(GLIBC_2.0)[8] | 22189 |--------------------------+--------------------------+-----------------------| 22190 |errx(GLIBC_2.0)[5] |nftw64(GLIBC_2.0)[3] |ualarm(GLIBC_2.0)[8] | 22191 |--------------------------+--------------------------+-----------------------| 22192 |execl(GLIBC_2.0)[8] |nice(GLIBC_2.0)[8] |ulimit(GLIBC_2.0)[8] | 22193 |--------------------------+--------------------------+-----------------------| 22194 |execle(GLIBC_2.0)[8] |nl_langinfo(GLIBC_2.0)[8] |umask(GLIBC_2.0)[8] | 22195 |--------------------------+--------------------------+-----------------------| 22196 |execlp(GLIBC_2.0)[8] |nrand48(GLIBC_2.0)[8] |uname(GLIBC_2.0)[8] | 22197 |--------------------------+--------------------------+-----------------------| 22198 |execv(GLIBC_2.0)[8] |ntohl(GLIBC_2.0)[7] |ungetc(GLIBC_2.0)[8] | 22199 |--------------------------+--------------------------+-----------------------| 22200 |execve(GLIBC_2.0)[8] |ntohs(GLIBC_2.0)[7] |ungetwc(GLIBC_2.0)[2] | 22201 |--------------------------+--------------------------+-----------------------| 22202 |execvp(GLIBC_2.0)[8] |obstack_free(GLIBC_2.0)[5]|unlink(GLIBC_2.0)[5] | 22203 |--------------------------+--------------------------+-----------------------| 22204 |exit(GLIBC_2.0)[8] |open(GLIBC_2.0)[8] |unlockpt(GLIBC_2.0)[8] | 22205 |--------------------------+--------------------------+-----------------------| 22206 |fchdir(GLIBC_2.0)[8] |open64(GLIBC_2.0)[3] |unsetenv[5] | 22207 |--------------------------+--------------------------+-----------------------| 22208 |fchmod(GLIBC_2.0)[8] |opendir(GLIBC_2.0)[8] |usleep(GLIBC_2.0)[8] | 22209 |--------------------------+--------------------------+-----------------------| 22210 |fchown(GLIBC_2.0)[8] |openlog(GLIBC_2.0)[8] |utime(GLIBC_2.0)[8] | 22211 |--------------------------+--------------------------+-----------------------| 22212 |fclose(GLIBC_2.1)[8] |pathconf(GLIBC_2.1)[8] |utimes(GLIBC_2.1)[8] | 22213 |--------------------------+--------------------------+-----------------------| 22214 |fcntl(GLIBC_2.0)[8] |pause(GLIBC_2.0)[8] |vasprintf(GLIBC_2.0)[5]| 22215 |--------------------------+--------------------------+-----------------------| 22216 |fcvt(GLIBC_2.0)[8] |pclose(GLIBC_2.0)[8] |vdprintf(GLIBC_2.0)[5] | 22217 |--------------------------+--------------------------+-----------------------| 22218 |fdatasync(GLIBC_2.0)[8] |perror(GLIBC_2.0)[8] |verrx(GLIBC_2.0)[5] | 22219 |--------------------------+--------------------------+-----------------------| 22220 |fdopen(GLIBC_2.1)[8] |pipe(GLIBC_2.1)[8] |vfork(GLIBC_2.1)[8] | 22221 |--------------------------+--------------------------+-----------------------| 22222 |feof(GLIBC_2.0)[8] |poll(GLIBC_2.0)[8] |vfprintf(GLIBC_2.0)[8] | 22223 |--------------------------+--------------------------+-----------------------| 22224 |ferror(GLIBC_2.0)[8] |popen(GLIBC_2.0)[8] |vfwprintf(GLIBC_2.0)[2]| 22225 |--------------------------+--------------------------+-----------------------| 22226 |fflush(GLIBC_2.0)[8] |posix_memalign(GLIBC_2.0) |vfwscanf(GLIBC_2.0)[2] | 22227 | |[6] | | 22228 |--------------------------+--------------------------+-----------------------| 22229 |fflush_unlocked(GLIBC_2.0)|pread(GLIBC_2.0)[8] |vprintf(GLIBC_2.0)[8] | 22230 |[8] | | | 22231 |--------------------------+--------------------------+-----------------------| 22232 |ffs(GLIBC_2.0)[8] |pread64(GLIBC_2.0)[3] |vsnprintf(GLIBC_2.0)[8]| 22233 |--------------------------+--------------------------+-----------------------| 22234 |fgetc(GLIBC_2.0)[8] |printf(GLIBC_2.0)[8] |vsprintf(GLIBC_2.0)[8] | 22235 |--------------------------+--------------------------+-----------------------| 22236 |fgetpos(GLIBC_2.0)[8] |psignal(GLIBC_2.0)[5] |vswprintf(GLIBC_2.0)[2]| 22237 |--------------------------+--------------------------+-----------------------| 22238 |fgetpos64(GLIBC_2.1)[3] |ptsname(GLIBC_2.1)[8] |vswscanf(GLIBC_2.1)[2] | 22239 |--------------------------+--------------------------+-----------------------| 22240 |fgets(GLIBC_2.0)[8] |putc(GLIBC_2.0)[8] |vsyslog[5] | 22241 |--------------------------+--------------------------+-----------------------| 22242 |fgetwc(GLIBC_2.2)[8] |putc_unlocked(GLIBC_2.2) |vwprintf(GLIBC_2.2)[2] | 22243 | |[8] | | 22244 |--------------------------+--------------------------+-----------------------| 22245 |fgetwc_unlocked(GLIBC_2.2)|putchar(GLIBC_2.2)[8] |vwscanf(GLIBC_2.2)[2] | 22246 |[8] | | | 22247 |--------------------------+--------------------------+-----------------------| 22248 |fgetws(GLIBC_2.2)[2] |putchar_unlocked |wait(GLIBC_2.2)[8] | 22249 | |(GLIBC_2.2)[8] | | 22250 |--------------------------+--------------------------+-----------------------| 22251 |fileno(GLIBC_2.0)[8] |putenv(GLIBC_2.0)[8] |wait3(GLIBC_2.0)[8] | 22252 |--------------------------+--------------------------+-----------------------| 22253 |flock(GLIBC_2.0)[5] |puts(GLIBC_2.0)[8] |wait4(GLIBC_2.0)[5] | 22254 |--------------------------+--------------------------+-----------------------| 22255 |flockfile(GLIBC_2.0)[8] |pututxline(GLIBC_2.0)[8] |waitid(GLIBC_2.0)[8] | 22256 |--------------------------+--------------------------+-----------------------| 22257 |fmtmsg(GLIBC_2.1)[8] |putw(GLIBC_2.1)[8] |waitpid(GLIBC_2.1)[8] | 22258 |--------------------------+--------------------------+-----------------------| 22259 |fnmatch(GLIBC_2.2.3)[8] |putwc(GLIBC_2.2.3)[2] |warn(GLIBC_2.2.3)[5] | 22260 |--------------------------+--------------------------+-----------------------| 22261 |fopen(GLIBC_2.1)[8] |putwchar(GLIBC_2.1)[2] |warnx(GLIBC_2.1)[5] | 22262 |--------------------------+--------------------------+-----------------------| 22263 |fopen64(GLIBC_2.1)[3] |pwrite(GLIBC_2.1)[8] |wcpcpy(GLIBC_2.1)[5] | 22264 |--------------------------+--------------------------+-----------------------| 22265 |fork(GLIBC_2.0)[8] |pwrite64(GLIBC_2.0)[3] |wcpncpy(GLIBC_2.0)[5] | 22266 |--------------------------+--------------------------+-----------------------| 22267 |fpathconf(GLIBC_2.0)[8] |qsort(GLIBC_2.0)[8] |wcrtomb(GLIBC_2.0)[8] | 22268 |--------------------------+--------------------------+-----------------------| 22269 |fprintf(GLIBC_2.0)[8] |raise(GLIBC_2.0)[8] |wcscasecmp(GLIBC_2.0) | 22270 | | |[5] | 22271 |--------------------------+--------------------------+-----------------------| 22272 |fputc(GLIBC_2.0)[8] |rand(GLIBC_2.0)[8] |wcscat(GLIBC_2.0)[8] | 22273 |--------------------------+--------------------------+-----------------------| 22274 |fputs(GLIBC_2.0)[8] |rand_r(GLIBC_2.0)[8] |wcschr(GLIBC_2.0)[8] | 22275 |--------------------------+--------------------------+-----------------------| 22276 |fputwc(GLIBC_2.2)[2] |random(GLIBC_2.2)[8] |wcscmp(GLIBC_2.2)[8] | 22277 |--------------------------+--------------------------+-----------------------| 22278 |fputws(GLIBC_2.2)[2] |random_r(GLIBC_2.2)[5] |wcscoll(GLIBC_2.2)[8] | 22279 |--------------------------+--------------------------+-----------------------| 22280 |fread(GLIBC_2.0)[8] |re_comp(GLIBC_2.0)[8] |wcscpy(GLIBC_2.0)[8] | 22281 |--------------------------+--------------------------+-----------------------| 22282 |free(GLIBC_2.0)[8] |re_exec(GLIBC_2.0)[8] |wcscspn(GLIBC_2.0)[8] | 22283 |--------------------------+--------------------------+-----------------------| 22284 |freopen(GLIBC_2.0)[8] |read(GLIBC_2.0)[8] |wcsdup(GLIBC_2.0)[5] | 22285 |--------------------------+--------------------------+-----------------------| 22286 |freopen64(GLIBC_2.1)[3] |readdir(GLIBC_2.1)[8] |wcsftime(GLIBC_2.1)[2] | 22287 |--------------------------+--------------------------+-----------------------| 22288 |fscanf(GLIBC_2.0)[8] |readdir64(GLIBC_2.0)[3] |wcslen(GLIBC_2.0)[8] | 22289 |--------------------------+--------------------------+-----------------------| 22290 |fseek(GLIBC_2.0)[8] |readdir_r[8] |wcsncasecmp(GLIBC_2.0) | 22291 | | |[5] | 22292 |--------------------------+--------------------------+-----------------------| 22293 |fseeko(GLIBC_2.1)[8] |readlink(GLIBC_2.1)[8] |wcsncat(GLIBC_2.1)[8] | 22294 |--------------------------+--------------------------+-----------------------| 22295 |fseeko64(GLIBC_2.1)[3] |readv(GLIBC_2.1)[8] |wcsncmp(GLIBC_2.1)[8] | 22296 |--------------------------+--------------------------+-----------------------| 22297 |fsetpos(GLIBC_2.0)[8] |realloc(GLIBC_2.0)[8] |wcsncpy(GLIBC_2.0)[8] | 22298 |--------------------------+--------------------------+-----------------------| 22299 |fsetpos64(GLIBC_2.1)[3] |realpath(GLIBC_2.1)[8] |wcsnlen(GLIBC_2.1)[5] | 22300 |--------------------------+--------------------------+-----------------------| 22301 |fstatfs(GLIBC_2.0)[5] |recv(GLIBC_2.0)[7] |wcsnrtombs(GLIBC_2.0) | 22302 | | |[5] | 22303 |--------------------------+--------------------------+-----------------------| 22304 |fstatfs64(GLIBC_2.1)[3] |recvfrom(GLIBC_2.1)[7] |wcspbrk(GLIBC_2.1)[2] | 22305 |--------------------------+--------------------------+-----------------------| 22306 |fstatvfs(GLIBC_2.1)[8] |recvmsg(GLIBC_2.1)[7] |wcsrchr(GLIBC_2.1)[8] | 22307 |--------------------------+--------------------------+-----------------------| 22308 |fstatvfs64(GLIBC_2.1)[3] |regcomp(GLIBC_2.1)[8] |wcsrtombs(GLIBC_2.1)[8]| 22309 |--------------------------+--------------------------+-----------------------| 22310 |fsync(GLIBC_2.0)[8] |regerror(GLIBC_2.0)[8] |wcsspn(GLIBC_2.0)[8] | 22311 |--------------------------+--------------------------+-----------------------| 22312 |ftell(GLIBC_2.0)[8] |regexec(GLIBC_2.0)[8] |wcsstr(GLIBC_2.0)[8] | 22313 |--------------------------+--------------------------+-----------------------| 22314 |ftello(GLIBC_2.1)[8] |regfree(GLIBC_2.1)[8] |wcstod(GLIBC_2.1)[8] | 22315 |--------------------------+--------------------------+-----------------------| 22316 |ftello64(GLIBC_2.1)[3] |remove(GLIBC_2.1)[8] |wcstof(GLIBC_2.1)[2] | 22317 |--------------------------+--------------------------+-----------------------| 22318 |ftime(GLIBC_2.0)[8] |remque(GLIBC_2.0)[8] |wcstoimax(GLIBC_2.0)[2]| 22319 |--------------------------+--------------------------+-----------------------| 22320 |ftok(GLIBC_2.0)[8] |rename(GLIBC_2.0)[8] |wcstok(GLIBC_2.0)[8] | 22321 |--------------------------+--------------------------+-----------------------| 22322 |ftruncate(GLIBC_2.0)[8] |rewind(GLIBC_2.0)[8] |wcstol(GLIBC_2.0)[8] | 22323 |--------------------------+--------------------------+-----------------------| 22324 |ftruncate64(GLIBC_2.1)[3] |rewinddir(GLIBC_2.1)[8] |wcstold(GLIBC_2.1)[2] | 22325 |--------------------------+--------------------------+-----------------------| 22326 |ftrylockfile(GLIBC_2.0)[8]|rindex(GLIBC_2.0)[8] |wcstoll(GLIBC_2.0)[2] | 22327 |--------------------------+--------------------------+-----------------------| 22328 |ftw(GLIBC_2.0)[8] |rmdir(GLIBC_2.0)[8] |wcstombs(GLIBC_2.0)[8] | 22329 |--------------------------+--------------------------+-----------------------| 22330 |ftw64(GLIBC_2.1)[3] |sbrk(GLIBC_2.1)[8] |wcstoq(GLIBC_2.1)[5] | 22331 |--------------------------+--------------------------+-----------------------| 22332 |funlockfile(GLIBC_2.0)[8] |scanf(GLIBC_2.0)[8] |wcstoul(GLIBC_2.0)[8] | 22333 |--------------------------+--------------------------+-----------------------| 22334 |fwide(GLIBC_2.2)[2] |sched_get_priority_max |wcstoull(GLIBC_2.2)[2] | 22335 | |(GLIBC_2.2)[8] | | 22336 |--------------------------+--------------------------+-----------------------| 22337 |fwprintf(GLIBC_2.2)[5] |sched_get_priority_min |wcstoumax(GLIBC_2.2)[2]| 22338 | |(GLIBC_2.2)[8] | | 22339 |--------------------------+--------------------------+-----------------------| 22340 |fwrite(GLIBC_2.0)[8] |sched_getparam(GLIBC_2.0) |wcstouq(GLIBC_2.0)[5] | 22341 | |[8] | | 22342 |--------------------------+--------------------------+-----------------------| 22343 |fwscanf(GLIBC_2.2)[2] |sched_getscheduler |wcswcs(GLIBC_2.2)[8] | 22344 | |(GLIBC_2.2)[8] | | 22345 |--------------------------+--------------------------+-----------------------| 22346 |gcvt(GLIBC_2.0)[8] |sched_rr_get_interval |wcswidth(GLIBC_2.0)[8] | 22347 | |(GLIBC_2.0)[8] | | 22348 |--------------------------+--------------------------+-----------------------| 22349 |getc(GLIBC_2.0)[8] |sched_setparam(GLIBC_2.0) |wcsxfrm(GLIBC_2.0)[8] | 22350 | |[8] | | 22351 |--------------------------+--------------------------+-----------------------| 22352 |getc_unlocked(GLIBC_2.0) |sched_setscheduler |wctob(GLIBC_2.0)[8] | 22353 |[8] |(GLIBC_2.0)[8] | | 22354 |--------------------------+--------------------------+-----------------------| 22355 |getchar(GLIBC_2.0)[8] |sched_yield(GLIBC_2.0)[8] |wctomb(GLIBC_2.0)[8] | 22356 |--------------------------+--------------------------+-----------------------| 22357 |getchar_unlocked |seed48(GLIBC_2.0)[8] |wctrans(GLIBC_2.0)[8] | 22358 |(GLIBC_2.0)[8] | | | 22359 |--------------------------+--------------------------+-----------------------| 22360 |getcontext(GLIBC_2.1)[8] |seekdir(GLIBC_2.1)[8] |wctype(GLIBC_2.1)[8] | 22361 |--------------------------+--------------------------+-----------------------| 22362 |getcwd(GLIBC_2.0)[8] |select(GLIBC_2.0)[7] |wcwidth(GLIBC_2.0)[8] | 22363 |--------------------------+--------------------------+-----------------------| 22364 |getdate(GLIBC_2.1)[8] |semctl(GLIBC_2.1)[8] |wmemchr(GLIBC_2.1)[8] | 22365 |--------------------------+--------------------------+-----------------------| 22366 |getdomainname(GLIBC_2.0) |semget(GLIBC_2.0)[8] |wmemcmp(GLIBC_2.0)[8] | 22367 |[5] | | | 22368 |--------------------------+--------------------------+-----------------------| 22369 |getegid(GLIBC_2.0)[8] |semop(GLIBC_2.0)[8] |wmemcpy(GLIBC_2.0)[8] | 22370 |--------------------------+--------------------------+-----------------------| 22371 |getenv(GLIBC_2.0)[8] |send(GLIBC_2.0)[7] |wmemmove(GLIBC_2.0)[8] | 22372 |--------------------------+--------------------------+-----------------------| 22373 |geteuid(GLIBC_2.0)[8] |sendmsg(GLIBC_2.0)[7] |wmemset(GLIBC_2.0)[8] | 22374 |--------------------------+--------------------------+-----------------------| 22375 |getgid(GLIBC_2.0)[8] |sendto(GLIBC_2.0)[7] |wordexp(GLIBC_2.0)[8] | 22376 |--------------------------+--------------------------+-----------------------| 22377 |getgrent(GLIBC_2.0)[8] |setbuf(GLIBC_2.0)[8] |wordfree(GLIBC_2.0)[8] | 22378 |--------------------------+--------------------------+-----------------------| 22379 |getgrgid(GLIBC_2.0)[8] |setbuffer(GLIBC_2.0)[5] |wprintf(GLIBC_2.0)[2] | 22380 |--------------------------+--------------------------+-----------------------| 22381 |getgrnam(GLIBC_2.0)[8] |setcontext(GLIBC_2.0)[8] |write(GLIBC_2.0)[8] | 22382 |--------------------------+--------------------------+-----------------------| 22383 |getgroups(GLIBC_2.0)[8] |setdomainname[5] |writev(GLIBC_2.0)[8] | 22384 |--------------------------+--------------------------+-----------------------| 22385 |gethostbyaddr(GLIBC_2.0) |setegid(GLIBC_2.0)[5] |wscanf(GLIBC_2.0)[2] | 22386 |[7] | | | 22387 |--------------------------+--------------------------+-----------------------| 22388 |gethostbyname(GLIBC_2.0) |setenv[5] |xdr_accepted_reply | 22389 |[5] | |(GLIBC_2.0)[9] | 22390 |--------------------------+--------------------------+-----------------------| 22391 |gethostbyname_r |seteuid(GLIBC_2.1.2)[5] |xdr_array(GLIBC_2.1.2) | 22392 |(GLIBC_2.1.2)[5] | |[9] | 22393 |--------------------------+--------------------------+-----------------------| 22394 |gethostid(GLIBC_2.0)[8] |setgid(GLIBC_2.0)[8] |xdr_bool(GLIBC_2.0)[9] | 22395 |--------------------------+--------------------------+-----------------------| 22396 |gethostname(GLIBC_2.0)[7] |setgrent(GLIBC_2.0)[8] |xdr_bytes(GLIBC_2.0)[9]| 22397 |--------------------------+--------------------------+-----------------------| 22398 |getitimer(GLIBC_2.0)[8] |setgroups(GLIBC_2.0)[5] |xdr_callhdr(GLIBC_2.0) | 22399 | | |[9] | 22400 |--------------------------+--------------------------+-----------------------| 22401 |getloadavg(GLIBC_2.2)[5] |sethostent(GLIBC_2.2)[7] |xdr_callmsg(GLIBC_2.2) | 22402 | | |[9] | 22403 |--------------------------+--------------------------+-----------------------| 22404 |getlogin(GLIBC_2.0)[8] |sethostid(GLIBC_2.0)[5] |xdr_char(GLIBC_2.0)[9] | 22405 |--------------------------+--------------------------+-----------------------| 22406 |getnetbyaddr(GLIBC_2.0)[7]|sethostname(GLIBC_2.0)[5] |xdr_double(GLIBC_2.0) | 22407 | | |[9] | 22408 |--------------------------+--------------------------+-----------------------| 22409 |getopt(GLIBC_2.0)[5] |setitimer(GLIBC_2.0)[8] |xdr_enum(GLIBC_2.0)[9] | 22410 |--------------------------+--------------------------+-----------------------| 22411 |getopt_long(GLIBC_2.0)[5] |setlocale(GLIBC_2.0)[8] |xdr_float(GLIBC_2.0)[9]| 22412 |--------------------------+--------------------------+-----------------------| 22413 |getopt_long_only |setlogmask(GLIBC_2.0)[8] |xdr_free(GLIBC_2.0)[9] | 22414 |(GLIBC_2.0)[5] | | | 22415 |--------------------------+--------------------------+-----------------------| 22416 |getpagesize(GLIBC_2.0)[8] |setmntent(GLIBC_2.0)[5] |xdr_int(GLIBC_2.0)[9] | 22417 |--------------------------+--------------------------+-----------------------| 22418 |getpeername(GLIBC_2.0)[7] |setnetent(GLIBC_2.0)[7] |xdr_long(GLIBC_2.0)[9] | 22419 |--------------------------+--------------------------+-----------------------| 22420 |getpgid(GLIBC_2.0)[8] |setpgid(GLIBC_2.0)[8] |xdr_opaque(GLIBC_2.0) | 22421 | | |[9] | 22422 |--------------------------+--------------------------+-----------------------| 22423 |getpgrp(GLIBC_2.0)[8] |setpgrp(GLIBC_2.0)[8] |xdr_opaque_auth | 22424 | | |(GLIBC_2.0)[9] | 22425 |--------------------------+--------------------------+-----------------------| 22426 |getpid(GLIBC_2.0)[8] |setpriority(GLIBC_2.0)[8] |xdr_pointer(GLIBC_2.0) | 22427 | | |[9] | 22428 |--------------------------+--------------------------+-----------------------| 22429 |getppid(GLIBC_2.0)[8] |setprotoent(GLIBC_2.0)[7] |xdr_reference | 22430 | | |(GLIBC_2.0)[9] | 22431 |--------------------------+--------------------------+-----------------------| 22432 |getpriority(GLIBC_2.0)[8] |setpwent(GLIBC_2.0)[8] |xdr_rejected_reply | 22433 | | |(GLIBC_2.0)[9] | 22434 |--------------------------+--------------------------+-----------------------| 22435 |getprotobyname(GLIBC_2.0) |setregid(GLIBC_2.0)[8] |xdr_replymsg(GLIBC_2.0)| 22436 |[5] | |[9] | 22437 |--------------------------+--------------------------+-----------------------| 22438 |getprotobynumber |setreuid(GLIBC_2.0)[8] |xdr_short(GLIBC_2.0)[9]| 22439 |(GLIBC_2.0)[7] | | | 22440 |--------------------------+--------------------------+-----------------------| 22441 |getprotoent(GLIBC_2.0)[5] |setrlimit(GLIBC_2.0)[8] |xdr_string(GLIBC_2.0) | 22442 | | |[9] | 22443 |--------------------------+--------------------------+-----------------------| 22444 |getpwent(GLIBC_2.0)[8] |setrlimit64[3] |xdr_u_char(GLIBC_2.0) | 22445 | | |[9] | 22446 |--------------------------+--------------------------+-----------------------| 22447 |getpwnam(GLIBC_2.0)[8] |setservent(GLIBC_2.0)[7] |xdr_u_long(GLIBC_2.0) | 22448 | | |[9] | 22449 |--------------------------+--------------------------+-----------------------| 22450 |getpwnam_r(GLIBC_2.0)[5] |setsid(GLIBC_2.0)[8] |xdr_u_short(GLIBC_2.0) | 22451 | | |[9] | 22452 |--------------------------+--------------------------+-----------------------| 22453 |getpwuid(GLIBC_2.0)[8] |setsockopt(GLIBC_2.0)[7] |xdr_union(GLIBC_2.0)[9]| 22454 |--------------------------+--------------------------+-----------------------| 22455 |getpwuid_r(GLIBC_2.0)[8] |setstate(GLIBC_2.0)[8] |xdr_vector(GLIBC_2.0) | 22456 | | |[9] | 22457 |--------------------------+--------------------------+-----------------------| 22458 |getrlimit(GLIBC_2.2)[8] |setuid(GLIBC_2.2)[8] |xdr_void(GLIBC_2.2)[9] | 22459 |--------------------------+--------------------------+-----------------------| 22460 |getrlimit64(GLIBC_2.1)[3] |setutent(GLIBC_2.1)[5] |xdr_wrapstring | 22461 | | |(GLIBC_2.1)[9] | 22462 |--------------------------+--------------------------+-----------------------| 22463 |getrusage(GLIBC_2.0)[8] |setutxent(GLIBC_2.0)[8] |xdrmem_create | 22464 | | |(GLIBC_2.0)[9] | 22465 |--------------------------+--------------------------+-----------------------| 22466 |gets(GLIBC_2.0)[8] |setvbuf(GLIBC_2.0)[8] |xdrrec_create | 22467 | | |(GLIBC_2.0)[9] | 22468 |--------------------------+--------------------------+-----------------------| 22469 |getservbyname(GLIBC_2.0) |shmat(GLIBC_2.0)[8] |xdrrec_eof(GLIBC_2.0) | 22470 |[5] | |[9] | 22471 +-----------------------------------------------------------------------------+ 22472 22473 Table A-17. libc Data Interfaces 22474 22475 +------------------------------------------------+ 22476 |__ctype_tolower[5]|__environ[5] |_sys_errlist[5]| 22477 |------------------+-------------+---------------| 22478 |__daylight[5] |__timezone[5]| | 22479 +------------------------------------------------+ 22480 ------------------------------------------------------------------------------- 22481 22482 libpthread 22483 22484 The behaviour of the interfaces in this library is specified by the following 22485 Standards. 22486 22487 Linux Standard Base 22488 CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 22489 (ISBN: 1-85912-181-0, C606) 22490 22491 Table A-18. libpthread Function Interfaces 22492 22493 +---------------------------------------------------------------------------------------+ 22494 |pthread_attr_destroy |pthread_create(GLIBC_2.0) |pthread_rwlock_tryrdlock | 22495 |(GLIBC_2.0)[18] |[18] |(GLIBC_2.0)[18] | 22496 |----------------------------+----------------------------+-----------------------------| 22497 |pthread_attr_getdetachstate |pthread_detach(GLIBC_2.0) |pthread_rwlock_trywrlock | 22498 |(GLIBC_2.0)[18] |[18] |(GLIBC_2.0)[18] | 22499 |----------------------------+----------------------------+-----------------------------| 22500 |pthread_attr_getguardsize |pthread_equal(GLIBC_2.1)[18]|pthread_rwlock_unlock | 22501 |(GLIBC_2.1)[18] | |(GLIBC_2.1)[18] | 22502 |----------------------------+----------------------------+-----------------------------| 22503 |pthread_attr_getinheritsched|pthread_exit(GLIBC_2.0)[18] |pthread_rwlock_wrlock | 22504 |(GLIBC_2.0)[18] | |(GLIBC_2.0)[18] | 22505 |----------------------------+----------------------------+-----------------------------| 22506 |pthread_attr_getschedparam |pthread_getschedparam |pthread_rwlockattr_destroy | 22507 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] | 22508 |----------------------------+----------------------------+-----------------------------| 22509 |pthread_attr_getschedpolicy |pthread_getspecific |pthread_rwlockattr_getpshared| 22510 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] | 22511 |----------------------------+----------------------------+-----------------------------| 22512 |pthread_attr_getscope |pthread_join(GLIBC_2.0)[18] |pthread_rwlockattr_init | 22513 |(GLIBC_2.0)[18] | |(GLIBC_2.0)[18] | 22514 |----------------------------+----------------------------+-----------------------------| 22515 |pthread_attr_getstackaddr |pthread_key_create |pthread_rwlockattr_setpshared| 22516 |(GLIBC_2.1)[18] |(GLIBC_2.1)[18] |(GLIBC_2.1)[18] | 22517 |----------------------------+----------------------------+-----------------------------| 22518 |pthread_attr_getstacksize |pthread_key_delete |pthread_self(GLIBC_2.1)[18] | 22519 |(GLIBC_2.1)[18] |(GLIBC_2.1)[18] | | 22520 |----------------------------+----------------------------+-----------------------------| 22521 |pthread_attr_init(GLIBC_2.1)|pthread_kill(GLIBC_2.1)[18] |pthread_setcancelstate | 22522 |[18] | |(GLIBC_2.1)[18] | 22523 |----------------------------+----------------------------+-----------------------------| 22524 |pthread_attr_setdetachstate |pthread_mutex_destroy |pthread_setcanceltype | 22525 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] | 22526 |----------------------------+----------------------------+-----------------------------| 22527 |pthread_attr_setguardsize |pthread_mutex_init |pthread_setconcurrency[18] | 22528 |(GLIBC_2.1)[18] |(GLIBC_2.1)[18] | | 22529 |----------------------------+----------------------------+-----------------------------| 22530 |pthread_attr_setinheritsched|pthread_mutex_lock |pthread_setschedparam | 22531 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] | 22532 |----------------------------+----------------------------+-----------------------------| 22533 |pthread_attr_setschedparam |pthread_mutex_trylock |pthread_setspecific | 22534 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] | 22535 |----------------------------+----------------------------+-----------------------------| 22536 |pthread_attr_setschedpolicy |pthread_mutex_unlock |pthread_sigmask(GLIBC_2.0) | 22537 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] |[18] | 22538 |----------------------------+----------------------------+-----------------------------| 22539 |pthread_attr_setscope |pthread_mutexattr_destroy |pthread_testcancel(GLIBC_2.0)| 22540 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] |[18] | 22541 |----------------------------+----------------------------+-----------------------------| 22542 |pthread_attr_setstackaddr |pthread_mutexattr_getpshared|sem_close(GLIBC_2.1)[18] | 22543 |(GLIBC_2.1)[18] |(GLIBC_2.1)[18] | | 22544 |----------------------------+----------------------------+-----------------------------| 22545 |pthread_attr_setstacksize |pthread_mutexattr_gettype |sem_destroy(GLIBC_2.1)[18] | 22546 |(GLIBC_2.1)[18] |(GLIBC_2.1)[18] | | 22547 |----------------------------+----------------------------+-----------------------------| 22548 |pthread_cancel(GLIBC_2.0) |pthread_mutexattr_init |sem_getvalue(GLIBC_2.0)[18] | 22549 |[18] |(GLIBC_2.0)[18] | | 22550 |----------------------------+----------------------------+-----------------------------| 22551 |pthread_cond_broadcast |pthread_mutexattr_setpshared|sem_init(GLIBC_2.0)[18] | 22552 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] | | 22553 |----------------------------+----------------------------+-----------------------------| 22554 |pthread_cond_destroy |pthread_mutexattr_settype |sem_open(GLIBC_2.0)[18] | 22555 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] | | 22556 |----------------------------+----------------------------+-----------------------------| 22557 |pthread_cond_init(GLIBC_2.0)|pthread_once(GLIBC_2.0)[18] |sem_post(GLIBC_2.0)[18] | 22558 |[18] | | | 22559 |----------------------------+----------------------------+-----------------------------| 22560 |pthread_cond_signal |pthread_rwlock_destroy |sem_timedwait(GLIBC_2.0)[17] | 22561 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] | | 22562 |----------------------------+----------------------------+-----------------------------| 22563 |pthread_cond_timedwait |pthread_rwlock_init |sem_trywait(GLIBC_2.0)[18] | 22564 |(GLIBC_2.0)[18] |(GLIBC_2.0)[18] | | 22565 |----------------------------+----------------------------+-----------------------------| 22566 |pthread_cond_wait(GLIBC_2.0)|pthread_rwlock_rdlock |sem_unlink(GLIBC_2.0)[18] | 22567 |[18] |(GLIBC_2.0)[18] | | 22568 |----------------------------+----------------------------+-----------------------------| 22569 |pthread_condattr_destroy |pthread_rwlock_timedrdlock |sem_wait(GLIBC_2.0)[18] | 22570 |(GLIBC_2.0)[18] |[18] | | 22571 |----------------------------+----------------------------+-----------------------------| 22572 |pthread_condattr_init |pthread_rwlock_timedwrlock | | 22573 |(GLIBC_2.0)[18] |[18] | | 22574 +---------------------------------------------------------------------------------------+ 22575 ------------------------------------------------------------------------------- 22576 22577 Appendix B. GNU Free Documentation License 22578 22579 Version 1.1, March 2000 22580 22581 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 22582 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute 22583 verbatim copies of this license document, but changing it is not allowed. 22584 22585 ------------------------------------------------------------------------------- 22586 22587 PREAMBLE 22588 22589 The purpose of this License is to make a manual, textbook, or other written 22590 document "free" in the sense of freedom: to assure everyone the effective 22591 freedom to copy and redistribute it, with or without modifying it, either 22592 commercially or noncommercially. Secondarily, this License preserves for the 22593 author and publisher a way to get credit for their work, while not being 22594 considered responsible for modifications made by others. 22595 22596 This License is a kind of "copyleft", which means that derivative works of the 22597 document must themselves be free in the same sense. It complements the GNU 22598 General Public License, which is a copyleft license designed for free software. 22599 22600 We have designed this License in order to use it for manuals for free software, 22601 because free software needs free documentation: a free program should come with 22602 manuals providing the same freedoms that the software does. But this License is 22603 not limited to software manuals; it can be used for any textual work, 22604 regardless of subject matter or whether it is published as a printed book. We 22605 recommend this License principally for works whose purpose is instruction or 22606 reference. 22607 22608 ------------------------------------------------------------------------------- 22609 22610 APPLICABILITY AND DEFINITIONS 22611 22612 This License applies to any manual or other work that contains a notice placed 22613 by the copyright holder saying it can be distributed under the terms of this 22614 License. The "Document", below, refers to any such manual or work. Any member 22615 of the public is a licensee, and is addressed as "you". 22616 22617 A "Modified Version" of the Document means any work containing the Document or 22618 a portion of it, either copied verbatim, or with modifications and/or 22619 translated into another language. 22620 22621 A "Secondary Section" is a named appendix or a front-matter section of the 22622 Document that deals exclusively with the relationship of the publishers or 22623 authors of the Document to the Document's overall subject (or to related 22624 matters) and contains nothing that could fall directly within that overall 22625 subject. (For example, if the Document is in part a textbook of mathematics, a 22626 Secondary Section may not explain any mathematics.) The relationship could be a 22627 matter of historical connection with the subject or with related matters, or of 22628 legal, commercial, philosophical, ethical or political position regarding them. 22629 22630 The "Invariant Sections" are certain Secondary Sections whose titles are 22631 designated, as being those of Invariant Sections, in the notice that says that 22632 the Document is released under this License. 22633 22634 The "Cover Texts" are certain short passages of text that are listed, as 22635 Front-Cover Texts or Back-Cover Texts, in the notice that says that the 22636 Document is released under this License. 22637 22638 A "Transparent" copy of the Document means a machine-readable copy, represented 22639 in a format whose specification is available to the general public, whose 22640 contents can be viewed and edited directly and straightforwardly with generic 22641 text editors or (for images composed of pixels) generic paint programs or (for 22642 drawings) some widely available drawing editor, and that is suitable for input 22643 to text formatters or for automatic translation to a variety of formats 22644 suitable for input to text formatters. A copy made in an otherwise Transparent 22645 file format whose markup has been designed to thwart or discourage subsequent 22646 modification by readers is not Transparent. A copy that is not "Transparent" is 22647 called "Opaque". 22648 22649 Examples of suitable formats for Transparent copies include plain ASCII without 22650 markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly 22651 available DTD, and standard-conforming simple HTML designed for human 22652 modification. Opaque formats include PostScript, PDF, proprietary formats that 22653 can be read and edited only by proprietary word processors, SGML or XML for 22654 which the DTD and/or processing tools are not generally available, and the 22655 machine-generated HTML produced by some word processors for output purposes 22656 only. 22657 22658 The "Title Page" means, for a printed book, the title page itself, plus such 22659 following pages as are needed to hold, legibly, the material this License 22660 requires to appear in the title page. For works in formats which do not have 22661 any title page as such, "Title Page" means the text near the most prominent 22662 appearance of the work's title, preceding the beginning of the body of the 22663 text. 22664 22665 ------------------------------------------------------------------------------- 22666 22667 VERBATIM COPYING 22668 22669 You may copy and distribute the Document in any medium, either commercially or 22670 noncommercially, provided that this License, the copyright notices, and the 22671 license notice saying this License applies to the Document are reproduced in 22672 all copies, and that you add no other conditions whatsoever to those of this 22673 License. You may not use technical measures to obstruct or control the reading 22674 or further copying of the copies you make or distribute. However, you may 22675 accept compensation in exchange for copies. If you distribute a large enough 22676 number of copies you must also follow the conditions in section 3. 22677 22678 You may also lend copies, under the same conditions stated above, and you may 22679 publicly display copies. 22680 22681 ------------------------------------------------------------------------------- 22682 22683 COPYING IN QUANTITY 22684 22685 If you publish printed copies of the Document numbering more than 100, and the 22686 Document's license notice requires Cover Texts, you must enclose the copies in 22687 covers that carry, clearly and legibly, all these Cover Texts: Front-Cover 22688 Texts on the front cover, and Back-Cover Texts on the back cover. Both covers 22689 must also clearly and legibly identify you as the publisher of these copies. 22690 The front cover must present the full title with all words of the title equally 22691 prominent and visible. You may add other material on the covers in addition. 22692 Copying with changes limited to the covers, as long as they preserve the title 22693 of the Document and satisfy these conditions, can be treated as verbatim 22694 copying in other respects. 22695 22696 If the required texts for either cover are too voluminous to fit legibly, you 22697 should put the first ones listed (as many as fit reasonably) on the actual 22698 cover, and continue the rest onto adjacent pages. 22699 22700 If you publish or distribute Opaque copies of the Document numbering more than 22701 100, you must either include a machine-readable Transparent copy along with 22702 each Opaque copy, or state in or with each Opaque copy a publicly-accessible 22703 computer-network location containing a complete Transparent copy of the 22704 Document, free of added material, which the general network-using public has 22705 access to download anonymously at no charge using public-standard network 22706 protocols. If you use the latter option, you must take reasonably prudent 22707 steps, when you begin distribution of Opaque copies in quantity, to ensure that 22708 this Transparent copy will remain thus accessible at the stated location until 22709 at least one year after the last time you distribute an Opaque copy (directly 22710 or through your agents or retailers) of that edition to the public. 22711 22712 It is requested, but not required, that you contact the authors of the Document 22713 well before redistributing any large number of copies, to give them a chance to 22714 provide you with an updated version of the Document. 22715 22716 ------------------------------------------------------------------------------- 22717 22718 MODIFICATIONS 22719 22720 You may copy and distribute a Modified Version of the Document under the 22721 conditions of sections 2 and 3 above, provided that you release the Modified 22722 Version under precisely this License, with the Modified Version filling the 22723 role of the Document, thus licensing distribution and modification of the 22724 Modified Version to whoever possesses a copy of it. In addition, you must do 22725 these things in the Modified Version: 22726 22727 A. Use in the Title Page (and on the covers, if any) a title distinct from 22728 that of the Document, and from those of previous versions (which should, if 22729 there were any, be listed in the History section of the Document). You may 22730 use the same title as a previous version if the original publisher of that 22731 version gives permission. 22732 22733 B. List on the Title Page, as authors, one or more persons or entities 22734 responsible for authorship of the modifications in the Modified Version, 22735 together with at least five of the principal authors of the Document (all 22736 of its principal authors, if it has less than five). 22737 22738 C. State on the Title page the name of the publisher of the Modified Version, 22739 as the publisher. 22740 22741 D. Preserve all the copyright notices of the Document. 22742 22743 E. Add an appropriate copyright notice for your modifications adjacent to the 22744 other copyright notices. 22745 22746 F. Include, immediately after the copyright notices, a license notice giving 22747 the public permission to use the Modified Version under the terms of this 22748 License, in the form shown in the Addendum below. 22749 22750 G. Preserve in that license notice the full lists of Invariant Sections and 22751 required Cover Texts given in the Document's license notice. 22752 22753 H. Include an unaltered copy of this License. 22754 22755 I. Preserve the section entitled "History", and its title, and add to it an 22756 item stating at least the title, year, new authors, and publisher of the 22757 Modified Version as given on the Title Page. If there is no section 22758 entitled "History" in the Document, create one stating the title, year, 22759 authors, and publisher of the Document as given on its Title Page, then add 22760 an item describing the Modified Version as stated in the previous sentence. 22761 22762 J. Preserve the network location, if any, given in the Document for public 22763 access to a Transparent copy of the Document, and likewise the network 22764 locations given in the Document for previous versions it was based on. 22765 These may be placed in the "History" section. You may omit a network 22766 location for a work that was published at least four years before the 22767 Document itself, or if the original publisher of the version it refers to 22768 gives permission. 22769 22770 K. In any section entitled "Acknowledgements" or "Dedications", preserve the 22771 section's title, and preserve in the section all the substance and tone of 22772 each of the contributor acknowledgements and/or dedications given therein. 22773 22774 L. Preserve all the Invariant Sections of the Document, unaltered in their 22775 text and in their titles. Section numbers or the equivalent are not 22776 considered part of the section titles. 22777 22778 M. Delete any section entitled "Endorsements". Such a section may not be 22779 included in the Modified Version. 22780 22781 N. Do not retitle any existing section as "Endorsements" or to conflict in 22782 title with any Invariant Section. 22783 22784 If the Modified Version includes new front-matter sections or appendices that 22785 qualify as Secondary Sections and contain no material copied from the Document, 22786 you may at your option designate some or all of these sections as invariant. To 22787 do this, add their titles to the list of Invariant Sections in the Modified 22788 Version's license notice. These titles must be distinct from any other section 22789 titles. 22790 22791 You may add a section entitled "Endorsements", provided it contains nothing but 22792 endorsements of your Modified Version by various parties--for example, 22793 statements of peer review or that the text has been approved by an organization 22794 as the authoritative definition of a standard. 22795 22796 You may add a passage of up to five words as a Front-Cover Text, and a passage 22797 of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts 22798 in the Modified Version. Only one passage of Front-Cover Text and one of 22799 Back-Cover Text may be added by (or through arrangements made by) any one 22800 entity. If the Document already includes a cover text for the same cover, 22801 previously added by you or by arrangement made by the same entity you are 22802 acting on behalf of, you may not add another; but you may replace the old one, 22803 on explicit permission from the previous publisher that added the old one. 22804 22805 The author(s) and publisher(s) of the Document do not by this License give 22806 permission to use their names for publicity for or to assert or imply 22807 endorsement of any Modified Version. 22808 22809 ------------------------------------------------------------------------------- 22810 22811 COMBINING DOCUMENTS 22812 22813 You may combine the Document with other documents released under this License, 22814 under the terms defined in section 4 above for modified versions, provided that 22815 you include in the combination all of the Invariant Sections of all of the 22816 original documents, unmodified, and list them all as Invariant Sections of your 22817 combined work in its license notice. 22818 22819 The combined work need only contain one copy of this License, and multiple 22820 identical Invariant Sections may be replaced with a single copy. If there are 22821 multiple Invariant Sections with the same name but different contents, make the 22822 title of each such section unique by adding at the end of it, in parentheses, 22823 the name of the original author or publisher of that section if known, or else 22824 a unique number. Make the same adjustment to the section titles in the list of 22825 Invariant Sections in the license notice of the combined work. 22826 22827 In the combination, you must combine any sections entitled "History" in the 22828 various original documents, forming one section entitled "History"; likewise 22829 combine any sections entitled "Acknowledgements", and any sections entitled 22830 "Dedications". You must delete all sections entitled "Endorsements." 22831 22832 ------------------------------------------------------------------------------- 22833 22834 COLLECTIONS OF DOCUMENTS 22835 22836 You may make a collection consisting of the Document and other documents 22837 released under this License, and replace the individual copies of this License 22838 in the various documents with a single copy that is included in the collection, 22839 provided that you follow the rules of this License for verbatim copying of each 22840 of the documents in all other respects. 22841 22842 You may extract a single document from such a collection, and distribute it 22843 individually under this License, provided you insert a copy of this License 22844 into the extracted document, and follow this License in all other respects 22845 regarding verbatim copying of that document. 22846 22847 ------------------------------------------------------------------------------- 22848 22849 AGGREGATION WITH INDEPENDENT WORKS 22850 22851 A compilation of the Document or its derivatives with other separate and 22852 independent documents or works, in or on a volume of a storage or distribution 22853 medium, does not as a whole count as a Modified Version of the Document, 22854 provided no compilation copyright is claimed for the compilation. Such a 22855 compilation is called an "aggregate", and this License does not apply to the 22856 other self-contained works thus compiled with the Document, on account of their 22857 being thus compiled, if they are not themselves derivative works of the 22858 Document. 22859 22860 If the Cover Text requirement of section 3 is applicable to these copies of the 22861 Document, then if the Document is less than one quarter of the entire 22862 aggregate, the Document's Cover Texts may be placed on covers that surround 22863 only the Document within the aggregate. Otherwise they must appear on covers 22864 around the whole aggregate. 22865 22866 ------------------------------------------------------------------------------- 22867 22868 TRANSLATION 22869 22870 Translation is considered a kind of modification, so you may distribute 22871 translations of the Document under the terms of section 4. Replacing Invariant 22872 Sections with translations requires special permission from their copyright 22873 holders, but you may include translations of some or all Invariant Sections in 22874 addition to the original versions of these Invariant Sections. You may include 22875 a translation of this License provided that you also include the original 22876 English version of this License. In case of a disagreement between the 22877 translation and the original English version of this License, the original 22878 English version will prevail. 22879 22880 ------------------------------------------------------------------------------- 22881 22882 TERMINATION 22883 22884 You may not copy, modify, sublicense, or distribute the Document except as 22885 expressly provided for under this License. Any other attempt to copy, modify, 22886 sublicense or distribute the Document is void, and will automatically terminate 22887 your rights under this License. However, parties who have received copies, or 22888 rights, from you under this License will not have their licenses terminated so 22889 long as such parties remain in full compliance. 22890 22891 ------------------------------------------------------------------------------- 22892 22893 FUTURE REVISIONS OF THIS LICENSE 22894 22895 The Free Software Foundation may publish new, revised versions of the GNU Free 22896 Documentation License from time to time. Such new versions will be similar in 22897 spirit to the present version, but may differ in detail to address new problems 22898 or concerns. See http://www.gnu.org/copyleft/. 22899 22900 Each version of the License is given a distinguishing version number. If the 22901 Document specifies that a particular numbered version of this License "or any 22902 later version" applies to it, you have the option of following the terms and 22903 conditions either of that specified version or of any later version that has 22904 been published (not as a draft) by the Free Software Foundation. If the 22905 Document does not specify a version number of this License, you may choose any 22906 version ever published (not as a draft) by the Free Software Foundation. 22907 22908 ------------------------------------------------------------------------------- 22909 22910 How to use this License for your documents 22911 22912 To use this License in a document you have written, include a copy of the 22913 License in the document and put the following copyright and license notices 22914 just after the title page: 22915 22916 Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and 22917 /or modify this document under the terms of the GNU Free Documentation 22918 License, Version 1.1 or any later version published by the Free Software 22919 Foundation; with the Invariant Sections being LIST THEIR TITLES, with the 22920 Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A 22921 copy of the license is included in the section entitled "GNU Free 22922 Documentation License". 22923 22924 If you have no Invariant Sections, write "with no Invariant Sections" instead 22925 of saying which ones are invariant. If you have no Front-Cover Texts, write "no 22926 Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for 22927 Back-Cover Texts. 22928 22929 If your document contains nontrivial examples of program code, we recommend 22930 releasing these examples in parallel under your choice of free software 22931 license, such as the GNU General Public License, to permit their use in free 22932 software. 22933 22934 Notes 22935 22936 [1] It seems to be possible, using existing Linux development tools, to write 22937 an application in C++ which complies with this rule by linking statically 22938 with libstdc++ and all other libraries containing C++. The following 22939 command illustrates how this may be accomplished: 22940 22941 g++ example.cc -Wl,-Bdynamic,-lc,-Bstatic 22942 22943 [2] ISO/IEC 9899: 1999, Programming Languages --C 22944 22945 [3] Large File Support 22946 22947 [4] LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4 22948 22949 [5] Linux Standard Base 22950 22951 [6] IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996] 22952 22953 [7] CAE Specification, February 1997, Networking Services (XNS), Issue 5 22954 (ISBN: 1-85912-165-9, C523) 22955 22956 [8] CAE Specification, January 1997, System Interfaces and Headers (XSH), 22957 Issue 5 (ISBN: 1-85912-181-0, C606) 22958 22959 [9] System V Interface Definition, Issue 3 (ISBN 0201566524) 22960 22961 [10] System V Interface Definition,Fourth Edition 22962 22963 [11] The LSB never has contained scandir(). 22964 22965 [12] The LSB never has contained scandir64(); alphasort64 is customarily used 22966 with it. 22967 22968 [13] This was a deliberate Linus decision after an unpopular experiment in 22969 including the calling process in the 2.5.1 kernel. See "What does it mean 22970 to signal everybody?", Linux Weekly News, 20 December 2001, http://lwn.net 22971 /2001/1220/kernel.php3 22972 22973 [14] The Linux kernel has deliberately chosen EISDIR for this case and does not 22974 expect to change (Al Viro, personal communication). 22975 22976 [15] ISO/IEC 9899: 1999, Programming Languages --C 22977 22978 [16] CAE Specification, January 1997, System Interfaces and Headers (XSH), 22979 Issue 5 (ISBN: 1-85912-181-0, C606) 22980 22981 [17] Linux Standard Base 22982 22983 [18] CAE Specification, January 1997, System Interfaces and Headers (XSH), 22984 Issue 5 (ISBN: 1-85912-181-0, C606) 22985 22986 [19] Linux Standard Base 22987 22988 [20] CAE Specification, January 1997, System Interfaces and Headers (XSH), 22989 Issue 5 (ISBN: 1-85912-181-0, C606) 22990 22991 [21] CAE Specification, January 1997, System Interfaces and Headers (XSH), 22992 Issue 5 (ISBN: 1-85912-181-0, C606) 22993 22994 [22] zlib 1.1.3 Manual 22995 22996 [23] CAE Specification, May 1996, X/Open Curses, Issue 4, Version 2 (ISBN: 22997 1-85912-171-3, C610), plus Corrigendum U018 22998 22999 [24] Linux Standard Base 23000 23001 [25] X11R6.4 Xlib - C library 23002 23003 [26] Double Buffer Extension Library 23004 23005 [27] X Display Power Management Signaling (DPMS) Extension, Library 23006 Specification 23007 23008 [28] Security Extension Specification, Version 7.1 23009 23010 [29] X Nonrectangular Window Shape Extension Library Version 1.0 23011 23012 [30] MIT-SHM--The MIT Shared Memory Extension 23013 23014 [31] X Synchronization Extension Library 23015 23016 [32] X11R6.4 X Session Management Library 23017 23018 [33] X11R6.4 X Inter-Client Exchange (ICE) Protocol 23019 23020 [34] Linux Standard Base 23021 23022 [35] X11R6.4 X Toolkit Intrinsics 23023 23024 [36] OpenGL® Application Binary Interface for Linux 23025 23026 [37] Some versions of RPM may produce packages which contain extensions or 23027 modifications to the RPM package format beyond what has been documented in 23028 the appendix of the Maximum RPM book. An LSB-conformant package must not 23029 contain any of these extensions, in order to assure interoperability with 23030 the largest number of versions of RPM and packaging systems which 23031 understand how to import RPM format packages. 23032 23033 [38] The distribution itself may use a different packaging format for its own 23034 packages, and of course it may use any available mechanism for installing 23035 the LSB-conformant packages. 23036 23037 [39] LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4 23038 23039 [40] Linux Standard Base 23040 23041 [41] CAE Specification, January 1997, Commands and Utilities (XCU), Issue 5 23042 (ISBN: 1-85912-191-8, C604) 23043 23044 [42] The following two options are expected to be added in a future version of 23045 the LSB: 23046 23047 -o office 23048 23049 sets the user's office room number. 23050 23051 -p office-phone 23052 23053 sets the user's office phone number. 23054 23055 Note that some implementations contain a "-o other" option which specifies 23056 an additional field called "other". Traditionally, this field is not 23057 subject to the constraints about legitimate characters in fields. Also, 23058 one traditionally must have appropriate privileges to change the other 23059 field. At this point there is no consensus about whether it is desirable 23060 to specify the other field; applications may wish to avoid using it. 23061 23062 The "-w work_phone" field found in some implementations should be replaced 23063 by the "-p office_phone" field. The "-r room_number" field found in some 23064 implementations is the equivalent of the "-o office" option mentioned 23065 above; which one of these two options to specify will depend on 23066 implementation experience and the decision regarding the other field. 23067 23068 The intention is for chfn to match the behavior of finger; some historical 23069 implementations have been broken in the sense that finger and chfn do not 23070 agree on what the fields are. 23071 23072 [43] Need further investigation on the behavior of various implementations 23073 concerning whether program is a full pathname, the basename only, the 23074 program as named by argv[0], or what. 23075 23076 [44] Newer versions of split in GNU textutils have support for the -a flag. In 23077 a future version of the LSB, the -a flag will be required to conform to 23078 the SUS definition. 23079 23080 [45] GNU textutils 2.0 does not have -m, but more recent versions of textutils 23081 have it (added on 2000-08-06). The LSB will require this option in the 23082 future. 23083 23084 [46] For example, bash behaves in the following way: 23085 $ cat ~/prefix/bin/mycommand 23086 #!/bin/sh 23087 echo $0 23088 $ PATH=~/prefix/bin mycommand 23089 /home/kingdon/prefix/bin/mycommand 23090 $ 23091 With a POSIX shell, the output would be "mycommand". 23092 23093 When bash is executing an executable rather than a shell script, it seems 23094 to behave in the POSIX way. 23095 23096 [47] Rationale: System vendors and local system administrators want to run 23097 applications from removable media, but want the possibility to control 23098 what the application can do. 23099 23100 [48] The intention is that none of these choices will create problems in 23101 practice (for example, for LSB implementations on top of non-Linux 23102 kernels). Future versions of the LSB may relax these requirements if 23103 needed. 23104 23105 [49] On a Linux kernel, removing or renaming a directory will give EBUSY only 23106 when the directory is in use by a system process. However, the LSB does 23107 not specify this behavior on the grounds that it is of no use to 23108 applications and may be difficult to implement on some kernels. 23109 23110 Linux allows one to call rename() on a directory without having write 23111 access, but the LSB does not require this. 23112 23113 [50] This specification does not require, but is designed to allow, the 23114 development of a system which runs boot scripts in parallel. Hence, 23115 enforced-serialization of scripts is avoided unless it is explicitly 23116 necessary. 23117 23118 [51] While these comment conventions do not prohibited in system init scripts, 23119 they do not provide sufficient functionality for most distributions' 23120 needs. Extensions which would addressed these needs (for example, 23121 "Should-Start:" and "Should-Stop:") would have substantially complicated 23122 the design of the install_initd script, which is why they were not 23123 included in this specification. Future versions of this specification may 23124 extend these comment conventions to add this functionality, if and when 23125 reference implementations which implement these extensions become 23126 available for use by distributions. 23127 23128 [52] as defined in RFC 1833 23129 23130 [53] In some LSB run-time environments, filesystems such as /usr may be remote. 23131 Many applications that require $local_fs will probably require also 23132 require $remote_fs 23133 23134 [54] i.e., using a network-based time program such as ntp or rdate, or via the 23135 hardware Real Time Clock 23136 23137 [55] In a future version of this specification, this list will be removed in 23138 favor of the coresponding list at www.lanana.org. 23139