1 Linux Standard Base Specification 1.3 2 3 Copyright © 2000, 2001, 2002 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 LSB is a trademark of the Free Standards Group in the USA and other countries. 20 21 Intel386 and Itanium are trademarks of Intel Corporation. 22 23 OpenGL is a registered trademark of Silicon Graphics, Inc. 24 25 ------------------------------------------------------------------------------- 26 27 Table of Contents 28 I. Introduction 29 30 1. Introduction 31 32 Introduction 33 Purpose 34 Related Standards 35 Relevant Libraries 36 How to Use this Standard 37 Definitions 38 Terminology 39 40 II. Object Format 41 42 2. Object Files 43 3. Sections 44 45 Sections Types 46 47 4. Special Sections 48 49 Special Sections 50 51 5. Symbol Mapping 52 53 Symbol Mapping 54 55 6. EH Frame Header 56 57 DWARF Exception Header Encoding 58 59 7. Symbol Versioning 60 61 Symbol Version Table 62 Version Definitions 63 Version Requirements 64 Startup Sequence 65 Symbol Resolution 66 67 8. ABI note tag 68 69 III. Dynamic Linking 70 71 9. Program Loading and Dynamic Linking 72 10. Program Header 73 11. Dynamic Entries 74 75 Dynamic Entries 76 77 12. Program Interpreter 78 79 80 81 IV. Base Libraries 82 83 13. Libraries 84 85 Interfaces for libc 86 Data Definitions for libc 87 Interfaces Definitions for libc 88 Interfaces for libm 89 Data Definitions for libm 90 Interfaces for libpthread 91 Data Definitions for libpthread 92 Interfaces Definitions for libpthread 93 Interfaces for libgcc_s 94 Data Definitions for libgcc_s 95 Interfaces Definitions for libgcc_s 96 Interfaces for libdl 97 Data Definitions for libdl 98 Interfaces Definitions for libdl 99 Interfaces for libcrypt 100 Data Definitions for libcrypt 101 Interfaces for libpam 102 Data Definitions for libpam 103 Interfaces Definitions for libpam 104 105 V. Utility Libraries 106 107 14. Libraries 108 109 Interfaces for libz 110 Data Definitions for libz 111 Interfaces for libncurses 112 Data Definitions for libncurses 113 Interfaces for libutil 114 Interfaces Definitions for libutil 115 116 VI. Graphic Libraries 117 118 15. Libraries 119 120 Interfaces for libX11 121 Data Definitions for libX11 122 Interfaces for libXext 123 Data Definitions for libXext 124 Interfaces for libSM 125 Data Definitions for libSM 126 Interfaces for libICE 127 Data Definitions for libICE 128 Interfaces for libXt 129 Data Definitions for libXt 130 Interfaces Definitions for libXt 131 Interfaces for libGL 132 Data Definitions for libGL 133 134 VII. Package Format and Installation 135 136 16. Software Installation 137 138 Package File Format 139 Package Script Restrictions 140 Package Tools 141 Package Naming 142 Package Dependencies 143 Package Architecture Considerations 144 145 VIII. Commands and Utilities 146 147 17. Commands and Utilities 148 149 Commands and Utilities 150 Command Behavior 151 152 IX. Standard Shell 153 154 18. Standard Shell 155 156 Introduction 157 Standard Shell Exceptions 158 Standard Shell Rationale 159 160 X. Users & Groups 161 162 19. Users & Groups 163 164 User and Group Database 165 User & Group Names 166 UID Ranges 167 Rationale 168 169 XI. Execution Environment 170 171 20. File System Hierarchy 172 173 /dev 174 175 21. Additional Recommendations 176 177 Minimal granted Directory and File permissions 178 Recommendations for applications on ownership and permissions 179 180 22. Additional Behaviors 181 23. Localization 182 183 Regular Expressions 184 Filename Globbing 185 186 XII. System Initialization 187 188 24. System Initialization 189 190 Cron Jobs 191 Init Script Actions 192 Comment conventions for init scripts 193 Installation and removal of init.d files 194 Run Levels 195 Facility names 196 Script names 197 Init script Functions 198 199 A. Alphabetical Listing of Interfaces 200 201 libX11 202 libXt 203 libm 204 libGL 205 libXext 206 libICE 207 libSM 208 libdl 209 libcrypt 210 libz 211 libncurses 212 libutil 213 libc 214 libpthread 215 libpam 216 libgcc_s 217 218 B. GNU Free Documentation License 219 220 PREAMBLE 221 APPLICABILITY AND DEFINITIONS 222 VERBATIM COPYING 223 COPYING IN QUANTITY 224 MODIFICATIONS 225 COMBINING DOCUMENTS 226 COLLECTIONS OF DOCUMENTS 227 AGGREGATION WITH INDEPENDENT WORKS 228 TRANSLATION 229 TERMINATION 230 FUTURE REVISIONS OF THIS LICENSE 231 How to use this License for your documents 232 233 List of Tables 234 1-1. Related Standards 235 1-2. Standard Libraries Names 236 1-3. Standard Library Names defined in the Architecture Specific Supplement 237 3-1. ELF Section Types 238 3-2. Additional Section Types 239 4-1. ELF Special Sections 240 4-2. Additional Special Sections 241 6-1. .eh_frame_hdr Section Format 242 6-2. DWARF Exception Header value format 243 6-3. DWARF Exception Header application 244 10-1. Linux Segment Types 245 13-1. libc Definition 246 13-2. libc - RPC Function Interfaces 247 13-3. libc - System Calls Function Interfaces 248 13-4. libc - System Calls Deprecated Function Interfaces 249 13-5. libc - Standard I/O Function Interfaces 250 13-6. libc - Standard I/O Deprecated Function Interfaces 251 13-7. libc - Standard I/O Data Interfaces 252 13-8. libc - Signal Handling Function Interfaces 253 13-9. libc - Signal Handling Data Interfaces 254 13-10. libc - Localization Functions Function Interfaces 255 13-11. libc - Localization Functions Deprecated Function Interfaces 256 13-12. libc - Localization Functions Data Interfaces 257 13-13. libc - Socket Interface Function Interfaces 258 13-14. libc - Wide Characters Function Interfaces 259 13-15. libc - String Functions Function Interfaces 260 13-16. libc - IPC Functions Function Interfaces 261 13-17. libc - Regular Expressions Function Interfaces 262 13-18. libc - Regular Expressions Data Interfaces 263 13-19. libc - Character Type Functions Function Interfaces 264 13-20. libc - Character Type Functions Data Interfaces 265 13-21. libc - Time Manipulation Function Interfaces 266 13-22. libc - Time Manipulation Data Interfaces 267 13-23. libc - Terminal Interface Functions Function Interfaces 268 13-24. libc - System Database Interface Function Interfaces 269 13-25. libc - System Database Interface Deprecated Function Interfaces 270 13-26. libc - Language Support Function Interfaces 271 13-27. libc - Large File Support Function Interfaces 272 13-28. libc - Large File Support Deprecated Function Interfaces 273 13-29. libc - Standard Library Function Interfaces 274 13-30. libc - Standard Library Data Interfaces 275 13-31. libm Definition 276 13-32. libm - Math Function Interfaces 277 13-33. libm - Math Data Interfaces 278 13-34. libpthread Definition 279 13-35. libpthread - Posix Threads Function Interfaces 280 13-36. libgcc_s Definition 281 13-37. libgcc_s - Unwind Library Function Interfaces 282 13-38. libdl Definition 283 13-39. libdl - Dynamic Loader Function Interfaces 284 13-40. libcrypt Definition 285 13-41. libcrypt - Encryption Function Interfaces 286 13-42. libpam Definition 287 13-43. libpam - Pluggable Authentication API Function Interfaces 288 14-1. libz Definition 289 14-2. libz - Compression Library Function Interfaces 290 14-3. libncurses Definition 291 14-4. libncurses - Curses Function Interfaces 292 14-5. libncurses - Curses Data Interfaces 293 14-6. libutil Definition 294 14-7. libutil - Utility Functions Function Interfaces 295 15-1. libX11 Definition 296 15-2. libX11 - X Windows System Interface Function Interfaces 297 15-3. libXext Definition 298 15-4. libXext - X Shape Extension Function Interfaces 299 15-5. libXext - X Display Power Management Signaling Extension Function 300 Interfaces 301 15-6. libXext - X Shared Memory Extensions Function Interfaces 302 15-7. libXext - X Synchronization Extension Function Interfaces 303 15-8. libXext - X Security Extension Function Interfaces 304 15-9. libXext - X Double Buffer Extension Function Interfaces 305 15-10. libSM Definition 306 15-11. libSM - Session Management Functions Function Interfaces 307 15-12. libICE Definition 308 15-13. libICE - ICE Functions Function Interfaces 309 15-14. libXt Definition 310 15-15. libXt - X Toolkit Function Interfaces 311 15-16. libXt - X Toolkit Data Interfaces 312 15-17. libGL Definition 313 15-18. libGL - GL X interface Function Interfaces 314 15-19. libGL - OpenGL Function Interfaces 315 16-1. RPM File Format 316 16-2. Signature Format 317 16-3. Index Type values 318 16-4. Header Private Tag Values 319 16-5. Signature Tag Values 320 16-6. Signature Digest Tag Values 321 16-7. Signature Signing Tag Values 322 16-8. Package Info Tag Values 323 16-9. Installation Tag Values 324 16-10. File Info Tag Values 325 16-11. Package Dependency Tag Values 326 16-12. Index Type values 327 16-13. Package Dependency Attributes 328 16-14. Other Tag Values 329 16-15. CPIO File Format 330 17-1. Commands and Utilities 331 19-1. Required User & Group Names 332 19-2. Optional User & Group Names 333 A-1. libX11 Function Interfaces 334 A-2. libXt Function Interfaces 335 A-3. libXt Data Interfaces 336 A-4. libm Function Interfaces 337 A-5. libm Data Interfaces 338 A-6. libGL Function Interfaces 339 A-7. libXext Function Interfaces 340 A-8. libICE Function Interfaces 341 A-9. libSM Function Interfaces 342 A-10. libdl Function Interfaces 343 A-11. libcrypt Function Interfaces 344 A-12. libz Function Interfaces 345 A-13. libncurses Function Interfaces 346 A-14. libncurses Data Interfaces 347 A-15. libutil Function Interfaces 348 A-16. libc Function Interfaces 349 A-17. libc Data Interfaces 350 A-18. libpthread Function Interfaces 351 A-19. libpam Function Interfaces 352 A-20. libgcc_s Function Interfaces 353 354 List of Figures 355 7-1. Version Definition Entries 356 7-2. Version Definition Auxiliary Entries 357 7-3. Version Needed Entries 358 7-4. Version Needed Auxiliary Entries 359 360 I. Introduction 361 362 Table of Contents 363 1. Introduction 364 365 ------------------------------------------------------------------------------- 366 367 Chapter 1. Introduction 368 369 Introduction 370 371 This is version 1.3 of the Linux Standard Base Specification. An implementation 372 of this version of the specification may not claim to be an implementation of 373 the Linux Standard Base unless it has successfully completed the compliance 374 process as defined by the Free Standards Group. 375 376 ------------------------------------------------------------------------------- 377 378 Purpose 379 380 The Linux Standard Base (LSB) defines a system interface for compiled 381 applications and a minimal environment for support of installation scripts. Its 382 purpose is to enable a uniform industry standard environment for high-volume 383 applications conforming to the LSB. 384 385 The LSB defines a binary interface for application programs that are compiled 386 and packaged for LSB-conforming implementations on many different hardware 387 architectures. Since a binary specification must include information specific 388 to the computer processor architecture for which it is intended, it is not 389 possible for a single document to specify the interface for all possible 390 LSB-conforming implementations. Therefore, the LSB is a family of 391 specifications, rather than a single one. 392 393 The LSB is composed of two basic parts: A common specification ("generic LSB" 394 or "gLSB") describing those parts of the interface that remain constant across 395 all implementations of the LSB, and an architecture-specific specification 396 ("archLSB") describing the parts of the interface that vary by processor 397 architecture. Together, the generic LSB and the architecture-specific 398 supplement for a single hardware architecture provide a complete interface 399 specification for compiled application programs on systems that share a common 400 hardware architecture. 401 402 This document is the generic LSB. It must be used in conjunction with an 403 architecture-specific supplement. Whenever a section of this specification must 404 be supplemented by architecture-specific information, this document includes a 405 reference to the architecture supplement. Architecture supplements may also 406 contain additional information that is not referenced here. 407 408 This document should be used in conjunction with the documents it references. 409 This document enumerates the system components it includes, but descriptions of 410 those components may be included entirely or partly in this document, partly in 411 other documents, or entirely in other reference documents. For example, the 412 section that describes system service routines includes a list of the system 413 routines supported in this interface, formal declarations of the data 414 structures they use that are visible to applications, and a pointer to the 415 underlying referenced specification for information about the syntax and 416 semantics of each call. Only those routines not described in standards 417 referenced by this document, or extensions to those standards, are described in 418 the detail. Information referenced in this way is as much a part of this 419 document as is the information explicitly included here. 420 421 ------------------------------------------------------------------------------- 422 423 Related Standards 424 425 The specifications listed below are referenced in whole or in part by the Linux 426 Standard Base. When a specification is referenced in a way that imposes a 427 requirement (for example, "foo must behave as specified in the XyzzySpec"), 428 then the relevant requirements of that specification apply as if they were part 429 of the LSB itself. However, if the LSB refers to a specification without 430 imposing a requirement, then it is merely a reference and does not add 431 additional requirements. The LSB may refer to a portion of a specification (for 432 example, to define a specific function or group of functions); in such cases, 433 only the explicitly referenced portion of the specification applies. 434 435 Table 1-1. Related Standards 436 437 +-----------------------------------------------------------------------------+ 438 |System V Application Binary Interface - DRAFT - |http://www.caldera.com/ | 439 |22 June 2000 |developers/gabi/2000-07-17/ | 440 | |contents.html | 441 |------------------------------------------------+----------------------------| 442 |DWARF Debugging Information Format, Revision | | 443 |2.0.0 (July 27, 1993) | | 444 |------------------------------------------------+----------------------------| 445 |Filesystem Hierarchy Standard (FHS) 2.2 |http://www.pathname.com/fhs/| 446 |------------------------------------------------+----------------------------| 447 |IEEE Standard for Binary Floating-Point |http://www.ieee.org/ | 448 |Arithmetic | | 449 |------------------------------------------------+----------------------------| 450 |System V Application Binary Interface, Edition |http://www.caldera.com/ | 451 |4.1 |developers/devspecs/ | 452 | |gabi41.pdf | 453 |------------------------------------------------+----------------------------| 454 |ISO/IEC 9899: 1990, Programming Languages --C | | 455 |------------------------------------------------+----------------------------| 456 |ISO/IEC 9899: 1999, Programming Languages --C | | 457 |------------------------------------------------+----------------------------| 458 |ISO/IEC 14882: 1998(E) Programming languages | | 459 |--C++ | | 460 |------------------------------------------------+----------------------------| 461 |Linux Assigned Names And Numbers Authority |http://www.lanana.org/ | 462 |------------------------------------------------+----------------------------| 463 |Large File Support |http://www.UNIX-systems.org/| 464 | |version2/whatsnew/ | 465 | |lfs20mar.html | 466 |------------------------------------------------+----------------------------| 467 |LI18NUX 2000 Globalization Specification, |http://www.li18nux.org/docs/| 468 |Version 1.0 with Amendment 4 |html/LI18NUX-2000-amd4.htm | 469 |------------------------------------------------+----------------------------| 470 |Linux Standard Base |http://www.linuxbase.org/ | 471 | |spec/ | 472 |------------------------------------------------+----------------------------| 473 |OpenGL® Application Binary Interface for Linux |http://oss.sgi.com/projects/| 474 | |ogl-sample/ABI/ | 475 |------------------------------------------------+----------------------------| 476 |OSF-RFC 86.0 |http://www.opengroup.org/ | 477 | |tech/rfc/mirror-rfc/ | 478 | |rfc86.0.txt | 479 |------------------------------------------------+----------------------------| 480 |IEEE Std POSIX 1003.2-1992 (ISO/IEC 9945-2:1993)|http://www.ieee.org/ | 481 |------------------------------------------------+----------------------------| 482 |POSIX 1003.1c |http://www.ieee.org/ | 483 |------------------------------------------------+----------------------------| 484 |RFC 1952: GZIP file format specification version|http://www.ietf.org/rfc/ | 485 |4.3 |rfc1952.txt | 486 |------------------------------------------------+----------------------------| 487 |RFC 2440: OpenPGP Message Format | | 488 |------------------------------------------------+----------------------------| 489 |CAE Specification, May 1996, X/Open Curses, |http://www.opengroup.org/ | 490 |Issue 4, Version 2 (ISBN: 1-85912-171-3, C610), |publications/catalog/un.htm | 491 |plus Corrigendum U018 | | 492 |------------------------------------------------+----------------------------| 493 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 494 |Interface Definitions (XBD),Issue 5 (ISBN: |publications/catalog/un.htm | 495 |1-85912-186-1, C605) | | 496 |------------------------------------------------+----------------------------| 497 |CAE Specification, January 1997, Commands and |http://www.opengroup.org/ | 498 |Utilities (XCU), Issue 5 (ISBN: 1-85912-191-8, |publications/catalog/un.htm | 499 |C604) | | 500 |------------------------------------------------+----------------------------| 501 |CAE Specification, February 1997, Networking |http://www.opengroup.org/ | 502 |Services (XNS), Issue 5(ISBN: 1-85912-165-9, | | 503 |C523) | | 504 |------------------------------------------------+----------------------------| 505 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 506 |Interfaces and Headers (XSH),Issue 5 (ISBN: |publications/catalog/un.htm | 507 |1-85912-181-0, C606) | | 508 |------------------------------------------------+----------------------------| 509 |The Single UNIX® Specification(SUS) Version 1 |http://www.opengroup.org/ | 510 |(UNIX 95) System Interfaces & Headers |publications/catalog/un.htm | 511 |------------------------------------------------+----------------------------| 512 |The Single UNIX® Specification(SUS) Version 3 |http://www.unix.org/version3| 513 | |/ | 514 |------------------------------------------------+----------------------------| 515 |System V Interface Definition, Issue 3 (ISBN | | 516 |0201566524) | | 517 |------------------------------------------------+----------------------------| 518 |System V Interface Definition,Fourth Edition | | 519 |------------------------------------------------+----------------------------| 520 |Double Buffer Extension Library |http://www.x.org/ | 521 |------------------------------------------------+----------------------------| 522 |X Display Power Management Signaling (DPMS) |http://www.x.org/ | 523 |Extension, Library Specification | | 524 |------------------------------------------------+----------------------------| 525 |X Record Extension Library |http://www.x.org/ | 526 |------------------------------------------------+----------------------------| 527 |Security Extension Specification, Version 7.1 |http://www.x.org/ | 528 |------------------------------------------------+----------------------------| 529 |X Nonrectangular Window Shape Extension Library |http://www.x.org/ | 530 |Version 1.0 | | 531 |------------------------------------------------+----------------------------| 532 |MIT-SHM--The MIT Shared Memory Extension |http://www.x.org/ | 533 |------------------------------------------------+----------------------------| 534 |X Synchronization Extension Library |http://www.x.org/ | 535 |------------------------------------------------+----------------------------| 536 |XTEST Extension Library |http://www.x.org/ | 537 |------------------------------------------------+----------------------------| 538 |X11R6.4 X Inter-Client Exchange (ICE) Protocol |http://www.x.org/ | 539 |------------------------------------------------+----------------------------| 540 |X11R6.4 X11 Input Extension Library |http://www.x.org/ | 541 |------------------------------------------------+----------------------------| 542 |X11R6.4 Xlib - C library |http://www.x.org/ | 543 |------------------------------------------------+----------------------------| 544 |X/Open Portability Guide, Issue 4 |http://www.opengroup.org/ | 545 |------------------------------------------------+----------------------------| 546 |X11R6.4 X Session Management Library |http://www.x.org/ | 547 |------------------------------------------------+----------------------------| 548 |X11R6.4 X Toolkit Intrinsics |http://www.x.org/ | 549 |------------------------------------------------+----------------------------| 550 |zlib 1.1.3 Manual |http://www.gzip.org/zlib/ | 551 +-----------------------------------------------------------------------------+ 552 ------------------------------------------------------------------------------- 553 554 Relevant Libraries 555 556 The libraries listed here shall be available on a Linux Standard Base system. 557 This list may be supplemented or amended by the architecture-specific 558 specifications. 559 560 Table 1-2. Standard Libraries Names 561 562 +---------------------------+ 563 |Library |Runtime Name | 564 |----------+----------------| 565 |libX11 |libX11.so.6 | 566 |----------+----------------| 567 |libXt |libXt.so.6 | 568 |----------+----------------| 569 |libGL |libGL.so.1 | 570 |----------+----------------| 571 |libXext |libXext.so.6 | 572 |----------+----------------| 573 |libICE |libICE.so.6 | 574 |----------+----------------| 575 |libSM |libSM.so.6 | 576 |----------+----------------| 577 |libdl |libdl.so.2 | 578 |----------+----------------| 579 |libcrypt |libcrypt.so.1 | 580 |----------+----------------| 581 |libz |libz.so.1 | 582 |----------+----------------| 583 |libncurses|libncurses.so.5 | 584 |----------+----------------| 585 |libutil |libutil.so.1 | 586 |----------+----------------| 587 |libpthread|libpthread.so.0 | 588 |----------+----------------| 589 |libpam |libpam.so.0 | 590 |----------+----------------| 591 |libgcc_s |libgcc_s.so.1 | 592 +---------------------------+ 593 594 Table 1-3. Standard Library Names defined in the Architecture Specific 595 Supplement 596 597 +------------------------+ 598 |Library |Runtime Name | 599 |----------+-------------| 600 |libm |See archLSB | 601 |----------+-------------| 602 |libc |See archLSB | 603 |----------+-------------| 604 |proginterp|See archLSB | 605 +------------------------+ 606 607 These libraries will be in an unspecified directory which the dynamic linker 608 will search by default. 609 610 ------------------------------------------------------------------------------- 611 612 How to Use this Standard 613 614 The complete LSB specification is composed of this generic LSB specification 615 and the supplemental processor-specific specification for a particular 616 processor architecture. These two documents constitute a specification that 617 should be used in conjunction with the publicly-available standards documents 618 it references. The LSB enumerates the system components it includes, but 619 descriptions of those components may be included entirely in the LSB, partly in 620 the LSB and partly in other documents, or entirely in other reference 621 documents. 622 623 ------------------------------------------------------------------------------- 624 625 Definitions 626 627 gLSB 628 629 The common part of the LSB Specification that describes those parts of the 630 interface that remain constant across all hardware implementations of the 631 LSB. 632 633 archLSB 634 635 The architectural part of the LSB Specification which describes the 636 specific parts of the interface that are platform specific. The archLSB is 637 complementary to the gLSB. 638 639 LSB Implementation Conformance 640 641 An implementation satisfying the following requirements: 642 643 1. The implementation shall implement fully the architecture described in 644 the hardware manual for the target processor architecture. 645 646 2. The implementation shall be capable of executing compiled applications 647 having the format and using the system interfaces described in this 648 document. 649 650 3. The implementation shall provide libraries containing the interfaces 651 specified by this document, and shall provide a dynamic linking 652 mechanism that allows these interfaces to be attached to applications 653 at runtime. All the interfaces shall behave as specified in this 654 document. 655 656 4. The map of virtual memory provided by the implementation shall conform 657 to the requirements of this document. 658 659 5. The implementation's low-level behavior with respect to function call 660 linkage, system traps, signals, and other such activities shall conform 661 to the formats described in this document. 662 663 6. The implementation shall provide all of the mandatory interfaces in 664 their entirety. 665 666 7. The implementation may provide one or more of the optional interfaces. 667 Each optional interface that is provided shall be provided in its 668 entirety. The product documentation shall state which optional 669 interfaces are provided. 670 671 8. The implementation shall provide all files and utilities specified as 672 part of this document in the format defined here and in other 673 referenced documents. All commands and utilities shall behave as 674 required by this document. The implementation shall also provide all 675 mandatory components of an application's runtime environment that are 676 included or referenced in this document. 677 678 9. The implementation, when provided with standard data formats and values 679 at a named interface, shall provide the behavior defined for those 680 values and data formats at that interface. However, a conforming 681 implementation may consist of components which are separately packaged 682 and/or sold. For example, a vendor of a conforming implementation might 683 sell the hardware, operating system, and windowing system as separately 684 packaged items. 685 686 10. The implementation may provide additional interfaces with different 687 names. It may also provide additional behavior corresponding to data 688 values outside the standard ranges, for standard named interfaces. 689 690 LSB Application Conformance 691 692 An application with the following characteristics: 693 694 1. Its executable files are either shell scripts or object files in the 695 format defined for the Object File Format system interface. 696 697 2. Its object files participate in dynamic linking as defined in the 698 Program Loading and Linking System interface. 699 700 3. It employs only the instructions, traps, and other low-level facilities 701 defined in the Low-Level System interface as being for use by 702 applications. 703 704 4. If it requires any optional interface defined in this document in order 705 to be installed or to execute successfully, the requirement for that 706 optional interface is stated in the application's documentation. 707 708 5. It does not use any interface or data format that is not required to be 709 provided by a conforming implementation, unless: 710 711 o If such an interface or data format is supplied by another 712 application through direct invocation of that application during 713 execution, that application is in turn an LSB conforming 714 application. 715 716 o The use of that interface or data format, as well as its source, is 717 identified in the documentation of the application. 718 719 6. It must not use any values for a named interface that are reserved for 720 vendor extensions. 721 722 A strictly conforming application does not require or use any interface, 723 facility, or implementation-defined extension that is not defined in this 724 document in order to be installed or to execute successfully. 725 726 Rationale 727 728 An LSB conforming application is expected to have no dependencies on any 729 vendor extensions to this document. The most common such extensions are 730 additional function entry points and additional libraries other than the 731 ones defined in this document. If an application requires such extensions, 732 it is not portable, since other LSB conforming implementations may not 733 provide those extensions. 734 735 An LSB conforming application is required to use system services on the 736 implementation on which it is running, rather than importing system 737 routines from some other implementation. Thus, it must link dynamically to 738 any routines in the implementation that perform system traps to kernel 739 services. 740 741 It is to be expected that some applications may be companion applications 742 to other applications. For example, a query application may be a companion 743 to a database application; a preprocessor may be an adjunct to one or more 744 compilers; a data reformatter may convert data from one document manager to 745 another. In such cases, the application may or may not be LSB conforming, 746 regardless of whether the other application on which it is dependent is LSB 747 conforming. If such an application merely uses data produced by another 748 application, the application's compliance is independent of the other 749 application's compliance. If such an application actually invokes another 750 application during execution (as, for example, a third-party math library), 751 the invoking application is LSB conforming only if it also constitutes a 752 LSB conforming application in combination with the invoked application. 753 754 Shell Script 755 756 A file that is read by an interpreter (e.g., awk). The first line of the 757 shell script includes a reference to its interpreter binary. 758 759 ------------------------------------------------------------------------------- 760 761 Terminology 762 763 can 764 765 Describes a permissible optional feature or behavior available to the user 766 or application. The feature or behavior is mandatory for an implementation 767 that conforms to this document. An application can rely on the existence of 768 the feature or behavior. 769 770 implementation-defined 771 772 Describes a value or behavior that is not defined by this document but is 773 selected by an implementor. The value or behavior may vary among 774 implementations that conform to this document. An application should not 775 rely on the existence of the value or behavior. An application that relies 776 on such a value or behavior cannot be assured to be portable across 777 conforming implementations. The implementor shall document such a value or 778 behavior so that it can be used correctly by an application. 779 780 may 781 782 Describes a feature or behavior that is optional for an implementation that 783 conforms to this document. An application should not rely on the existence 784 of the feature or behavior. An application that relies on such a feature or 785 behavior cannot be assured to be portable across conforming 786 implementations. 787 788 To avoid ambiguity, the opposite of may is expressed as need not, instead 789 of may not. 790 791 must 792 793 Describes a feature or behavior that is mandatory for an application or 794 user. An implementation that conforms to this document shall support this 795 feature or behavior. 796 797 shall 798 799 Describes a feature or behavior that is mandatory for an implementation 800 that conforms to this document. An application can rely on the existence of 801 the feature or behavior. 802 803 should 804 805 For an implementation that conforms to this document, describes a feature 806 or behavior that is recommended but not mandatory. An application should 807 not rely on the existence of the feature or behavior. An application that 808 relies on such a feature or behavior cannot be assured to be portable 809 across conforming implementations. 810 811 For an application, describes a feature or behavior that is recommended 812 programming practice for optimum portability. 813 814 undefined 815 816 Describes the nature of a value or behavior not defined by this document 817 which results from use of an invalid program construct or invalid data 818 input. The value or behavior may vary among implementations that conform to 819 this document. An application should not rely on the existence or validity 820 of the value or behavior. An application that relies on any particular 821 value or behavior cannot be assured to be portable across conforming 822 implementations. 823 824 unspecified 825 826 Describes the nature of a value or behavior not specified by this document 827 which results from use of a valid program construct or valid data input. 828 The value or behavior may vary among implementations that conform to this 829 document. An application should not rely on the existence or validity of 830 the value or behavior. An application that relies on any particular value 831 or behavior cannot be assured to be portable across conforming 832 implementations. 833 834 will 835 836 Same meaning as shall; shall is the preferred term. 837 838 II. Object Format 839 840 Table of Contents 841 2. Object Files 842 3. Sections 843 4. Special Sections 844 5. Symbol Mapping 845 6. EH Frame Header 846 7. Symbol Versioning 847 8. ABI note tag 848 849 ------------------------------------------------------------------------------- 850 851 Chapter 2. Object Files 852 853 LSB-conforming implementations shall support the object file Executable and 854 Linking Format (ELF), which is defined by the following documents: 855 856 * System V Application Binary Interface, Edition 4.1 857 858 * System V Application Binary Interface - DRAFT - April 29, 1998 859 860 * this document 861 862 * an architecture-specific LSB specification 863 864 Conforming implementations may also support other unspecified object file 865 formats. 866 867 ------------------------------------------------------------------------------- 868 869 Chapter 3. Sections 870 871 ------------------------------------------------------------------------------- 872 873 Sections Types 874 875 A section header's sh_type member specifies the sections's semantics. 876 877 ------------------------------------------------------------------------------- 878 879 ELF Section Types 880 881 The following section types are defined in the System V Application Binary 882 Interface, Edition 4.1. 883 884 Table 3-1. ELF Section Types 885 886 +-----------------------------------------------------------------------------+ 887 | Name | Value | Description | 888 |-----------------+----------+------------------------------------------------| 889 |SHT_DYNAMIC |0x6 |The section holds information for dynamic | 890 | | |linking. Currently, an object file shall have | 891 | | |only one dynamic section, but this restriction | 892 | | |may be relaxed in the future. See `Dynamic | 893 | | |Section' in Chapter 5 for details. | 894 |-----------------+----------+------------------------------------------------| 895 |SHT_DYNSYM |0xb | | 896 |-----------------+----------+------------------------------------------------| 897 |SHT_FINI_ARRAY |0xf |This section contains an array of pointers to | 898 | | |termination functions, as described in | 899 | | |`Initialization and Termination Functions' in | 900 | | |Chapter 5. Each pointer in the array is taken as| 901 | | |a parameterless procedure with a void return. | 902 |-----------------+----------+------------------------------------------------| 903 |SHT_HASH |0x5 |The section holds a symbol hash table. | 904 | | |Currently, an object file shall have only one | 905 | | |hash table, but this restriction may be relaxed | 906 | | |in the future. See `Hash Table' in the Chapter 5| 907 | | |for details. | 908 |-----------------+----------+------------------------------------------------| 909 |SHT_HIPROC |0x7fffffff|Values in this inclusive range are reserved for | 910 | | |processor-specific semantics. | 911 |-----------------+----------+------------------------------------------------| 912 |SHT_HIUSER |0xffffffff|This value specifies the upper bound of the | 913 | | |range of indexes reserved for application | 914 | | |programs. Section types between SHT_LOUSER and | 915 | | |SHT_HIUSER can be used by the application, | 916 | | |without conflicting with current or future | 917 | | |system-defined section types. | 918 |-----------------+----------+------------------------------------------------| 919 |SHT_INIT_ARRAY |0xe |This section contains an array of pointers to | 920 | | |initialization functions, as described in | 921 | | |`Initialization and Termination Functions' in | 922 | | |Chapter 5. Each pointer in the array is taken as| 923 | | |a parameterless procedure with a void return. | 924 |-----------------+----------+------------------------------------------------| 925 |SHT_LOPROC |0x70000000|Values in this inclusive range are reserved for | 926 | | |processor-specific semantics. | 927 |-----------------+----------+------------------------------------------------| 928 |SHT_LOUSER |0x80000000|This value specifies the lower bound of the | 929 | | |range of indexes reserved for application | 930 | | |programs. | 931 |-----------------+----------+------------------------------------------------| 932 |SHT_NOBITS |0x8 |A section of this type occupies no space in the | 933 | | |file but otherwise resembles SHT_PROGBITS. | 934 | | |Although this section contains no bytes, the | 935 | | |sh_offset member contains the conceptual file | 936 | | |offset. | 937 |-----------------+----------+------------------------------------------------| 938 |SHT_NOTE |0x7 |The section holds information that marks the | 939 | | |file in some way. See `Note Section' in Chapter | 940 | | |5 for details. | 941 |-----------------+----------+------------------------------------------------| 942 |SHT_NULL |0x0 |This value marks the section header as inactive;| 943 | | |it does not have an associated section. Other | 944 | | |members of the section header have undefined | 945 | | |values. | 946 |-----------------+----------+------------------------------------------------| 947 |SHT_PREINIT_ARRAY|0x10 |This section contains an array of pointers to | 948 | | |functions that are invoked before all other | 949 | | |initialization functions, as described in | 950 | | |`Initialization and Termination Functions' in | 951 | | |Chapter 5. Each pointer in the array is taken as| 952 | | |a parameterless proceure with a void return. | 953 |-----------------+----------+------------------------------------------------| 954 |SHT_PROGBITS |0x1 |The section holds information defined by the | 955 | | |program, whose format and meaning are determined| 956 | | |solely by the program. | 957 |-----------------+----------+------------------------------------------------| 958 |SHT_REL |0x9 |The section holds relocation entries without | 959 | | |explicit addends, such as type Elf32_Rel for the| 960 | | |32-bit class of object files or type Elf64_Rel | 961 | | |for the 64-bit class of object files. An object | 962 | | |file may have multiple relocation sections. See | 963 | | |"Relocation" | 964 |-----------------+----------+------------------------------------------------| 965 |SHT_RELA |0x4 |The section holds relocation entries with | 966 | | |explicit addends, such as type Elf32_Rela for | 967 | | |the 32-bit class of object files or type | 968 | | |Elf64_Rela for the 64-bit class of object files.| 969 | | |An object file may have multiple relocation | 970 | | |sections. `Relocation' b | 971 |-----------------+----------+------------------------------------------------| 972 |SHT_SHLIB |0xa |This section type is reserved but has | 973 | | |unspecified semantics. | 974 |-----------------+----------+------------------------------------------------| 975 |SHT_STRTAB |0x3 |The section holds a string table. An object file| 976 | | |may have multiple string table sections. See | 977 | | |`String Table' below for details. | 978 |-----------------+----------+------------------------------------------------| 979 |SHT_SYMTAB |0x2 |These sections hold a symbol table. Currently, | 980 | | |an object file shall have only one section of | 981 | | |each type, but this restriction may be relaxed | 982 | | |in the future. Typically, SHT_SYMTAB provides | 983 | | |symbols for link editing, though it may also be | 984 | | |used for dynamic linking. | 985 +-----------------------------------------------------------------------------+ 986 987 988 ------------------------------------------------------------------------------- 989 990 Additional Section Types 991 992 The following additional section types are defined here. 993 994 Table 3-2. Additional Section Types 995 996 +-----------------------------------------------------------------------------+ 997 | Name | Value | Description | 998 |---------------+----------+--------------------------------------------------| 999 |SHT_GNU_verdef |0x6ffffffd|This section contains the symbol versions that are| 1000 | | |provided. | 1001 |---------------+----------+--------------------------------------------------| 1002 |SHT_GNU_verneed|0x6ffffffe|This section contains the symbol versions that are| 1003 | | |required. | 1004 |---------------+----------+--------------------------------------------------| 1005 |SHT_GNU_versym |0x6fffffff|This section contains the Symbol Version Table. | 1006 +-----------------------------------------------------------------------------+ 1007 1008 1009 ------------------------------------------------------------------------------- 1010 1011 Chapter 4. Special Sections 1012 1013 Special Sections 1014 1015 Various sections hold program and control information. Sections in the lists 1016 below are used by the system and have the indicated types and attributes. 1017 1018 ------------------------------------------------------------------------------- 1019 1020 ELF Special Sections 1021 1022 The following sections are defined in the System V Application Binary 1023 Interface, Edition 4.1. 1024 1025 Table 4-1. ELF Special Sections 1026 1027 +--------------------------------------------------------+ 1028 | Name | Type | Attributes | 1029 |--------------+-----------------+-----------------------| 1030 |.bss |SHT_NOBITS |SHF_ALLOC+SHF_WRITE | 1031 |--------------+-----------------+-----------------------| 1032 |.comment |SHT_PROGBITS |0 | 1033 |--------------+-----------------+-----------------------| 1034 |.data |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE | 1035 |--------------+-----------------+-----------------------| 1036 |.data1 |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE | 1037 |--------------+-----------------+-----------------------| 1038 |.debug |SHT_PROGBITS |0 | 1039 |--------------+-----------------+-----------------------| 1040 |.dynamic |SHT_DYNAMIC |SHF_ALLOC+SHF_WRITE | 1041 |--------------+-----------------+-----------------------| 1042 |.dynstr |SHT_STRTAB |SHF_ALLOC | 1043 |--------------+-----------------+-----------------------| 1044 |.dynsym |SHT_DYNSYM |SHF_ALLOC | 1045 |--------------+-----------------+-----------------------| 1046 |.fini |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR| 1047 |--------------+-----------------+-----------------------| 1048 |.fini_array |SHT_FINI_ARRAY |SHF_ALLOC+SHF_WRITE | 1049 |--------------+-----------------+-----------------------| 1050 |.hash |SHT_HASH |SHF_ALLOC | 1051 |--------------+-----------------+-----------------------| 1052 |.init |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR| 1053 |--------------+-----------------+-----------------------| 1054 |.init_array |SHT_INIT_ARRAY |SHF_ALLOC+SHF_WRITE | 1055 |--------------+-----------------+-----------------------| 1056 |.interp |SHT_PROGBITS |SHF_ALLOC | 1057 |--------------+-----------------+-----------------------| 1058 |.line |SHT_PROGBITS |0 | 1059 |--------------+-----------------+-----------------------| 1060 |.note |SHT_NOTE |0 | 1061 |--------------+-----------------+-----------------------| 1062 |.preinit_array|SHT_PREINIT_ARRAY|SHF_ALLOC+SHF_WRITE | 1063 |--------------+-----------------+-----------------------| 1064 |.rodata |SHT_PROGBITS |SHF_ALLOC | 1065 |--------------+-----------------+-----------------------| 1066 |.rodata1 |SHT_PROGBITS |SHF_ALLOC | 1067 |--------------+-----------------+-----------------------| 1068 |.shstrtab |SHT_STRTAB |0 | 1069 |--------------+-----------------+-----------------------| 1070 |.strtab |SHT_STRTAB |SHF_ALLOC | 1071 |--------------+-----------------+-----------------------| 1072 |.symtab |SHT_SYMTAB |SHF_ALLOC | 1073 |--------------+-----------------+-----------------------| 1074 |.text |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR| 1075 +--------------------------------------------------------+ 1076 1077 .bss 1078 1079 This section holds uninitialized data that contribute to the program's 1080 memory image. By definition, the system initializes the data with zeros 1081 when the program begins to run. The section occupies no file space, as 1082 indicated by the section type, SHT_NOBITS 1083 1084 .comment 1085 1086 This section holds version control information. 1087 1088 .data 1089 1090 This section holds initialized data that contribute to the program's memory 1091 image. 1092 1093 .data1 1094 1095 This section holds initialized data that contribute to the program's memory 1096 image. 1097 1098 .debug 1099 1100 This section holds information for symbolic debugging. The contents are 1101 unspecified. All section names with the prefix .debug hold information for 1102 symbolic debugging. The contents of these sections are unspecified. 1103 1104 .dynamic 1105 1106 This section holds dynamic linking information. The section's attributes 1107 will include the SHF_ALLOC bit. Whether the SHF_WRITE bit is set is 1108 processor specific. See Chapter 5 for more information. 1109 1110 .dynstr 1111 1112 This section holds strings needed for dynamic linking, most commonly the 1113 strings that represent the names associated with symbol table entries. See 1114 Chapter 5 for more information. 1115 1116 .dynsym 1117 1118 This section holds the dynamic linking symbol table, as described in 1119 `Symbol Table'. See Chapter 5 for more information. 1120 1121 .fini 1122 1123 This section holds executable instructions that contribute to the process 1124 termination code. That is, when a program exits normally, the system 1125 arranges to execute the code in this section. 1126 1127 .fini_array 1128 1129 This section holds an array of function pointers that contributes to a 1130 single termination array for the executable or shared object containing the 1131 section. 1132 1133 .hash 1134 1135 This section holds a symbol hash table. See `Hash Table' in Chapter 5 for 1136 more information. 1137 1138 .init 1139 1140 This section holds executable instructions that contribute to the process 1141 initialization code. When a program starts to run, the system arranges to 1142 execute the code in this section before calling the main program entry 1143 point (called main for C programs) 1144 1145 .init_array 1146 1147 This section holds an array of function pointers that contributes to a 1148 single initialization array for the executable or shared object containing 1149 the section. 1150 1151 .interp 1152 1153 This section holds the path name of a program interpreter. If the file has 1154 a loadable segment that includes relocation, the sections' attributes will 1155 include the SHF_ALLOC bit; otherwise, that bit will be off. See Chapter 5 1156 for more information. 1157 1158 .line 1159 1160 This section holds line number information for symbolic debugging, which 1161 describes the correspondence between the source program and the machine 1162 code. The contents are unspecified. 1163 1164 .note 1165 1166 This section holds information in the format that `Note Section' in Chapter 1167 5 describes of the System V Application Binary Interface, Edition 4.1. 1168 1169 .preinit_array 1170 1171 This section holds an array of function pointers that contributes to a 1172 single pre-initialization array for the executable or shared object 1173 containing the section. 1174 1175 .rodata 1176 1177 This section holds read-only data that typically contribute to a 1178 non-writable segment in the process image. See `Program Header' in Chapter 1179 5 for more information. 1180 1181 .rodata1 1182 1183 This section hold sread-only data that typically contribute to a 1184 non-writable segment in the process image. See `Program Header' in Chapter 1185 5 for more information. 1186 1187 .shstrtab 1188 1189 This section holds section names. 1190 1191 .strtab 1192 1193 This section holds strings, most commonly the strings that represent the 1194 names associated with symbol table entries. If the file has a loadable 1195 segment that includes the symbol string table, the section's attributes 1196 will include the SHF_ALLOC bit; otherwi 1197 1198 .symtab 1199 1200 This section holds a symbol table, as `Symbol Table'. in this chapter 1201 describes. If the file has a loadable segment that includes the symbol 1202 table, the section's attributes will include the SHF_ALLOC bit; otherwise, 1203 that bit will be off. 1204 1205 .text 1206 1207 This section holds the `text,' or executable instructions, of a program. 1208 1209 1210 1211 ------------------------------------------------------------------------------- 1212 1213 Additional Special Sections 1214 1215 The following additional sections are defined here. 1216 1217 Table 4-2. Additional Special Sections 1218 1219 +--------------------------------------------------+ 1220 | Name | Type | Attributes | 1221 |--------------+---------------+-------------------| 1222 |.ctors |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 1223 |--------------+---------------+-------------------| 1224 |.dtors |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 1225 |--------------+---------------+-------------------| 1226 |.eh_frame |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 1227 |--------------+---------------+-------------------| 1228 |.eh_frame_hdr |SHT_PROGBITS |SHF_ALLOC | 1229 |--------------+---------------+-------------------| 1230 |.gnu.version |SHT_GNU_versym |SHF_ALLOC | 1231 |--------------+---------------+-------------------| 1232 |.gnu.version_d|SHT_GNU_verdef |SHF_ALLOC | 1233 |--------------+---------------+-------------------| 1234 |.gnu.version_r|SHT_GNU_verneed|SHF_ALLOC | 1235 |--------------+---------------+-------------------| 1236 |.jcr |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE| 1237 |--------------+---------------+-------------------| 1238 |.note.ABI-tag |SHT_NOTE |SHF_ALLOC | 1239 |--------------+---------------+-------------------| 1240 |.stab |SHT_PROGBITS |0 | 1241 |--------------+---------------+-------------------| 1242 |.stabstr |SHT_STRTAB |0 | 1243 +--------------------------------------------------+ 1244 1245 .ctors 1246 1247 This section contains a list of global constructor function pointers. 1248 1249 .dtors 1250 1251 This section contains a list of global destructor function pointers. 1252 1253 .eh_frame 1254 1255 This section contains information necessary for frame unwinding during 1256 exception handling. The format is the same as for .debug_frame as described 1257 by DWARF Debugging Information Format, Revision 2.0.0 (July 27, 1993). 1258 1259 .eh_frame_hdr 1260 1261 This section contains a pointer to the .eh_frame section which is 1262 accessible to the runtime support code of a C++ application. This section 1263 may also contain a binary search table which may be used by the runtime 1264 support code to more efficiently access records in the .eh_frame section. 1265 1266 .gnu.version 1267 1268 This section contains the Symbol Version Table. 1269 1270 .gnu.version_d 1271 1272 This section contains the Version Definitions. 1273 1274 .gnu.version_r 1275 1276 This section contains the Version Requirments. 1277 1278 .jcr 1279 1280 This section contains information necessary for registering compiled Java 1281 classes. The contents are compiler-specific and used by compiler 1282 initialization functions. 1283 1284 .note.ABI-tag 1285 1286 Specify ABI details. 1287 1288 .stab 1289 1290 This section contains debugging information. The contents are not specified 1291 as part of the LSB. 1292 1293 .stabstr 1294 1295 This section contains strings associated with the debugging infomation 1296 contained in the .stab section. 1297 1298 1299 1300 ------------------------------------------------------------------------------- 1301 1302 Chapter 5. Symbol Mapping 1303 1304 This chapter defines how names are mapped from the source symbol to the object 1305 symbol. 1306 1307 ------------------------------------------------------------------------------- 1308 1309 Symbol Mapping 1310 1311 Symbols in a source program are translated by the compilation system into 1312 symbols that exist in the object file. The rules for this translation are 1313 defined here. 1314 1315 ------------------------------------------------------------------------------- 1316 1317 C Language 1318 1319 External C symbols have the same names in C and object files' symbol tables. 1320 1321 ------------------------------------------------------------------------------- 1322 1323 C++ Language 1324 1325 Because of the immaturity of the C++ ABI (for name mangling, exception 1326 handling, and other such issues), we do not standardize any libraries for C++ 1327 in this version of the Linux Standard Base. [1] 1328 1329 In a future version of this specification, name mangling rules will be 1330 specified so that C++ symbols can be mapped into symbol names in the object 1331 file. 1332 1333 ------------------------------------------------------------------------------- 1334 1335 Chapter 6. EH Frame Header 1336 1337 The .eh_frame_hdr section contains additional information about the .eh_frame 1338 section. A pointer to the start of the .eh_frame data, and optionally, a binary 1339 search table of pointers to the .eh_frame records are found in this section. 1340 1341 Data in this section is encoded according to the DWARF Exception Header 1342 Encoding described below. 1343 1344 Table 6-1. .eh_frame_hdr Section Format 1345 1346 +---------------------------------+ 1347 |Encoding |Field | 1348 |-------------+-------------------| 1349 |unsigned byte|version | 1350 |-------------+-------------------| 1351 |unsigned byte|eh_frame_ptr_enc | 1352 |-------------+-------------------| 1353 |unsigned byte|fde_count_enc | 1354 |-------------+-------------------| 1355 |unsigned byte|table_enc | 1356 |-------------+-------------------| 1357 |encoded |eh_frame_ptr | 1358 |-------------+-------------------| 1359 |encoded |fde_count | 1360 |-------------+-------------------| 1361 | |binary search table| 1362 +---------------------------------+ 1363 1364 version 1365 1366 Version of the .eh_frame_hdr format. This value must be 1. 1367 1368 eh_frame_ptr_enc 1369 1370 The encoding format of the eh_frame_ptr field. 1371 1372 fde_count_enc 1373 1374 The encoding format of the fde_count field. A value of DW_EH_PE_omit 1375 indicates the binary search table is not present. 1376 1377 table_enc 1378 1379 The encoding format of the entries in the binary search table. A value of 1380 DW_EH_PE_omit indicates the binary search table is not present. 1381 1382 eh_frame_ptr 1383 1384 The encoded value of the pointer to the start of the .eh_frame section. 1385 1386 fde_count 1387 1388 The encoded value of the count of entries in the binary search table. 1389 1390 binary search table 1391 1392 A binary search table containing fde_count entries. Each entry of the table 1393 consist of two encoded values, the initial location, and the address. The 1394 entries are sorted in an increasing order by the initial location value. 1395 1396 ------------------------------------------------------------------------------- 1397 1398 DWARF Exception Header Encoding 1399 1400 The DWARF Exception Header Encoding is used to describe the type of data used 1401 in the .eh_frame_hdr section. The upper 4 bits indicate how the value is to be 1402 applied. The lower 4 bits indicate the format of the data. 1403 1404 Table 6-2. DWARF Exception Header value format 1405 1406 +-----------------------------------------------------------------------------+ 1407 |Name |Value|Meaning | 1408 |----------------+-----+------------------------------------------------------| 1409 |DW_EH_PE_omit |0xff |No value is present. | 1410 |----------------+-----+------------------------------------------------------| 1411 |DW_EH_PE_uleb128|0x01 |Unsigned value is encoded using the Little Endian Base| 1412 | | |128 (LEB128) as defined by DWARF Debugging Information| 1413 | | |Format, Revision 2.0.0 (July 27, 1993). | 1414 |----------------+-----+------------------------------------------------------| 1415 |DW_EH_PE_udata2 |0x02 |A 2 bytes unsigned value. | 1416 |----------------+-----+------------------------------------------------------| 1417 |DW_EH_PE_udata4 |0x03 |A 4 bytes unsigned value. | 1418 |----------------+-----+------------------------------------------------------| 1419 |DW_EH_PE_udata8 |0x04 |An 8 bytes unsigned value. | 1420 |----------------+-----+------------------------------------------------------| 1421 |DW_EH_PE_sleb128|0x09 |Signed value is encoded using the Little Endian Base | 1422 | | |128 (LEB128) as defined by DWARF Debugging Information| 1423 | | |Format, Revision 2.0.0 (July 27, 1993). | 1424 |----------------+-----+------------------------------------------------------| 1425 |DW_EH_PE_sdata2 |0x0A |A 2 bytes signed value. | 1426 |----------------+-----+------------------------------------------------------| 1427 |DW_EH_PE_sdata4 |0x0B |A 4 bytes signed value. | 1428 |----------------+-----+------------------------------------------------------| 1429 |DW_EH_PE_sdata8 |0x0C |An 8 bytes signed value. | 1430 +-----------------------------------------------------------------------------+ 1431 1432 Table 6-3. DWARF Exception Header application 1433 1434 +-----------------------------------------------------------------------------+ 1435 |Name |Value|Meaning | 1436 |----------------+-----+------------------------------------------------------| 1437 |DW_EH_PE_absptr |0x00 |Value is used with no modification. | 1438 |----------------+-----+------------------------------------------------------| 1439 |DW_EH_PE_pcrel |0x10 |Value is reletive to the current program counter. | 1440 |----------------+-----+------------------------------------------------------| 1441 |DW_EH_PE_datarel|0x30 |Value is reletive to the beginning of the | 1442 | | |.eh_frame_hdr section. | 1443 |----------------+-----+------------------------------------------------------| 1444 |DW_EH_PE_omit |0xff |No value is present. | 1445 +-----------------------------------------------------------------------------+ 1446 ------------------------------------------------------------------------------- 1447 1448 Chapter 7. Symbol Versioning 1449 1450 This chapter describes the Symbol Versioning mechanism. All ELF objects may 1451 provide or depend on versioned symbols. Symbol Versioning is implemented by 3 1452 section types: SHT_GNU_versym, SHT_GNU_verdef, and SHT_GNU_verneed. 1453 1454 The term "Elfxx" means "Elf32" or "Elf64" depending on the architecture. 1455 1456 Versions are described by strings. The structures that are used for symbol 1457 versions also contain a member that holds the ELF hashing values of the 1458 strings. This allows for more efficient processing. 1459 1460 ------------------------------------------------------------------------------- 1461 1462 Symbol Version Table 1463 1464 The Symbol Version Table is contained in the special section .gnu.version which 1465 has a section type of SHT_GNU_versym. This section has the same number of 1466 entries as the Dynamic Symbol Table. 1467 1468 This section contains an array of elements of type Elfxx_Half. Each entry 1469 specifies the version defined for or required by the corresponding symbol in 1470 the Dynamic Symbol Table. 1471 1472 The values in the Symbol Version Table are unique to the object in which they 1473 are located. These values are identifiers that are provided by the the 1474 vna_other member of the Elfxx_Vernaux structure or the vd_ndx member of the 1475 Elfxx_Verdef structure. 1476 1477 The values 0 and 1 are reserved. 1478 1479 0 1480 1481 The symbol is local, not available outside the object. 1482 1483 1 1484 1485 The symbol is defined in this object and is globally available. 1486 1487 All other values are used to identify version strings located in one of the 1488 other Symbol Version sections. The value itself is not the version associated 1489 with the symbol. The string identified by the value defines the version of the 1490 symbol. 1491 1492 ------------------------------------------------------------------------------- 1493 1494 Version Definitions 1495 1496 Symbol definitions are contained in the special section .gnu.version_d which 1497 has a section type of SHT_GNU_verdef. The number of entries in this section is 1498 contained in the DT_VERDEFNUM entry of the Dynamic Section. The sh_link member 1499 of the section header points to the section that contains the strings 1500 referenced by this section. 1501 1502 Figure 7-1. Version Definition Entries 1503 1504 typedef struct { 1505 Elfxx_Half vd_version; 1506 Elfxx_Half vd_flags; 1507 Elfxx_Half vd_ndx; 1508 Elfxx_Half vd_cnt; 1509 Elfxx_Word vd_hash; 1510 Elfxx_Word vd_aux; 1511 Elfxx_Word vd_next; 1512 } Elfxx_Verdef; 1513 1514 vd_version 1515 1516 Version revision. This value is currently set to 1, and will be reset if 1517 the versioning implementation is incompatibly altered. 1518 1519 vd_flags 1520 1521 Version information flag bitmask. 1522 1523 vd_ndx 1524 1525 Version index numeric value referencing the SHT_GNU_versym section. 1526 1527 vd_cnt 1528 1529 Number of associated verdaux array entries. 1530 1531 vd_hash 1532 1533 Version name hash value (ELF hash function). 1534 1535 vd_aux 1536 1537 Offset to a corresponding entry in the verdaux array, in bytes. 1538 1539 vd_next 1540 1541 Offset to the next verdef entry, in bytes. 1542 1543 Figure 7-2. Version Definition Auxiliary Entries 1544 1545 typedef struct { 1546 Elfxx_Word vda_name; 1547 Elfxx_Word vda_next; 1548 } Elfxx_Verdaux; 1549 1550 vda_name 1551 1552 Offset to the version or dependency name string in the section header, in 1553 bytes. 1554 1555 vda_next 1556 1557 Offset to the next verdaux entry, in bytes. 1558 1559 ------------------------------------------------------------------------------- 1560 1561 Version Requirements 1562 1563 Symbol definitions are contained in the special section .gnu.version_r which 1564 has a section type of SHT_GNU_verneed. The number of entries in this section is 1565 contained in the DT_VERNEEDNUM entry of the Dynamic Section. The sh_link member 1566 of the section header points to the section that contains the strings 1567 referenced by this section. 1568 1569 Figure 7-3. Version Needed Entries 1570 1571 typedef struct { 1572 Elfxx_Half vn_version; 1573 Elfxx_Half vn_cnt; 1574 Elfxx_Word vn_file; 1575 Elfxx_Word vn_aux; 1576 Elfxx_Word vn_next; 1577 } Elfxx_Verneed; 1578 1579 vn_version 1580 1581 Version of structure. This value is currently set to 1, and will be reset 1582 if the versioning implementation is incompatibly altered. 1583 1584 vn_cnt 1585 1586 Number of associated verneed array entries. 1587 1588 vn_file 1589 1590 Offset to the file name string in the section header, in bytes. 1591 1592 vn_aux 1593 1594 Offset to a corresponding entry in the vernaux array, in bytes. 1595 1596 vn_next 1597 1598 Offset to the next verneed entry, in bytes. 1599 1600 Figure 7-4. Version Needed Auxiliary Entries 1601 1602 typedef struct { 1603 Elfxx_Word vna_hash; 1604 Elfxx_Half vna_flags; 1605 Elfxx_Half vna_other; 1606 Elfxx_Word vna_name; 1607 Elfxx_Word vna_next; 1608 } Elfxx_Vernaux; 1609 1610 vna_hash 1611 1612 Dependency name hash value (ELF hash function). 1613 1614 vna_flags 1615 1616 Dependency information flag bitmask. 1617 1618 vna_other 1619 1620 Object file version identifier used in the .gnu.version symbol version 1621 array. Bit number 15 controls whether or not the object is hidden; if this 1622 bit is set, the object cannot be used and the static linker will ignore the 1623 symbol's presence in the object. 1624 1625 vna_name 1626 1627 Offset to the dependency name string in the section header, in bytes. 1628 1629 vna_next 1630 1631 Offset to the next vernaux entry, in bytes. 1632 1633 ------------------------------------------------------------------------------- 1634 1635 Startup Sequence 1636 1637 When loading a sharable object, version definition data from the loaded object 1638 is analyzed to assure that it meets the version requirements of the calling 1639 object. The dynamic loader retrieves the entries in the caller's Elfxx_Verneed 1640 array and attempts to find matching definition information in the loaded 1641 Elfxx_Verdef table. 1642 1643 Each object and dependency is tested in turn. If a symbol definition is 1644 missing, the loader returns an error. A warning is issued instead of a hard 1645 error when the vna_flags bit for VER_FLG_WEAK is set in the Elfxx_Vernaux 1646 entry. 1647 1648 When the versions referenced by undefined symbols in the loaded object are 1649 found, version availability is certified. The test completes without error and 1650 the object is made available. 1651 1652 ------------------------------------------------------------------------------- 1653 1654 Symbol Resolution 1655 1656 When symbol versioning is used in an object, relocations extend the performance 1657 of definition testing beyond the simple match of symbol name strings: the 1658 version of the reference must also equal the name of the definition. The same 1659 index that is used in the symbol table can be referenced in the SHT_GNU_versym 1660 section, and the value of this index is then used to acquire name data. The 1661 corresponding requirement string is retrieved from the Elfxx_Verneed array, and 1662 likewise, the corresponding definition string from the Elfxx_Verdef table. 1663 1664 Bit number 15 of the version symbol controls whether or not the object is 1665 hidden; if this bit is set, the object cannot be used and the static linker 1666 will ignore the symbol's presence in the object. 1667 1668 Results differ in the interaction of objects that variously use symbol 1669 versioning. 1670 1671 * The object with the reference and the object with the definitions may both 1672 use versioning. All described matching is processed in this case. A fatal 1673 error is triggered when no matching definition can be found in the object 1674 whose name is the one referenced by the vn_name element in the 1675 Elfxx_Verneed entry. 1676 1677 * The object with the reference may not use versioning, while the object with 1678 the definitions does. In this instance, only the definition with index 1679 numbers 1 and 2 will be used in the reference match, the same identified by 1680 the static linker as the base definition. In infrequent cases where the 1681 static linker was not used, as in calls to dlopen(), a version that does 1682 not have the base definition index is acceptable as long as it is the only 1683 version for which the symbol is defined. 1684 1685 * The object with the reference may use versioning, but the object with the 1686 definitions specifies none. A matching symbol is accepted in this case. A 1687 fatal error is triggered in the unlikely event that a corruption in the 1688 required symbols list obscured an outdated object file and caused a match 1689 on the object filename in the Elfxx_Verneed entry. 1690 1691 * Finally, both the object with the reference and the object with the 1692 definitions may not use versioning. The behavior in this instance defaults 1693 to pre-existing symbol rules. 1694 1695 ------------------------------------------------------------------------------- 1696 1697 Chapter 8. ABI note tag 1698 1699 Every executable shall contain a section named .note.ABI-tag of type SHT_NOTE. 1700 This section is structured as a note section as documented in the ELF spec. The 1701 section must contain at least the following entry. The name field (namesz/name) 1702 contains the string "GNU". The type field shall be 1. The descsz field shall be 1703 at least 16, and the first 16 bytes of the desc field shall be as follows. 1704 1705 The first 32-bit word of the desc field must be 0 (this signifies a Linux 1706 executable). The second, third, and fourth 32-bit words of the desc field 1707 contain the earliest compatible kernel version. For example, if the 3 words are 1708 2, 2, and 5, this signifies a 2.2.5 kernel. 1709 1710 III. Dynamic Linking 1711 1712 Table of Contents 1713 9. Program Loading and Dynamic Linking 1714 10. Program Header 1715 11. Dynamic Entries 1716 12. Program Interpreter 1717 1718 ------------------------------------------------------------------------------- 1719 1720 Chapter 9. Program Loading and Dynamic Linking 1721 1722 LSB-conforming implementations shall support the object file information and 1723 system actions that create running programs as specified in the System V 1724 Application Binary Interface, Edition 4.1 and the System V Application Binary 1725 Interface - DRAFT - April 29, 1998 and as supplemented by this document and an 1726 architecture-specific LSB specification. 1727 1728 Any shared object that is loaded must contain sufficient DT_NEEDED records to 1729 satisfy the symbols on the shared library. 1730 1731 ------------------------------------------------------------------------------- 1732 1733 Chapter 10. Program Header 1734 1735 In addition to the Segment Types defined in the System V Application Binary 1736 Interface, Edition 4.1 and the System V Application Binary Interface - DRAFT - 1737 April 29, 1998 the following Segment Types shall also be supported. 1738 1739 Table 10-1. Linux Segment Types 1740 1741 +---------------------------+ 1742 | Name | Value | 1743 |----------------+----------| 1744 |PT_GNU_EH_FRAME |0x6474e550| 1745 +---------------------------+ 1746 1747 PT_GNU_EH_FRAME 1748 1749 The array element specifies the location and size of the exception handling 1750 information as defined by the .eh_frame_hdr section. 1751 1752 ------------------------------------------------------------------------------- 1753 1754 Chapter 11. Dynamic Entries 1755 1756 A dynamic entry's d_tag member control the interpretation of d_un. 1757 1758 ------------------------------------------------------------------------------- 1759 1760 Dynamic Entries 1761 1762 ------------------------------------------------------------------------------- 1763 1764 ELF Dynamic Entries 1765 1766 The following dynamic entries are defined in the System V Application Binary 1767 Interface, Edition 4.1. 1768 1769 DT_BIND_NOW 1770 1771 Process relocations of object 1772 1773 DT_DEBUG 1774 1775 For debugging; unspecified 1776 1777 DT_FINI 1778 1779 Address of termination function 1780 1781 DT_HASH 1782 1783 Address of symbol hash table 1784 1785 DT_HIPROC 1786 1787 End of processor-specific 1788 1789 DT_INIT 1790 1791 Address of init function 1792 1793 DT_JMPREL 1794 1795 Address of PLT relocs 1796 1797 DT_LOPROC 1798 1799 Start of processor-specific 1800 1801 DT_NEEDED 1802 1803 Name of needed library 1804 1805 DT_NULL 1806 1807 Marks end of dynamic section 1808 1809 DT_PLTREL 1810 1811 Type of reloc in PLT 1812 1813 DT_PLTRELSZ 1814 1815 Size in bytes of PLT relocs 1816 1817 DT_REL 1818 1819 Address of Rel relocs 1820 1821 DT_RELA 1822 1823 Address of Rela relocs 1824 1825 DT_RELAENT 1826 1827 Size of one Rela reloc 1828 1829 DT_RELASZ 1830 1831 Total size of Rela relocs 1832 1833 DT_RELENT 1834 1835 Size of one Rel reloc 1836 1837 DT_RELSZ 1838 1839 Total size of Rel relocs 1840 1841 DT_RPATH 1842 1843 Library search path 1844 1845 DT_SONAME 1846 1847 Name of shared object 1848 1849 DT_STRSZ 1850 1851 Size of string table 1852 1853 DT_STRTAB 1854 1855 Address of string table 1856 1857 DT_SYMBOLIC 1858 1859 Start symbol search here 1860 1861 DT_SYMENT 1862 1863 Size of one symbol table entry 1864 1865 DT_SYMTAB 1866 1867 Address of symbol table 1868 1869 DT_TEXTREL 1870 1871 Reloc might modify .text 1872 1873 1874 1875 ------------------------------------------------------------------------------- 1876 1877 Additional Dynamic Entries 1878 1879 The following dynamic entries are defined here. 1880 1881 DT_ADDRRNGHI 1882 1883 Values from DT_ADDRRNGLO through DT_ADDRRNGHI are reserved for definition 1884 by an archLSB. 1885 1886 DT_ADDRRNGLO 1887 1888 Values from DT_ADDRRNGLO through DT_ADDRRNGHI are reserved for definition 1889 by an archLSB. 1890 1891 DT_AUXILIARY 1892 1893 Shared object to load before self 1894 1895 DT_FILTER 1896 1897 Shared object to get values from 1898 1899 DT_FINI_ARRAY 1900 1901 The address of an array of pointers to termination functions. 1902 1903 DT_FINI_ARRAYSZ 1904 1905 Size in bytes of DT_FINI_ARRAY 1906 1907 DT_FLAGS_1 1908 1909 State flags, see DF_1_* below 1910 1911 DT_HIOS 1912 1913 Values from DT_LOOS through DT_HIOS are reserved for definition by specific 1914 operating systems. 1915 1916 DT_INIT_ARRAY 1917 1918 The address of an array of pointers to initialization functions. 1919 1920 DT_INIT_ARRAYSZ 1921 1922 Size in bytes of DT_INIT_ARRAY 1923 1924 DT_LOOS 1925 1926 Values from DT_LOOS through DT_HIOS are reserved for definition by specific 1927 operating systems. 1928 1929 DT_NUM 1930 1931 Number of dynamic entry tags defined (excepting reserved ranges). 1932 1933 DT_POSFLAG_1 1934 1935 Flags for DT_* entries, effecting the following DT_* entry 1936 1937 DT_RELCOUNT 1938 1939 All Elf32_Rel R_*_RELATIVE relocations have been placed into a single block 1940 and this entry specifies the number of entries in that block. This permits 1941 ld.so.1 to streamline the processing of RELATIVE relocations. 1942 1943 DT_SYMINENT 1944 1945 Entry size of syminfo 1946 1947 DT_SYMINFO 1948 1949 Address of the Syminfo table. 1950 1951 DT_SYMINSZ 1952 1953 Size of syminfo table (in bytes) 1954 1955 DT_VALRNGHI 1956 1957 Entries which fall between DT_VALRNGHI & DT_VALRNGLO use the Dyn.d_un.d_val 1958 field of the Elf*_Dyn structure. 1959 1960 DT_VALRNGLO 1961 1962 Entries which fall between DT_VALRNGHI & DT_VALRNGLO use the Dyn.d_un.d_val 1963 field of the Elf*_Dyn structure. 1964 1965 DT_VERDEF 1966 1967 Address of version definition table 1968 1969 DT_VERDEFNUM 1970 1971 Number of version definitions 1972 1973 DT_VERNEED 1974 1975 Address of table with needed versions 1976 1977 DT_VERNEEDNUM 1978 1979 Number of needed versions 1980 1981 DT_VERSYM 1982 1983 Address of the table provided by the .gnu.version section. 1984 1985 1986 1987 ------------------------------------------------------------------------------- 1988 1989 Chapter 12. Program Interpreter 1990 1991 ------------------------------------------------------------------------------- 1992 1993 The Program Interpreter is specified in the appropriate architecture-specific 1994 LSB specification. 1995 1996 IV. Base Libraries 1997 1998 Table of Contents 1999 13. Libraries 2000 2001 ------------------------------------------------------------------------------- 2002 2003 Chapter 13. Libraries 2004 2005 An LSB-conforming implementation shall support some base libraries which 2006 provide interfaces for accessing the operating system, processor and other 2007 hardware in the system. 2008 2009 ------------------------------------------------------------------------------- 2010 2011 Interfaces for libc 2012 2013 Table 13-1. libc Definition 2014 2015 +----------------------+ 2016 |Library:|libc | 2017 |--------+-------------| 2018 |SONAME: |See archLSB. | 2019 +----------------------+ 2020 2021 The behavior of the interfaces in this library is specified by the following 2022 standards. 2023 2024 ISO/IEC 9899: 1999, Programming Languages --C[2] 2025 Large File Support[3] 2026 Linux Standard Base[4] 2027 IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996][5] 2028 CAE Specification, February 1997, Networking Services (XNS), Issue 5(ISBN: 2029 1-85912-165-9, C523)[6] 2030 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 2031 (ISBN: 1-85912-181-0, C606)[7] 2032 The Single UNIX® Specification(SUS) Version 3[8] 2033 System V Interface Definition, Issue 3 (ISBN 0201566524)[9] 2034 System V Interface Definition,Fourth Edition[10] 2035 2036 ------------------------------------------------------------------------------- 2037 2038 RPC 2039 2040 Table 13-2. libc - RPC Function Interfaces 2041 2042 +-----------------------------------------------------------------------------------+ 2043 |authnone_create |svc_getreqset[9] |xdr_bytes |xdr_opaque_auth[9]|xdr_union[9] | 2044 |[10] | |[9] | | | 2045 |------------------+------------------+-----------+------------------+--------------| 2046 |clnt_create[10] |svcerr_auth[9] |xdr_callhdr|xdr_pointer[9] |xdr_vector[9] | 2047 | | |[9] | | | 2048 |------------------+------------------+-----------+------------------+--------------| 2049 |clnt_pcreateerror |svcerr_decode[9] |xdr_callmsg|xdr_reference[9] |xdr_void[9] | 2050 |[10] | |[9] | | | 2051 |------------------+------------------+-----------+------------------+--------------| 2052 |clnt_perrno[10] |svcerr_noproc[9] |xdr_char[9]|xdr_rejected_reply|xdr_wrapstring| 2053 | | | |[9] |[9] | 2054 |------------------+------------------+-----------+------------------+--------------| 2055 |clnt_perror[10] |svcerr_noprog[9] |xdr_double |xdr_replymsg[9] |xdrmem_create | 2056 | | |[9] | |[9] | 2057 |------------------+------------------+-----------+------------------+--------------| 2058 |clnt_spcreateerror|svcerr_progvers[9]|xdr_enum[9]|xdr_short[9] |xdrrec_create | 2059 |[10] | | | |[9] | 2060 |------------------+------------------+-----------+------------------+--------------| 2061 |clnt_sperrno[10] |svcerr_systemerr |xdr_float |xdr_string[9] |xdrrec_eof[9] | 2062 | |[9] |[9] | | | 2063 |------------------+------------------+-----------+------------------+--------------| 2064 |clnt_sperror[10] |svcerr_weakauth[9]|xdr_free[9]|xdr_u_char[9] | | 2065 |------------------+------------------+-----------+------------------+--------------| 2066 |getdomainname[4] |xdr_accepted_reply|xdr_int[9] |xdr_u_int[4] | | 2067 | |[9] | | | | 2068 |------------------+------------------+-----------+------------------+--------------| 2069 |key_decryptsession|xdr_array[9] |xdr_long[9]|xdr_u_long[9] | | 2070 |[9] | | | | | 2071 |------------------+------------------+-----------+------------------+--------------| 2072 |setdomainname[4] |xdr_bool[9] |xdr_opaque |xdr_u_short[9] | | 2073 | | |[9] | | | 2074 +-----------------------------------------------------------------------------------+ 2075 ------------------------------------------------------------------------------- 2076 2077 System Calls 2078 2079 Table 13-3. libc - System Calls Function Interfaces 2080 2081 +------------------------------------------------------------------------------+ 2082 |__fxstat[4] |fchown[7] |initgroups |read[7] |setrlimit64 | 2083 | | |[4] | |[3] | 2084 |------------+-------------+------------+------------------------+-------------| 2085 |__getpgid[4]|fcntl[4] |ioctl[4] |readdir[7] |setsid[7] | 2086 |------------+-------------+------------+------------------------+-------------| 2087 |__lxstat[4] |fdatasync[7] |kill[4] |readdir_r[7] |setuid[7] | 2088 |------------+-------------+------------+------------------------+-------------| 2089 |__xmknod[4] |flock[4] |killpg[7] |readlink[7] |sleep[7] | 2090 |------------+-------------+------------+------------------------+-------------| 2091 |__xstat[4] |fork[7] |lchown[7] |readv[7] |statfs[4] | 2092 |------------+-------------+------------+------------------------+-------------| 2093 |access[7] |fstatfs[4] |link[7] |rename[7] |statvfs[7] | 2094 |------------+-------------+------------+------------------------+-------------| 2095 |acct[4] |fstatvfs[7] |lockf[7] |rmdir[7] |stime[4] | 2096 |------------+-------------+------------+------------------------+-------------| 2097 |alarm[7] |fsync[7] |lseek[7] |sbrk[7] |symlink[7] | 2098 |------------+-------------+------------+------------------------+-------------| 2099 |brk[7] |ftime[7] |mkdir[7] |sched_get_priority_max |sync[7] | 2100 | | | |[7] | | 2101 |------------+-------------+------------+------------------------+-------------| 2102 |chdir[7] |ftruncate[7] |mkfifo[7] |sched_get_priority_min |sysconf[7] | 2103 | | | |[7] | | 2104 |------------+-------------+------------+------------------------+-------------| 2105 |chmod[7] |getcontext[7]|mlock[7] |sched_getparam[7] |time[7] | 2106 |------------+-------------+------------+------------------------+-------------| 2107 |chown[7] |getegid[7] |mlockall[7] |sched_getscheduler[7] |times[7] | 2108 |------------+-------------+------------+------------------------+-------------| 2109 |chroot[7] |geteuid[7] |mmap[7] |sched_rr_get_interval[7]|truncate[7] | 2110 |------------+-------------+------------+------------------------+-------------| 2111 |clock[7] |getgid[7] |mprotect[7] |sched_setparam[7] |ulimit[7] | 2112 |------------+-------------+------------+------------------------+-------------| 2113 |close[7] |getgroups[7] |msync[7] |sched_setscheduler[7] |umask[7] | 2114 |------------+-------------+------------+------------------------+-------------| 2115 |closedir[7] |getitimer[7] |munlock[7] |sched_yield[7] |uname[7] | 2116 |------------+-------------+------------+------------------------+-------------| 2117 |creat[7] |getloadavg[4]|munlockall |select[6] |unlink[4] | 2118 | | |[7] | | | 2119 |------------+-------------+------------+------------------------+-------------| 2120 |dup[7] |getpagesize |munmap[7] |setcontext[7] |utime[7] | 2121 | |[7] | | | | 2122 |------------+-------------+------------+------------------------+-------------| 2123 |dup2[7] |getpgid[7] |nanosleep[7]|setegid[4] |utimes[7] | 2124 |------------+-------------+------------+------------------------+-------------| 2125 |execl[7] |getpgrp[7] |nice[4] |seteuid[4] |vfork[7] | 2126 |------------+-------------+------------+------------------------+-------------| 2127 |execle[7] |getpid[7] |open[7] |setgid[7] |wait[7] | 2128 |------------+-------------+------------+------------------------+-------------| 2129 |execlp[7] |getppid[7] |opendir[7] |setitimer[7] |wait3[4] | 2130 |------------+-------------+------------+------------------------+-------------| 2131 |execv[7] |getpriority |pathconf[7] |setpgid[7] |wait4[4] | 2132 | |[7] | | | | 2133 |------------+-------------+------------+------------------------+-------------| 2134 |execve[7] |getrlimit[7] |pause[7] |setpgrp[7] |waitid[4] | 2135 |------------+-------------+------------+------------------------+-------------| 2136 |execvp[7] |getrusage[7] |pipe[7] |setpriority[7] |waitpid[4] | 2137 |------------+-------------+------------+------------------------+-------------| 2138 |exit[7] |getsid[7] |poll[7] |setregid[7] |write[7] | 2139 |------------+-------------+------------+------------------------+-------------| 2140 |fchdir[7] |getuid[7] |pread[7] |setreuid[7] |writev[7] | 2141 |------------+-------------+------------+------------------------+-------------| 2142 |fchmod[7] |getwd[7] |pwrite[7] |setrlimit[7] | | 2143 +------------------------------------------------------------------------------+ 2144 2145 Table 13-4. libc - System Calls Deprecated Function Interfaces 2146 2147 +-------------------------------------+ 2148 |fstatfs[4] |statfs[4] |waitid[4] | | | 2149 +-------------------------------------+ 2150 ------------------------------------------------------------------------------- 2151 2152 Standard I/O 2153 2154 Table 13-5. libc - Standard I/O Function Interfaces 2155 2156 +-------------------------------------------------------------------------------+ 2157 |_IO_feof[4] |fgetc[7] |fseeko[7] |putc[7] |snprintf[7]| 2158 |----------------+----------------+----------------+----------------+-----------| 2159 |_IO_getc[4] |fgetpos[7] |fsetpos[7] |putc_unlocked[7]|sprintf[7] | 2160 |----------------+----------------+----------------+----------------+-----------| 2161 |_IO_putc[4] |fgets[7] |ftell[7] |putchar[7] |sscanf[7] | 2162 |----------------+----------------+----------------+----------------+-----------| 2163 |_IO_puts[4] |fgetwc_unlocked |ftello[7] |putchar_unlocked|telldir[7] | 2164 | |[7] | |[7] | | 2165 |----------------+----------------+----------------+----------------+-----------| 2166 |alphasort[4] |fileno[7] |fwrite[7] |puts[7] |tempnam[7] | 2167 |----------------+----------------+----------------+----------------+-----------| 2168 |asprintf[4] |flockfile[7] |getc[7] |putw[7] |ungetc[7] | 2169 |----------------+----------------+----------------+----------------+-----------| 2170 |clearerr[7] |fopen[7] |getc_unlocked[7]|remove[7] |vasprintf | 2171 | | | | |[4] | 2172 |----------------+----------------+----------------+----------------+-----------| 2173 |ctermid[7] |fprintf[7] |getchar[7] |rewind[7] |vdprintf[4]| 2174 |----------------+----------------+----------------+----------------+-----------| 2175 |fclose[7] |fputc[7] |getchar_unlocked|rewinddir[7] |vfprintf[7]| 2176 | | |[7] | | | 2177 |----------------+----------------+----------------+----------------+-----------| 2178 |fdopen[7] |fputs[7] |gets[4] |scanf[7] |vprintf[7] | 2179 |----------------+----------------+----------------+----------------+-----------| 2180 |feof[7] |fread[7] |getw[7] |seekdir[7] |vsnprintf | 2181 | | | | |[7] | 2182 |----------------+----------------+----------------+----------------+-----------| 2183 |ferror[7] |freopen[7] |pclose[7] |setbuf[7] |vsprintf[7]| 2184 |----------------+----------------+----------------+----------------+-----------| 2185 |fflush[7] |fscanf[7] |popen[7] |setbuffer[4] | | 2186 |----------------+----------------+----------------+----------------+-----------| 2187 |fflush_unlocked |fseek[7] |printf[7] |setvbuf[7] | | 2188 |[7] | | | | | 2189 +-------------------------------------------------------------------------------+ 2190 2191 Table 13-6. libc - Standard I/O Deprecated Function Interfaces 2192 2193 +----------------------+ 2194 |alphasort[4] | | | | | 2195 +----------------------+ 2196 2197 Table 13-7. libc - Standard I/O Data Interfaces 2198 2199 +----------------------------------+ 2200 |stderr[7] |stdin[7]|stdout[7] | | | 2201 +----------------------------------+ 2202 ------------------------------------------------------------------------------- 2203 2204 Signal Handling 2205 2206 Table 13-8. libc - Signal Handling Function Interfaces 2207 2208 +-----------------------------------------------------------------------------+ 2209 |__libc_current_sigrtmax|sigaddset[7]|sighold[7] |sigpause[7] |sigsuspend[7]| 2210 |[4] | | | | | 2211 |-----------------------+------------+-------------+------------+-------------| 2212 |__libc_current_sigrtmin|sigaltstack |sigignore[7] |sigpending |sigtimedwait | 2213 |[4] |[7] | |[7] |[7] | 2214 |-----------------------+------------+-------------+------------+-------------| 2215 |__sigsetjmp[4] |sigandset[4]|siginterrupt |sigprocmask |sigwait[7] | 2216 | | |[7] |[7] | | 2217 |-----------------------+------------+-------------+------------+-------------| 2218 |__sysv_signal[4] |sigblock[4] |sigisemptyset|sigqueue[7] |sigwaitinfo | 2219 | | |[4] | |[7] | 2220 |-----------------------+------------+-------------+------------+-------------| 2221 |bsd_signal[7] |sigdelset[7]|sigismember |sigrelse[7] | | 2222 | | |[7] | | | 2223 |-----------------------+------------+-------------+------------+-------------| 2224 |psignal[4] |sigemptyset |siglongjmp[7]|sigreturn[4]| | 2225 | |[7] | | | | 2226 |-----------------------+------------+-------------+------------+-------------| 2227 |raise[7] |sigfillset |signal[7] |sigset[7] | | 2228 | |[7] | | | | 2229 |-----------------------+------------+-------------+------------+-------------| 2230 |sigaction[7] |siggetmask |sigorset[4] |sigstack[7] | | 2231 | |[4] | | | | 2232 +-----------------------------------------------------------------------------+ 2233 2234 Table 13-9. libc - Signal Handling Data Interfaces 2235 2236 +------------------------+ 2237 |_sys_siglist[4] | | | | | 2238 +------------------------+ 2239 ------------------------------------------------------------------------------- 2240 2241 Localization Functions 2242 2243 Table 13-10. libc - Localization Functions Function Interfaces 2244 2245 +-----------------------------------------------------------------------------+ 2246 |__dcgettext[4] |catgets[7] |dgettext[4]|iconv_close |nl_langinfo | 2247 | | | |[7] |[7] | 2248 |------------------------+------------+-----------+-------------+-------------| 2249 |bind_textdomain_codeset |catopen[7] |dngettext |iconv_open[7]|setlocale[7] | 2250 |[4] | |[4] | | | 2251 |------------------------+------------+-----------+-------------+-------------| 2252 |bindtextdomain[4] |dcgettext[4]|gettext[4] |localeconv[7]|textdomain[4]| 2253 |------------------------+------------+-----------+-------------+-------------| 2254 |catclose[7] |dcngettext |iconv[7] |ngettext[4] | | 2255 | |[4] | | | | 2256 +-----------------------------------------------------------------------------+ 2257 2258 Table 13-11. libc - Localization Functions Deprecated Function Interfaces 2259 2260 +------------------------+ 2261 |__dcgettext[4] | | | | | 2262 +------------------------+ 2263 2264 Table 13-12. libc - Localization Functions Data Interfaces 2265 2266 +----------------------------+ 2267 |_nl_msg_cat_cntr[4] | | | | | 2268 +----------------------------+ 2269 ------------------------------------------------------------------------------- 2270 2271 Socket Interface 2272 2273 Table 13-13. libc - Socket Interface Function Interfaces 2274 2275 +-----------------------------------------------------------------------------+ 2276 |__h_errno_location |gethostbyname_r |getsockopt |send[6] |socket[6] | 2277 |[4] |[4] |[6] | | | 2278 |--------------------+-----------------+------------+------------+------------| 2279 |accept[6] |gethostid[7] |listen[6] |sendmsg[6] |socketpair | 2280 | | | | |[6] | 2281 |--------------------+-----------------+------------+------------+------------| 2282 |bind[6] |gethostname[6] |recv[6] |sendto[6] | | 2283 |--------------------+-----------------+------------+------------+------------| 2284 |bindresvport[4] |getpeername[6] |recvfrom[6] |setsockopt | | 2285 | | | |[6] | | 2286 |--------------------+-----------------+------------+------------+------------| 2287 |connect[6] |getsockname[6] |recvmsg[6] |shutdown[6] | | 2288 +-----------------------------------------------------------------------------+ 2289 ------------------------------------------------------------------------------- 2290 2291 Wide Characters 2292 2293 Table 13-14. libc - Wide Characters Function Interfaces 2294 2295 +-----------------------------------------------------------------------------+ 2296 |__wcstod_internal[4] |mbsinit[7] |vwscanf[2] |wcsnlen[4] |wcstoumax[2]| 2297 |---------------------+-------------+--------------+-------------+------------| 2298 |__wcstof_internal[4] |mbsnrtowcs[4]|wcpcpy[4] |wcsnrtombs[4]|wcstouq[4] | 2299 |---------------------+-------------+--------------+-------------+------------| 2300 |__wcstol_internal[4] |mbsrtowcs[7] |wcpncpy[4] |wcspbrk[2] |wcswcs[7] | 2301 |---------------------+-------------+--------------+-------------+------------| 2302 |__wcstold_internal[4]|mbstowcs[7] |wcrtomb[7] |wcsrchr[7] |wcswidth[7] | 2303 |---------------------+-------------+--------------+-------------+------------| 2304 |__wcstoul_internal[4]|mbtowc[7] |wcscasecmp[4] |wcsrtombs[7] |wcsxfrm[7] | 2305 |---------------------+-------------+--------------+-------------+------------| 2306 |btowc[7] |putwc[2] |wcscat[7] |wcsspn[7] |wctob[7] | 2307 |---------------------+-------------+--------------+-------------+------------| 2308 |fgetwc[7] |putwchar[2] |wcschr[7] |wcsstr[7] |wctomb[7] | 2309 |---------------------+-------------+--------------+-------------+------------| 2310 |fgetws[2] |swprintf[7] |wcscmp[7] |wcstod[7] |wctrans[7] | 2311 |---------------------+-------------+--------------+-------------+------------| 2312 |fputwc[2] |swscanf[2] |wcscoll[7] |wcstof[2] |wctype[7] | 2313 |---------------------+-------------+--------------+-------------+------------| 2314 |fputws[2] |towctrans[7] |wcscpy[7] |wcstoimax[2] |wcwidth[7] | 2315 |---------------------+-------------+--------------+-------------+------------| 2316 |fwide[2] |towlower[2] |wcscspn[7] |wcstok[7] |wmemchr[7] | 2317 |---------------------+-------------+--------------+-------------+------------| 2318 |fwprintf[7] |towupper[7] |wcsdup[4] |wcstol[7] |wmemcmp[7] | 2319 |---------------------+-------------+--------------+-------------+------------| 2320 |fwscanf[2] |ungetwc[2] |wcsftime[2] |wcstold[2] |wmemcpy[7] | 2321 |---------------------+-------------+--------------+-------------+------------| 2322 |getwc[2] |vfwprintf[2] |wcslen[7] |wcstoll[2] |wmemmove[7] | 2323 |---------------------+-------------+--------------+-------------+------------| 2324 |getwchar[7] |vfwscanf[2] |wcsncasecmp[4]|wcstombs[7] |wmemset[7] | 2325 |---------------------+-------------+--------------+-------------+------------| 2326 |mblen[7] |vswprintf[2] |wcsncat[7] |wcstoq[4] |wprintf[2] | 2327 |---------------------+-------------+--------------+-------------+------------| 2328 |mbrlen[7] |vswscanf[2] |wcsncmp[7] |wcstoul[7] |wscanf[2] | 2329 |---------------------+-------------+--------------+-------------+------------| 2330 |mbrtowc[7] |vwprintf[2] |wcsncpy[7] |wcstoull[2] | | 2331 +-----------------------------------------------------------------------------+ 2332 ------------------------------------------------------------------------------- 2333 2334 String Functions 2335 2336 Table 13-15. libc - String Functions Function Interfaces 2337 2338 +-----------------------------------------------------------------------------+ 2339 |__mempcpy[4] |bzero[7] |strcasestr[4]|strncasecmp |strtoimax[2] | 2340 | | | |[7] | | 2341 |---------------------+-------------+-------------+-------------+-------------| 2342 |__rawmemchr[4] |ffs[7] |strcat[7] |strncat[7] |strtok[7] | 2343 |---------------------+-------------+-------------+-------------+-------------| 2344 |__stpcpy[4] |index[7] |strchr[7] |strncmp[7] |strtok_r[4] | 2345 |---------------------+-------------+-------------+-------------+-------------| 2346 |__strdup[4] |memccpy[7] |strcmp[7] |strncpy[7] |strtold[2] | 2347 |---------------------+-------------+-------------+-------------+-------------| 2348 |__strtod_internal[4] |memchr[7] |strcoll[7] |strndup[4] |strtoll[2] | 2349 |---------------------+-------------+-------------+-------------+-------------| 2350 |__strtof_internal[4] |memcmp[7] |strcpy[7] |strnlen[4] |strtoq[4] | 2351 |---------------------+-------------+-------------+-------------+-------------| 2352 |__strtok_r[4] |memcpy[7] |strcspn[7] |strpbrk[7] |strtoull[2] | 2353 |---------------------+-------------+-------------+-------------+-------------| 2354 |__strtol_internal[4] |memmove[7] |strdup[7] |strptime[4] |strtoumax[2] | 2355 |---------------------+-------------+-------------+-------------+-------------| 2356 |__strtold_internal[4]|memrchr[4] |strerror[7] |strrchr[7] |strtouq[4] | 2357 |---------------------+-------------+-------------+-------------+-------------| 2358 |__strtoll_internal[4]|memset[7] |strerror_r[4]|strsep[4] |strverscmp[4]| 2359 |---------------------+-------------+-------------+-------------+-------------| 2360 |__strtoul_internal[4]|rindex[7] |strfmon[7] |strsignal[4] |strxfrm[7] | 2361 |---------------------+-------------+-------------+-------------+-------------| 2362 |__strtoull_internal |stpcpy[4] |strfry[4] |strspn[7] |swab[7] | 2363 |[4] | | | | | 2364 |---------------------+-------------+-------------+-------------+-------------| 2365 |bcmp[7] |stpncpy[4] |strftime[7] |strstr[7] | | 2366 |---------------------+-------------+-------------+-------------+-------------| 2367 |bcopy[7] |strcasecmp[7]|strlen[7] |strtof[2] | | 2368 +-----------------------------------------------------------------------------+ 2369 ------------------------------------------------------------------------------- 2370 2371 IPC Functions 2372 2373 Table 13-16. libc - IPC Functions Function Interfaces 2374 2375 +--------------------------------------------+ 2376 |ftok[7] |msgrcv[7] |semget[7]|shmctl[7] | | 2377 |----------+----------+---------+----------+-| 2378 |msgctl[7] |msgsnd[7] |semop[7] |shmdt[7] | | 2379 |----------+----------+---------+----------+-| 2380 |msgget[7] |semctl[7] |shmat[7] |shmget[7] | | 2381 +--------------------------------------------+ 2382 ------------------------------------------------------------------------------- 2383 2384 Regular Expressions 2385 2386 Table 13-17. libc - Regular Expressions Function Interfaces 2387 2388 +-------------------------------------------------+ 2389 |advance[7]|re_exec[7] |regerror[7] |regfree[7] | | 2390 |----------+-----------+------------+-----------+-| 2391 |re_comp[7]|regcomp[7] |regexec[7] |step[7] | | 2392 +-------------------------------------------------+ 2393 2394 Table 13-18. libc - Regular Expressions Data Interfaces 2395 2396 +------------------------------+ 2397 |loc1[7] |loc2[7] |locs[7] | | | 2398 +------------------------------+ 2399 ------------------------------------------------------------------------------- 2400 2401 Character Type Functions 2402 2403 Table 13-19. libc - Character Type Functions Function Interfaces 2404 2405 +---------------------------------------------------------------------------+ 2406 |__ctype_get_mb_cur_max[4] |isdigit[7]|iswalnum[7] |iswlower[7] |toascii[7]| 2407 |--------------------------+----------+------------+-------------+----------| 2408 |_tolower[7] |isgraph[7]|iswalpha[7] |iswprint[7] |tolower[7]| 2409 |--------------------------+----------+------------+-------------+----------| 2410 |_toupper[7] |islower[7]|iswblank[8] |iswpunct[7] |toupper[7]| 2411 |--------------------------+----------+------------+-------------+----------| 2412 |isalnum[7] |isprint[7]|iswcntrl[7] |iswspace[7] | | 2413 |--------------------------+----------+------------+-------------+----------| 2414 |isalpha[7] |ispunct[7]|iswctype[4] |iswupper[7] | | 2415 |--------------------------+----------+------------+-------------+----------| 2416 |isascii[7] |isspace[7]|iswdigit[7] |iswxdigit[7] | | 2417 |--------------------------+----------+------------+-------------+----------| 2418 |iscntrl[7] |isupper[7]|iswgraph[7] |isxdigit[7] | | 2419 +---------------------------------------------------------------------------+ 2420 2421 Table 13-20. libc - Character Type Functions Data Interfaces 2422 2423 +--------------------------------------------------------+ 2424 |__ctype_b[4]|__ctype_tolower[4] |__ctype_toupper[4] | | | 2425 +--------------------------------------------------------+ 2426 ------------------------------------------------------------------------------- 2427 2428 Time Manipulation 2429 2430 Table 13-21. libc - Time Manipulation Function Interfaces 2431 2432 +----------------------------------------------------------------+ 2433 |adjtime[4] |asctime_r[7] |difftime[7]|localtime[7] |tzset[7] | 2434 |------------+-------------+-----------+---------------+---------| 2435 |adjtimex[4] |ctime[7] |gmtime[7] |localtime_r[7] |ualarm[7]| 2436 |------------+-------------+-----------+---------------+---------| 2437 |asctime[7] |ctime_r[7] |gmtime_r[7]|mktime[7] | | 2438 +----------------------------------------------------------------+ 2439 2440 Table 13-22. libc - Time Manipulation Data Interfaces 2441 2442 +--------------------------------------------+ 2443 |__daylight[4] |__tzname[4] |timezone[7] | | | 2444 |--------------+------------+------------+-+-| 2445 |__timezone[4] |daylight[7] |tzname[7] | | | 2446 +--------------------------------------------+ 2447 ------------------------------------------------------------------------------- 2448 2449 Terminal Interface Functions 2450 2451 Table 13-23. libc - Terminal Interface Functions Function Interfaces 2452 2453 +---------------------------------------------------------------------+ 2454 |cfgetispeed[7]|cfsetispeed[7] |tcdrain[7]|tcgetattr[7]|tcsendbreak[7]| 2455 |--------------+---------------+----------+------------+--------------| 2456 |cfgetospeed[7]|cfsetospeed[7] |tcflow[7] |tcgetpgrp[7]|tcsetattr[7] | 2457 |--------------+---------------+----------+------------+--------------| 2458 |cfmakeraw[4] |cfsetspeed[4] |tcflush[7]|tcgetsid[7] |tcsetpgrp[7] | 2459 +---------------------------------------------------------------------+ 2460 ------------------------------------------------------------------------------- 2461 2462 System Database Interface 2463 2464 Table 13-24. libc - System Database Interface Function Interfaces 2465 2466 +------------------------------------------------------------------------------+ 2467 |endgrent[7] |getgrgid[7] |getprotoent[7] |getutent[4] |setmntent[4] | 2468 |--------------+------------------+---------------+-------------+--------------| 2469 |endhostent[6] |getgrgid_r[7] |getpwent[7] |getutent_r[4]|setnetent[6] | 2470 |--------------+------------------+---------------+-------------+--------------| 2471 |endnetent[6] |getgrnam[7] |getpwnam[7] |getutxent[7] |setprotoent[6]| 2472 |--------------+------------------+---------------+-------------+--------------| 2473 |endprotoent[6]|getgrnam_r[7] |getpwnam_r[4] |getutxid[7] |setpwent[7] | 2474 |--------------+------------------+---------------+-------------+--------------| 2475 |endpwent[7] |gethostbyaddr[6] |getpwuid[7] |getutxline[7]|setservent[6] | 2476 |--------------+------------------+---------------+-------------+--------------| 2477 |endservent[6] |gethostbyname[4] |getpwuid_r[7] |pututxline[7]|setutent[4] | 2478 |--------------+------------------+---------------+-------------+--------------| 2479 |endutent[7] |getnetbyaddr[6] |getservbyname |setgrent[7] |setutxent[7] | 2480 | | |[4] | | | 2481 |--------------+------------------+---------------+-------------+--------------| 2482 |endutxent[7] |getprotobyname[7] |getservbyport |setgroups[4] | | 2483 | | |[6] | | | 2484 |--------------+------------------+---------------+-------------+--------------| 2485 |getgrent[7] |getprotobynumber |getservent[4] |sethostent[6]| | 2486 | |[6] | | | | 2487 +------------------------------------------------------------------------------+ 2488 2489 Table 13-25. libc - System Database Interface Deprecated Function Interfaces 2490 2491 +----------------------------------------------+ 2492 |endhostent[6] |sethostent[6] |setmntent[4]| | | 2493 +----------------------------------------------+ 2494 ------------------------------------------------------------------------------- 2495 2496 Language Support 2497 2498 Table 13-26. libc - Language Support Function Interfaces 2499 2500 +-------------------------------------------------------------------------------+ 2501 |__libc_start_main[4]|_obstack_begin[4] |_obstack_newchunk[4]|obstack_free[4] | | 2502 +-------------------------------------------------------------------------------+ 2503 ------------------------------------------------------------------------------- 2504 2505 Large File Support 2506 2507 Table 13-27. libc - Large File Support Function Interfaces 2508 2509 +------------------------------------------------------------------------+ 2510 |__fxstat64[4] |fopen64[3] |ftello64[3] |mkstemp64[3]|readdir64[3] | 2511 |---------------+-------------+---------------+------------+-------------| 2512 |__lxstat64[4] |freopen64[3] |ftruncate64[3] |mmap64[3] |statfs64[4] | 2513 |---------------+-------------+---------------+------------+-------------| 2514 |__xstat64[4] |fseeko64[3] |ftw64[3] |nftw64[3] |statvfs64[3] | 2515 |---------------+-------------+---------------+------------+-------------| 2516 |alphasort64[4] |fsetpos64[3] |getrlimit64[3] |open64[3] |tmpfile64[3] | 2517 |---------------+-------------+---------------+------------+-------------| 2518 |creat64[3] |fstatfs64[4] |lockf64[3] |pread64[3] |truncate64[3]| 2519 |---------------+-------------+---------------+------------+-------------| 2520 |fgetpos64[3] |fstatvfs64[3]|lseek64[3] |pwrite64[3] | | 2521 +------------------------------------------------------------------------+ 2522 2523 Table 13-28. libc - Large File Support Deprecated Function Interfaces 2524 2525 +----------------------------------------------+ 2526 |alphasort64[4] |fstatfs64[4] |statfs64[4] | | | 2527 +----------------------------------------------+ 2528 ------------------------------------------------------------------------------- 2529 2530 Standard Library 2531 2532 Table 13-29. libc - Standard Library Function Interfaces 2533 2534 +-----------------------------------------------------------------------------+ 2535 |_Exit[2] |div[7] |globfree64 |longjmp[7] |srand[7] | 2536 | | |[4] | | | 2537 |-----------------+-----------------+------------+---------------+------------| 2538 |__assert_fail[4] |drand48[7] |grantpt[7] |lrand48[7] |srand48[7] | 2539 |-----------------+-----------------+------------+---------------+------------| 2540 |__cxa_atexit[4] |ecvt[7] |hcreate[7] |lsearch[7] |srandom[7] | 2541 |-----------------+-----------------+------------+---------------+------------| 2542 |__errno_location |erand48[7] |hdestroy[7] |makecontext[7] |strtod[7] | 2543 |[4] | | | | | 2544 |-----------------+-----------------+------------+---------------+------------| 2545 |__fpending[4] |err[4] |hsearch[7] |malloc[7] |strtol[7] | 2546 |-----------------+-----------------+------------+---------------+------------| 2547 |__getpagesize[4] |error[4] |htonl[6] |memmem[4] |strtoul[7] | 2548 |-----------------+-----------------+------------+---------------+------------| 2549 |__isinf[4] |errx[4] |htons[6] |mkstemp[7] |swapcontext | 2550 | | | | |[7] | 2551 |-----------------+-----------------+------------+---------------+------------| 2552 |__isinff[4] |fcvt[7] |imaxabs[2] |mktemp[7] |syslog[7] | 2553 |-----------------+-----------------+------------+---------------+------------| 2554 |__isinfl[4] |fmtmsg[7] |imaxdiv[2] |mrand48[7] |system[4] | 2555 |-----------------+-----------------+------------+---------------+------------| 2556 |__isnan[4] |fnmatch[7] |inet_addr[6]|nftw[7] |tdelete[7] | 2557 |-----------------+-----------------+------------+---------------+------------| 2558 |__isnanf[4] |fpathconf[7] |inet_aton[6]|nrand48[7] |tfind[7] | 2559 |-----------------+-----------------+------------+---------------+------------| 2560 |__isnanl[4] |free[7] |inet_ntoa[6]|ntohl[6] |tmpfile[7] | 2561 |-----------------+-----------------+------------+---------------+------------| 2562 |__sysconf[4] |freeaddrinfo[8] |inet_ntop[8]|ntohs[6] |tmpnam[7] | 2563 |-----------------+-----------------+------------+---------------+------------| 2564 |_exit[7] |ftrylockfile[7] |inet_pton[8]|openlog[7] |tsearch[7] | 2565 |-----------------+-----------------+------------+---------------+------------| 2566 |_longjmp[7] |ftw[7] |initstate[7]|perror[7] |ttyname[7] | 2567 |-----------------+-----------------+------------+---------------+------------| 2568 |_setjmp[7] |funlockfile[7] |insque[7] |posix_memalign |ttyname_r[7]| 2569 | | | |[5] | | 2570 |-----------------+-----------------+------------+---------------+------------| 2571 |a64l[7] |gai_strerror[8] |isatty[7] |ptsname[7] |twalk[7] | 2572 |-----------------+-----------------+------------+---------------+------------| 2573 |abort[7] |gcvt[7] |isblank[8] |putenv[7] |unlockpt[7] | 2574 |-----------------+-----------------+------------+---------------+------------| 2575 |abs[7] |getaddrinfo[8] |isinf[2] |qsort[7] |unsetenv[4] | 2576 |-----------------+-----------------+------------+---------------+------------| 2577 |atexit[7] |getcwd[7] |isinff |rand[7] |usleep[7] | 2578 |-----------------+-----------------+------------+---------------+------------| 2579 |atof[7] |getdate[7] |isinfl[2] |rand_r[7] |verrx[4] | 2580 |-----------------+-----------------+------------+---------------+------------| 2581 |atoi[7] |getenv[7] |isnan[2] |random[7] |vfscanf[2] | 2582 |-----------------+-----------------+------------+---------------+------------| 2583 |atol[7] |getlogin[7] |isnanf[2] |random_r[4] |vscanf[2] | 2584 |-----------------+-----------------+------------+---------------+------------| 2585 |atoll[2] |getnameinfo[8] |isnanl[2] |realloc[7] |vsscanf[2] | 2586 |-----------------+-----------------+------------+---------------+------------| 2587 |basename[7] |getopt[4] |jrand48[7] |realpath[7] |vsyslog[4] | 2588 |-----------------+-----------------+------------+---------------+------------| 2589 |bsearch[7] |getopt_long[4] |l64a[7] |remque[7] |warn[4] | 2590 |-----------------+-----------------+------------+---------------+------------| 2591 |calloc[7] |getopt_long_only |labs[7] |seed48[7] |warnx[4] | 2592 | |[4] | | | | 2593 |-----------------+-----------------+------------+---------------+------------| 2594 |closelog[7] |getsubopt[7] |lcong48[7] |setenv[4] |wordexp[7] | 2595 |-----------------+-----------------+------------+---------------+------------| 2596 |confstr[7] |gettimeofday[7] |ldiv[7] |sethostid[4] |wordfree[7] | 2597 |-----------------+-----------------+------------+---------------+------------| 2598 |cuserid[7] |glob[7] |lfind[7] |sethostname[4] | | 2599 |-----------------+-----------------+------------+---------------+------------| 2600 |daemon[4] |glob64[4] |llabs[2] |setlogmask[7] | | 2601 |-----------------+-----------------+------------+---------------+------------| 2602 |dirname[7] |globfree[7] |lldiv[2] |setstate[7] | | 2603 +-----------------------------------------------------------------------------+ 2604 2605 Table 13-30. libc - Standard Library Data Interfaces 2606 2607 +-----------------------------------------------------------------+ 2608 |__environ[4]|_sys_errlist[4] |getdate_err[7] |opterr[4]|optopt[4]| 2609 |------------+----------------+---------------+---------+---------| 2610 |_environ[4] |environ[7] |optarg[7] |optind[4]| | 2611 +-----------------------------------------------------------------+ 2612 ------------------------------------------------------------------------------- 2613 2614 Data Definitions for libc 2615 2616 This section contains standard data definitions that describe system data. 2617 These definitions are organized into groups that correspond to system headers. 2618 This convention is used as a convenience for the reader, and does not imply the 2619 existence of these headers, or their content. 2620 2621 ISO C serves as the LSB reference programming language, and data definitions 2622 are specified in ISO C format. The C language is used here as a convenient 2623 notation. Using a C language description of these data objects does not 2624 preclude their use by other programming languages. 2625 2626 ------------------------------------------------------------------------------- 2627 2628 assert.h 2629 2630 #define assert(expr) ((void)0) 2631 ------------------------------------------------------------------------------- 2632 2633 ctype.h 2634 2635 2636 2637 2638 2639 2640 enum 2641 { 2642 _ISupper, _ISlower, _ISalpha, _ISdigit, _ISxdigit, _ISspace, _ISprint, 2643 _ISgraph, _ISblank, _IScntrl, _ISpunct, _ISalnum 2644 } 2645 ; 2646 ------------------------------------------------------------------------------- 2647 2648 dirent.h 2649 2650 2651 2652 2653 2654 2655 typedef struct __dirstream DIR; 2656 2657 2658 2659 2660 2661 struct dirent 2662 { 2663 long d_ino; 2664 off_t d_off; 2665 unsigned short d_reclen; 2666 unsigned char d_type; 2667 char d_name[256]; 2668 } 2669 ; 2670 struct dirent64 2671 { 2672 uint64_t d_ino; 2673 int64_t d_off; 2674 unsigned short d_reclen; 2675 unsigned char d_type; 2676 char d_name[256]; 2677 } 2678 ; 2679 ------------------------------------------------------------------------------- 2680 2681 errno.h 2682 2683 #define errno (*__errno_location()) 2684 2685 2686 2687 #define EPERM 1 2688 #define ECHILD 10 2689 #define ENETDOWN 100 2690 #define ENETUNREACH 101 2691 #define ENETRESET 102 2692 #define ECONNABORTED 103 2693 #define ECONNRESET 104 2694 #define ENOBUFS 105 2695 #define EISCONN 106 2696 #define ENOTCONN 107 2697 #define ESHUTDOWN 108 2698 #define ETOOMANYREFS 109 2699 #define EAGAIN 11 2700 #define ETIMEDOUT 110 2701 #define ECONNREFUSED 111 2702 #define EHOSTDOWN 112 2703 #define EHOSTUNREACH 113 2704 #define EALREADY 114 2705 #define EINPROGRESS 115 2706 #define ESTALE 116 2707 #define EUCLEAN 117 2708 #define ENOTNAM 118 2709 #define ENAVAIL 119 2710 #define ENOMEM 12 2711 #define EISNAM 120 2712 #define EREMOTEIO 121 2713 #define EDQUOT 122 2714 #define ENOMEDIUM 123 2715 #define EMEDIUMTYPE 124 2716 #define ECANCELED 125 2717 #define EACCES 13 2718 #define EFAULT 14 2719 #define ENOTBLK 15 2720 #define EBUSY 16 2721 #define EEXIST 17 2722 #define EXDEV 18 2723 #define ENODEV 19 2724 #define ENOENT 2 2725 #define ENOTDIR 20 2726 #define EISDIR 21 2727 #define EINVAL 22 2728 #define ENFILE 23 2729 #define EMFILE 24 2730 #define ENOTTY 25 2731 #define ETXTBSY 26 2732 #define EFBIG 27 2733 #define ENOSPC 28 2734 #define ESPIPE 29 2735 #define ESRCH 3 2736 #define EROFS 30 2737 #define EMLINK 31 2738 #define EPIPE 32 2739 #define EDOM 33 2740 #define ERANGE 34 2741 #define EDEADLK 35 2742 #define ENAMETOOLONG 36 2743 #define ENOLCK 37 2744 #define ENOSYS 38 2745 #define ENOTEMPTY 39 2746 #define EINTR 4 2747 #define ELOOP 40 2748 #define ENOMSG 42 2749 #define EIDRM 43 2750 #define ECHRNG 44 2751 #define EL2NSYNC 45 2752 #define EL3HLT 46 2753 #define EL3RST 47 2754 #define ELNRNG 48 2755 #define EUNATCH 49 2756 #define EIO 5 2757 #define ENOANO 55 2758 #define EBADRQC 56 2759 #define EBADSLT 57 2760 #define EBFONT 59 2761 #define ENXIO 6 2762 #define ENOSTR 60 2763 #define ENODATA 61 2764 #define ETIME 62 2765 #define ENOSR 63 2766 #define ENONET 64 2767 #define ENOPKG 65 2768 #define EREMOTE 66 2769 #define ENOLINK 67 2770 #define EADV 68 2771 #define ESRMNT 69 2772 #define E2BIG 7 2773 #define ECOMM 70 2774 #define EPROTO 71 2775 #define EMULTIHOP 72 2776 #define EDOTDOT 73 2777 #define EBADMSG 74 2778 #define EOVERFLOW 75 2779 #define ENOTUNIQ 76 2780 #define EBADFD 77 2781 #define EREMCHG 78 2782 #define ELIBACC 79 2783 #define ENOEXEC 8 2784 #define ELIBBAD 80 2785 #define ELIBSCN 81 2786 #define ELIBMAX 82 2787 #define ELIBEXEC 83 2788 #define EILSEQ 84 2789 #define ERESTART 85 2790 #define ESTRPIPE 86 2791 #define EUSERS 87 2792 #define ENOTSOCK 88 2793 #define EDESTADDRREQ 89 2794 #define EBADF 9 2795 #define EMSGSIZE 90 2796 #define EPROTOTYPE 91 2797 #define ENOPROTOOPT 92 2798 #define EPROTONOSUPPORT 93 2799 #define ESOCKTNOSUPPORT 94 2800 #define EOPNOTSUPP 95 2801 #define EPFNOSUPPORT 96 2802 #define EAFNOSUPPORT 97 2803 #define EADDRINUSE 98 2804 #define EADDRNOTAVAIL 99 2805 #define EWOULDBLOCK EAGAIN 2806 #define ENOTSUP EOPNOTSUPP 2807 ------------------------------------------------------------------------------- 2808 2809 fcntl.h 2810 2811 #define O_RDONLY 00 2812 #define O_ACCMODE 0003 2813 #define O_WRONLY 01 2814 #define O_CREAT 0100 2815 #define O_TRUNC 01000 2816 #define O_SYNC 010000 2817 #define O_RDWR 02 2818 #define O_EXCL 0200 2819 #define O_APPEND 02000 2820 #define O_ASYNC 020000 2821 #define O_NOCTTY 0400 2822 #define O_NDELAY 04000 2823 #define O_NONBLOCK 04000 2824 #define FD_CLOEXEC 1 2825 2826 2827 struct flock 2828 { 2829 short l_type; 2830 short l_whence; 2831 off_t l_start; 2832 off_t l_len; 2833 pid_t l_pid; 2834 } 2835 ; 2836 struct flock64 2837 { 2838 short l_type; 2839 short l_whence; 2840 loff_t l_start; 2841 loff_t l_len; 2842 pid_t l_pid; 2843 } 2844 ; 2845 2846 2847 2848 2849 2850 2851 #define F_DUPFD 0 2852 #define F_RDLCK 0 2853 #define F_GETFD 1 2854 #define F_WRLCK 1 2855 #define F_SETFD 2 2856 #define F_UNLCK 2 2857 #define F_GETFL 3 2858 #define F_SETFL 4 2859 #define F_GETLK 5 2860 #define F_SETLK 6 2861 #define F_SETLKW 7 2862 #define F_SETOWN 8 2863 #define F_GETOWN 9 2864 ------------------------------------------------------------------------------- 2865 2866 fmtmsg.h 2867 2868 2869 2870 2871 #define MM_HARD 1 2872 #define MM_NRECOV 128 2873 #define MM_UTIL 16 2874 #define MM_SOFT 2 2875 #define MM_OPSYS 32 2876 #define MM_FIRM 4 2877 #define MM_RECOVER 64 2878 #define MM_APPL 8 2879 2880 2881 2882 #define MM_NOSEV 0 2883 #define MM_HALT 1 2884 #define MM_ERROR 2 2885 2886 2887 2888 #define MM_NULLLBL ((char *) 0) 2889 ------------------------------------------------------------------------------- 2890 2891 fnmatch.h 2892 2893 2894 2895 2896 #define FNM_PATHNAME (1<<0) 2897 #define FNM_NOESCAPE (1<<1) 2898 #define FNM_PERIOD (1<<2) 2899 #define FNM_NOMATCH 1 2900 ------------------------------------------------------------------------------- 2901 2902 ftw.h 2903 2904 2905 2906 2907 #define FTW_D FTW_D 2908 #define FTW_DNR FTW_DNR 2909 #define FTW_DP FTW_DP 2910 #define FTW_F FTW_F 2911 #define FTW_NS FTW_NS 2912 #define FTW_SL FTW_SL 2913 #define FTW_SLN FTW_SLN 2914 2915 2916 enum 2917 { 2918 FTW_F, FTW_D, FTW_DNR, FTW_NS, FTW_SL, FTW_DP, FTW_SLN 2919 } 2920 ; 2921 2922 2923 enum 2924 { 2925 FTW_PHYS, FTW_MOUNT, FTW_CHDIR, FTW_DEPTH 2926 } 2927 ; 2928 2929 2930 struct FTW 2931 { 2932 int base; 2933 int level; 2934 } 2935 ; 2936 2937 2938 typedef int (*__ftw_func_t) (char *__filename, struct stat * __status, 2939 int __flag); 2940 typedef int (*__ftw64_func_t) (char *__filename, struct stat64 * __status, 2941 int __flag); 2942 typedef int (*__nftw_func_t) (char *__filename, struct stat * __status, 2943 int __flag, struct FTW * __info); 2944 typedef int (*__nftw64_func_t) (char *__filename, struct stat64 * __status, 2945 int __flag, struct FTW * __info); 2946 ------------------------------------------------------------------------------- 2947 2948 getopt.h 2949 2950 2951 2952 struct option 2953 { 2954 char *name; 2955 int has_arg; 2956 int *flag; 2957 int val; 2958 } 2959 ; 2960 ------------------------------------------------------------------------------- 2961 2962 glob.h 2963 2964 2965 2966 2967 2968 2969 typedef struct 2970 { 2971 size_t gl_pathc; 2972 char **gl_pathv; 2973 size_t gl_offs; 2974 int gl_flags; 2975 void (*gl_closedir) (void); 2976 struct dirent *(*gl_readdir) (void); 2977 void *(*gl_opendir) (void); 2978 int (*gl_lstat) (void); 2979 int (*gl_stat) (void); 2980 } 2981 glob_t; 2982 2983 2984 typedef struct 2985 { 2986 size_t gl_pathc; 2987 char **gl_pathv; 2988 size_t gl_offs; 2989 int gl_flags; 2990 void (*gl_closedir) (void); 2991 struct dirent *(*gl_readdir) (void); 2992 void *(*gl_opendir) (void); 2993 int (*gl_lstat) (void); 2994 int (*gl_stat) (void); 2995 } 2996 glob64_t; 2997 #define GLOB_ERR (1<<0) 2998 #define GLOB_MARK (1<<1) 2999 #define GLOB_BRACE (1<<10) 3000 #define GLOB_NOMAGIC (1<<11) 3001 #define GLOB_TILDE (1<<12) 3002 #define GLOB_ONLYDIR (1<<13) 3003 #define GLOB_TILDE_CHECK (1<<14) 3004 #define GLOB_NOSORT (1<<2) 3005 #define GLOB_DOOFFS (1<<3) 3006 #define GLOB_NOCHECK (1<<4) 3007 #define GLOB_APPEND (1<<5) 3008 #define GLOB_NOESCAPE (1<<6) 3009 #define GLOB_PERIOD (1<<7) 3010 #define GLOB_MAGCHAR (1<<8) 3011 #define GLOB_ALTDIRFUNC (1<<9) 3012 3013 3014 3015 #define GLOB_NOSPACE 1 3016 #define GLOB_ABORTED 2 3017 #define GLOB_NOMATCH 3 3018 #define GLOB_NOSYS 4 3019 ------------------------------------------------------------------------------- 3020 3021 grp.h 3022 3023 3024 3025 struct group 3026 { 3027 char *gr_name; 3028 char *gr_passwd; 3029 gid_t gr_gid; 3030 char **gr_mem; 3031 } 3032 ; 3033 ------------------------------------------------------------------------------- 3034 3035 iconv.h 3036 3037 3038 3039 3040 3041 3042 typedef void *iconv_t; 3043 ------------------------------------------------------------------------------- 3044 3045 inttypes.h 3046 3047 3048 3049 3050 3051 3052 typedef lldiv_t imaxdiv_t; 3053 typedef unsigned int u_int; 3054 typedef unsigned int uint; 3055 typedef unsigned char uint8_t; 3056 typedef unsigned short uint16_t; 3057 typedef unsigned int uint32_t; 3058 typedef unsigned long long uint64_t; 3059 ------------------------------------------------------------------------------- 3060 3061 langinfo.h 3062 3063 3064 3065 3066 3067 3068 3069 #define ABDAY_1 0x20000 3070 #define ABDAY_2 0x20001 3071 #define ABDAY_3 0x20002 3072 #define ABDAY_4 0x20003 3073 #define ABDAY_5 0x20004 3074 #define ABDAY_6 0x20005 3075 #define ABDAY_7 0x20006 3076 3077 3078 3079 #define DAY_1 0x20007 3080 #define DAY_2 0x20008 3081 #define DAY_3 0x20009 3082 #define DAY_4 0x2000A 3083 #define DAY_5 0x2000B 3084 #define DAY_6 0x2000C 3085 #define DAY_7 0x2000D 3086 3087 3088 3089 #define ABMON_1 0x2000E 3090 #define ABMON_2 0x2000F 3091 #define ABMON_3 0x20010 3092 #define ABMON_4 0x20011 3093 #define ABMON_5 0x20012 3094 #define ABMON_6 0x20013 3095 #define ABMON_7 0x20014 3096 #define ABMON_8 0x20015 3097 #define ABMON_9 0x20016 3098 #define ABMON_10 0x20017 3099 #define ABMON_11 0x20018 3100 #define ABMON_12 0x20019 3101 3102 3103 3104 #define MON_1 0x2001A 3105 #define MON_2 0x2001B 3106 #define MON_3 0x2001C 3107 #define MON_4 0x2001D 3108 #define MON_5 0x2001E 3109 #define MON_6 0x2001F 3110 #define MON_7 0x20020 3111 #define MON_8 0x20021 3112 #define MON_9 0x20022 3113 #define MON_10 0x20023 3114 #define MON_11 0x20024 3115 #define MON_12 0x20025 3116 3117 3118 3119 #define AM_STR 0x20026 3120 #define PM_STR 0x20027 3121 3122 3123 3124 #define D_T_FMT 0x20028 3125 #define D_FMT 0x20029 3126 #define T_FMT 0x2002A 3127 #define T_FMT_AMPM 0x2002B 3128 3129 3130 3131 #define ERA 0x2002C 3132 #define ERA_D_FMT 0x2002E 3133 #define ALT_DIGITS 0x2002F 3134 #define ERA_D_T_FMT 0x20030 3135 #define ERA_T_FMT 0x20031 3136 3137 3138 3139 3140 3141 3142 #define CODESET 14 3143 3144 3145 3146 #define CRNCYSTR 0x4000F 3147 3148 3149 3150 #define RADIXCHAR 0x10000 3151 #define THOUSEP 0x10001 3152 #define YESEXPR 0x50000 3153 #define NOEXPR 0x50001 3154 #define YESSTR 0x50002 3155 #define NOSTR 0x50003 3156 ------------------------------------------------------------------------------- 3157 3158 limits.h 3159 3160 #define OPEN_MAX 256 3161 #define PATH_MAX 4096 3162 3163 3164 3165 #define MB_LEN_MAX 16 3166 3167 3168 3169 #define SCHAR_MIN (-128) 3170 #define SCHAR_MAX 127 3171 #define UCHAR_MAX 255 3172 #define CHAR_BIT 8 3173 3174 3175 3176 #define SHRT_MIN (-32768) 3177 #define SHRT_MAX 32767 3178 #define USHRT_MAX 65535 3179 3180 3181 3182 #define INT_MIN (-INT_MAX-1) 3183 #define INT_MAX 2147483647 3184 #define __INT_MAX__ 2147483647 3185 #define UINT_MAX 4294967295U 3186 3187 3188 3189 #define LONG_MIN (-LONG_MAX-1L) 3190 ------------------------------------------------------------------------------- 3191 3192 locale.h 3193 3194 #define LC_CTYPE 0 3195 #define LC_NUMERIC 1 3196 #define LC_TELEPHONE 10 3197 #define LC_MEASUREMENT 11 3198 #define LC_IDENTIFICATION 12 3199 #define LC_TIME 2 3200 #define LC_COLLATE 3 3201 #define LC_MONETARY 4 3202 #define LC_MESSAGES 5 3203 #define LC_ALL 6 3204 #define LC_PAPER 7 3205 #define LC_NAME 8 3206 #define LC_ADDRESS 9 3207 3208 3209 3210 3211 3212 struct lconv 3213 { 3214 char *decimal_point; 3215 char *thousands_sep; 3216 char *grouping; 3217 char *int_curr_symbol; 3218 char *currency_symbol; 3219 char *mon_decimal_point; 3220 char *mon_thousands_sep; 3221 char *mon_grouping; 3222 char *positive_sign; 3223 char *negative_sign; 3224 char int_frac_digits; 3225 char frac_digits; 3226 char p_cs_precedes; 3227 char p_sep_by_space; 3228 char n_cs_precedes; 3229 char n_sep_by_space; 3230 char p_sign_posn; 3231 char n_sign_posn; 3232 char int_p_cs_precedes; 3233 char int_p_sep_by_space; 3234 char int_n_cs_precedes; 3235 char int_n_sep_by_space; 3236 char int_p_sign_posn; 3237 char int_n_sign_posn; 3238 } 3239 ; 3240 3241 3242 3243 3244 3245 typedef struct __locale_struct 3246 { 3247 struct locale_data *__locales[13]; 3248 const unsigned short *__ctype_b; 3249 const int *__ctype_tolower; 3250 const int *__ctype_toupper; 3251 const char *__names[13]; 3252 } 3253 *__locale_t; 3254 3255 3256 3257 3258 3259 typedef __locale_t locale_t; 3260 ------------------------------------------------------------------------------- 3261 3262 net/if.h 3263 3264 #define IF_NAMESIZE 16 3265 3266 3267 3268 #define IFF_UP 0x01 3269 #define IFF_BROADCAST 0x02 3270 #define IFF_DEBUG 0x04 3271 #define IFF_LOOPBACK 0x08 3272 #define IFF_POINTOPOINT 0x10 3273 #define IFF_PROMISC 0x100 3274 #define IFF_MULTICAST 0x1000 3275 #define IFF_NOTRAILERS 0x20 3276 #define IFF_RUNNING 0x40 3277 #define IFF_NOARP 0x80 3278 3279 3280 3281 3282 3283 3284 3285 3286 struct ifaddr 3287 { 3288 struct sockaddr ifa_addr; 3289 union 3290 { 3291 struct sockaddr ifu_broadaddr; 3292 struct sockaddr ifu_dstaddr; 3293 } 3294 ifa_ifu; 3295 void *ifa_ifp; 3296 void *ifa_next; 3297 } 3298 ; 3299 #define IFNAMSIZ IF_NAMESIZE 3300 3301 3302 struct ifreq 3303 { 3304 union 3305 { 3306 char ifrn_name[IFNAMSIZ]; 3307 } 3308 ifr_ifrn; 3309 union 3310 { 3311 struct sockaddr ifru_addr; 3312 struct sockaddr ifru_dstaddr; 3313 struct sockaddr ifru_broadaddr; 3314 struct sockaddr ifru_netmask; 3315 struct sockaddr ifru_hwaddr; 3316 short ifru_flags; 3317 int ifru_ivalue; 3318 int ifru_mtu; 3319 char ifru_slave[IFNAMSIZ]; 3320 char ifru_newname[IFNAMSIZ]; 3321 caddr_t ifru_data; 3322 struct ifmap ifru_map; 3323 } 3324 ifr_ifru; 3325 } 3326 ; 3327 3328 3329 struct ifconf 3330 { 3331 int ifc_len; 3332 union 3333 { 3334 caddr_t ifcu_buf; 3335 struct ifreq *ifcu_req; 3336 } 3337 ifc_ifcu; 3338 } 3339 ; 3340 ------------------------------------------------------------------------------- 3341 3342 netdb.h 3343 3344 #define h_errno (*__h_errno_location ()) 3345 #define NETDB_INTERNAL -1 3346 #define NETDB_SUCCESS 0 3347 #define HOST_NOT_FOUND 1 3348 #define NI_MAXHOST 1025 3349 #define TRY_AGAIN 2 3350 #define NO_RECOVERY 3 3351 #define NI_MAXSERV 32 3352 #define NO_DATA 4 3353 #define h_addr h_addr_list[0] 3354 #define NO_ADDRESS NO_DATA 3355 3356 3357 struct servent 3358 { 3359 char *s_name; 3360 char **s_aliases; 3361 int s_port; 3362 char *s_proto; 3363 } 3364 ; 3365 struct hostent 3366 { 3367 char *h_name; 3368 char **h_aliases; 3369 int h_addrtype; 3370 int h_length; 3371 char **h_addr_list; 3372 } 3373 ; 3374 struct protoent 3375 { 3376 char *p_name; 3377 char **p_aliases; 3378 int p_proto; 3379 } 3380 ; 3381 struct netent 3382 { 3383 char *n_name; 3384 char **n_aliases; 3385 int n_addrtype; 3386 unsigned int n_net; 3387 } 3388 ; 3389 #define AI_PASSIVE 0x0001 3390 #define AI_CANONNAME 0x0002 3391 #define AI_NUMERICHOST 0x0004 3392 3393 3394 struct addrinfo 3395 { 3396 int ai_flags; 3397 int ai_family; 3398 int ai_socktype; 3399 int ai_protocol; 3400 socklen_t ai_addrlen; 3401 struct sockaddr *ai_addr; 3402 char *ai_canonname; 3403 struct addrinfo *ai_next; 3404 } 3405 ; 3406 #define NI_NUMERICHOST 1 3407 #define NI_DGRAM 16 3408 #define NI_NUMERICSERV 2 3409 #define NI_NOFQDN 4 3410 #define NI_NAMEREQD 8 3411 3412 3413 3414 #define EAI_BADFLAGS -1 3415 #define EAI_MEMORY -10 3416 #define EAI_SYSTEM -11 3417 #define EAI_NONAME -2 3418 #define EAI_AGAIN -3 3419 #define EAI_FAIL -4 3420 #define EAI_NODATA -5 3421 #define EAI_FAMILY -6 3422 #define EAI_SOCKTYPE -7 3423 #define EAI_SERVICE -8 3424 #define EAI_ADDRFAMILY -9 3425 ------------------------------------------------------------------------------- 3426 3427 netinet/in.h 3428 3429 #define INADDR_NONE ((unsigned long int) 0xffffffff) 3430 #define INADDR_BROADCAST (0xffffffff) 3431 #define INADDR_ANY 0 3432 #define IPPROTO_IP 0 3433 #define SOL_IP 0 3434 #define IPPROTO_ICMP 1 3435 #define IP_TOS 1 3436 #define IPPROTO_UDP 17 3437 #define IPPROTO_IGMP 2 3438 #define IPPROTO_RAW 255 3439 #define IPPROTO_TCP 6 3440 3441 3442 3443 3444 3445 struct in_addr 3446 { 3447 uint32_t s_addr; 3448 } 3449 ; 3450 typedef uint32_t in_addr_t; 3451 3452 3453 struct sockaddr_in 3454 { 3455 sa_family_t sin_family; 3456 unsigned short sin_port; 3457 struct in_addr sin_addr; 3458 unsigned char sin_zero[8]; 3459 } 3460 ; 3461 ------------------------------------------------------------------------------- 3462 3463 netinet/tcp.h 3464 3465 #define TCP_NODELAY 1 3466 #define SOL_TCP 6 3467 ------------------------------------------------------------------------------- 3468 3469 netinet/udp.h 3470 3471 #define SOL_UDP 17 3472 ------------------------------------------------------------------------------- 3473 3474 nl_types.h 3475 3476 #define NL_CAT_LOCALE 1 3477 #define NL_SETD 1 3478 3479 3480 3481 3482 3483 typedef void *nl_catd; 3484 3485 3486 typedef int nl_item; 3487 ------------------------------------------------------------------------------- 3488 3489 pwd.h 3490 3491 3492 3493 3494 3495 3496 struct passwd 3497 { 3498 char *pw_name; 3499 char *pw_passwd; 3500 uid_t pw_uid; 3501 gid_t pw_gid; 3502 char *pw_gecos; 3503 char *pw_dir; 3504 char *pw_shell; 3505 } 3506 ; 3507 ------------------------------------------------------------------------------- 3508 3509 regex.h 3510 3511 3512 3513 3514 #define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int)1) 3515 #define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS<<1) 3516 #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) 3517 #define RE_CHAR_CLASSES (RE_BK_PLUS_QM<<1) 3518 #define RE_SYNTAX_GREP (RE_BK_PLUS_QM|RE_CHAR_CLASSES|RE_HAT_LISTS_NOT_NEWLINE|RE_INTERVALS|RE_NEWLINE_ALT) 3519 #define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES<<1) 3520 #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) 3521 #define _RE_SYNTAX_POSIX_COMMON (RE_CHAR_CLASSES|RE_DOT_NEWLINE|RE_DOT_NOT_NULL|RE_INTERVALS|RE_NO_EMPTY_RANGES) 3522 #define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS<<1) 3523 #define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS<<1) 3524 #define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS<<1) 3525 #define RE_INVALID_INTERVAL_ORD (RE_DEBUG<<1) 3526 #define RE_DOT_NOT_NULL (RE_DOT_NEWLINE<<1) 3527 #define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL<<1) 3528 #define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE<<1) 3529 #define RE_LIMITED_OPS (RE_INTERVALS<<1) 3530 #define RE_NEWLINE_ALT (RE_LIMITED_OPS<<1) 3531 #define RE_NO_BK_BRACES (RE_NEWLINE_ALT<<1) 3532 #define RE_NO_BK_PARENS (RE_NO_BK_BRACES<<1) 3533 #define RE_NO_BK_REFS (RE_NO_BK_PARENS<<1) 3534 #define RE_NO_BK_VBAR (RE_NO_BK_REFS<<1) 3535 #define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR<<1) 3536 #define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES<<1) 3537 #define RE_DEBUG (RE_NO_GNU_OPS<<1) 3538 #define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING<<1) 3539 #define RE_SYNTAX_POSIX_EGREP (RE_SYNTAX_EGREP|RE_INTERVALS|RE_NO_BK_BRACES|RE_INVALID_INTERVAL_ORD) 3540 #define RE_SYNTAX_POSIX_AWK (RE_SYNTAX_POSIX_EXTENDED|RE_BACKSLASH_ESCAPE_IN_LISTS|RE_INTERVALS|RE_NO_GNU_OPS) 3541 #define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD<<1) 3542 #define RE_SYNTAX_POSIX_BASIC (_RE_SYNTAX_POSIX_COMMON|RE_BK_PLUS_QM) 3543 #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) 3544 #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) 3545 #define RE_SYNTAX_POSIX_MINIMAL_BASIC (_RE_SYNTAX_POSIX_COMMON|RE_LIMITED_OPS) 3546 #define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC 3547 #define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC 3548 3549 3550 typedef unsigned long reg_syntax_t; 3551 3552 3553 3554 3555 3556 typedef struct re_pattern_buffer 3557 { 3558 unsigned char *buffer; 3559 unsigned long allocated; 3560 unsigned long used; 3561 reg_syntax_t syntax; 3562 char *fastmap; 3563 char *translate; 3564 size_t re_nsub; 3565 unsigned int can_be_null:1; 3566 unsigned int regs_allocated:2; 3567 unsigned int fastmap_accurate:1; 3568 unsigned int no_sub:1; 3569 unsigned int not_bol:1; 3570 unsigned int not_eol:1; 3571 unsigned int newline_anchor:1; 3572 } 3573 regex_t; 3574 typedef int regoff_t; 3575 typedef struct 3576 { 3577 regoff_t rm_so; 3578 regoff_t rm_eo; 3579 } 3580 regmatch_t; 3581 #define REG_NOTEOL (1<<1) 3582 #define REG_ICASE (REG_EXTENDED<<1) 3583 #define REG_NEWLINE (REG_ICASE<<1) 3584 #define REG_NOSUB (REG_NEWLINE<<1) 3585 #define REG_NOMATCH -1 3586 #define REG_EXTENDED 1 3587 #define REG_NOTBOL 1 3588 ------------------------------------------------------------------------------- 3589 3590 rpc/auth.h 3591 3592 3593 3594 3595 3596 3597 enum auth_stat 3598 { 3599 AUTH_OK, AUTH_BADCRED = 1, AUTH_REJECTEDCRED = 2, AUTH_BADVERF = 3600 3, AUTH_REJECTEDVERF = 4, AUTH_TOOWEAK = 5, AUTH_INVALIDRESP = 3601 6, AUTH_FAILED = 7 3602 } 3603 ; 3604 3605 3606 union des_block 3607 { 3608 struct 3609 { 3610 u_int32_t high; 3611 u_int32_t low; 3612 } 3613 key; 3614 char c[8]; 3615 } 3616 ; 3617 3618 3619 struct opaque_auth 3620 { 3621 enum_t oa_flavor; 3622 caddr_t oa_base; 3623 u_int oa_length; 3624 } 3625 ; 3626 3627 3628 typedef struct AUTH 3629 { 3630 struct opaque_auth ah_cred; 3631 struct opaque_auth ah_verf; 3632 union des_block ah_key; 3633 struct auth_ops *ah_ops; 3634 caddr_t ah_private; 3635 } 3636 AUTH; 3637 3638 3639 struct auth_ops 3640 { 3641 void (*ah_nextverf) (struct AUTH *); 3642 int (*ah_marshal) (struct AUTH *, struct XDR *); 3643 int (*ah_validate) (struct AUTH *, struct opaque_auth *); 3644 int (*ah_refresh) (struct AUTH *); 3645 void (*ah_destroy) (struct AUTH *); 3646 } 3647 ; 3648 ------------------------------------------------------------------------------- 3649 3650 rpc/clnt.h 3651 3652 #define NULLPROC ((u_long)0) 3653 #define CLSET_TIMEOUT 1 3654 #define CLGET_XID 10 3655 #define CLSET_XID 11 3656 #define CLGET_VERS 12 3657 #define CLSET_VERS 13 3658 #define CLGET_PROG 14 3659 #define CLSET_PROG 15 3660 #define CLGET_TIMEOUT 2 3661 #define CLGET_SERVER_ADDR 3 3662 #define CLSET_RETRY_TIMEOUT 4 3663 #define CLGET_RETRY_TIMEOUT 5 3664 #define CLGET_FD 6 3665 #define CLGET_SVC_ADDR 7 3666 #define CLSET_FD_CLOSE 8 3667 #define CLSET_FD_NCLOSE 9 3668 3669 3670 enum clnt_stat 3671 { 3672 RPC_SUCCESS, RPC_CANTENCODEARGS = 1, RPC_CANTDECODERES = 2, RPC_CANTSEND = 3673 3, RPC_CANTRECV = 4, RPC_TIMEDOUT = 5, RPC_VERSMISMATCH = 3674 6, RPC_AUTHERROR = 7, RPC_PROGUNAVAIL = 8, RPC_PROGVERSMISMATCH = 3675 9, RPC_PROCUNAVAIL = 10, RPC_CANTDECODEARGS = 11, RPC_SYSTEMERROR = 3676 12, RPC_NOBROADCAST = 21, RPC_UNKNOWNHOST = 13, RPC_UNKNOWNPROTO = 3677 17, RPC_UNKNOWNADDR = 19, RPC_RPCBFAILURE = 14, RPC_PROGNOTREGISTERED = 3678 15, RPC_N2AXLATEFAILURE = 22, RPC_FAILED = 16, RPC_INTR = 3679 18, RPC_TLIERROR = 20, RPC_UDERROR = 23, RPC_INPROGRESS = 3680 24, RPC_STALERACHANDLE = 25 3681 } 3682 ; 3683 struct rpc_err 3684 { 3685 enum clnt_stat re_status; 3686 union 3687 { 3688 int RE_errno; 3689 enum auth_stat RE_why; 3690 struct 3691 { 3692 u_long low; 3693 u_long high; 3694 } 3695 RE_vers; 3696 struct 3697 { 3698 long s1; 3699 long s2; 3700 } 3701 RE_lb; 3702 } 3703 ru; 3704 } 3705 ; 3706 3707 3708 3709 3710 3711 typedef struct CLIENT 3712 { 3713 struct AUTH *cl_auth; 3714 struct clnt_ops *cl_ops; 3715 caddr_t cl_private; 3716 } 3717 CLIENT; 3718 3719 3720 struct clnt_ops 3721 { 3722 enum clnt_stat (*cl_call) (struct CLIENT *, u_long, xdrproc_t, caddr_t, 3723 xdrproc_t, caddr_t, struct timeval); 3724 void (*cl_abort) (void); 3725 void (*cl_geterr) (struct CLIENT *, struct rpc_err *); 3726 bool_t (*cl_freeres) (struct CLIENT *, xdrproc_t, caddr_t); 3727 void (*cl_destroy) (struct CLIENT *); 3728 bool_t (*cl_control) (struct CLIENT *, int, char *); 3729 } 3730 ; 3731 ------------------------------------------------------------------------------- 3732 3733 rpc/rpc_msg.h 3734 3735 3736 3737 3738 3739 3740 enum msg_type 3741 { 3742 CALL, REPLY = 1 3743 } 3744 ; 3745 enum reply_stat 3746 { 3747 MSG_ACCEPTED, MSG_DENIED = 1 3748 } 3749 ; 3750 enum accept_stat 3751 { 3752 SUCCESS, PROG_UNAVAIL = 1, PROG_MISMATCH = 2, PROC_UNAVAIL = 3753 3, GARBAGE_ARGS = 4, SYSTEM_ERR = 5 3754 } 3755 ; 3756 enum reject_stat 3757 { 3758 RPC_MISMATCH, AUTH_ERROR = 1 3759 } 3760 ; 3761 3762 3763 struct accepted_reply 3764 { 3765 struct opaque_auth ar_verf; 3766 enum accept_stat ar_stat; 3767 union 3768 { 3769 struct 3770 { 3771 unsigned long low; 3772 unsigned long high; 3773 } 3774 AR_versions; 3775 struct 3776 { 3777 caddr_t where; 3778 xdrproc_t proc; 3779 } 3780 AR_results; 3781 } 3782 ru; 3783 } 3784 ; 3785 3786 3787 struct rejected_reply 3788 { 3789 enum reject_stat rj_stat; 3790 union 3791 { 3792 struct 3793 { 3794 unsigned long low; 3795 unsigned long high; 3796 } 3797 RJ_versions; 3798 enum auth_stat RJ_why; 3799 } 3800 ru; 3801 } 3802 ; 3803 3804 3805 struct reply_body 3806 { 3807 enum reply_stat rp_stat; 3808 union 3809 { 3810 struct accepted_reply RP_ar; 3811 struct rejected_reply RP_dr; 3812 } 3813 ru; 3814 } 3815 ; 3816 3817 3818 struct call_body 3819 { 3820 unsigned long cb_rpcvers; 3821 unsigned long cb_prog; 3822 unsigned long cb_vers; 3823 unsigned long cb_proc; 3824 struct opaque_auth cb_cred; 3825 struct opaque_auth cb_verf; 3826 } 3827 ; 3828 3829 3830 struct rpc_msg 3831 { 3832 unsigned long rm_xid; 3833 enum msg_type rm_direction; 3834 union 3835 { 3836 struct call_body RM_cmb; 3837 struct reply_body RM_rmb; 3838 } 3839 ru; 3840 } 3841 ; 3842 ------------------------------------------------------------------------------- 3843 3844 rpc/svc.h 3845 3846 3847 3848 3849 3850 3851 typedef struct SVCXPRT 3852 { 3853 int xp_sock; 3854 u_short xp_port; 3855 struct xp_ops *xp_ops; 3856 int xp_addrlen; 3857 struct sockaddr_in xp_raddr; 3858 struct opaque_auth xp_verf; 3859 caddr_t xp_p1; 3860 caddr_t xp_p2; 3861 char xp_pad[256]; 3862 } 3863 SVCXPRT; 3864 3865 3866 struct xp_ops 3867 { 3868 bool_t (*xp_recv) (struct SVCXPRT * __xprt, struct rpc_msg * __msg); 3869 enum xprt_stat (*xp_stat) (struct SVCXPRT * __xprt); 3870 bool_t (*xp_getargs) (struct SVCXPRT * __xprt, xdrproc_t __xdr_args, 3871 caddr_t args_ptr); 3872 bool_t (*xp_reply) (struct SVCXPRT * __xprt, struct rpc_msg * __msg); 3873 bool_t (*xp_freeargs) (struct SVCXPRT * __xprt, xdrproc_t __xdr_args, 3874 caddr_t args_ptr); 3875 void (*xp_destroy) (struct SVCXPRT * __xprt); 3876 } 3877 ; 3878 ------------------------------------------------------------------------------- 3879 3880 rpc/types.h 3881 3882 3883 3884 typedef int bool_t; 3885 typedef int enum_t; 3886 typedef unsigned long rpcvers_t; 3887 ------------------------------------------------------------------------------- 3888 3889 rpc/xdr.h 3890 3891 3892 3893 enum xdr_op 3894 { 3895 XDR_ENCODE, XDR_DECODE, XDR_FREE 3896 } 3897 ; 3898 typedef struct XDR 3899 { 3900 enum xdr_op x_op; 3901 struct xdr_ops *x_ops; 3902 caddr_t x_public; 3903 caddr_t x_private; 3904 caddr_t x_base; 3905 int x_handy; 3906 } 3907 XDR; 3908 3909 3910 3911 3912 3913 struct xdr_ops 3914 { 3915 bool_t (*x_getlong) (struct XDR * __xdrs, long *__lp); 3916 bool_t (*x_putlong) (struct XDR * __xdrs, long *__lp); 3917 bool_t (*x_getbytes) (struct XDR * __xdrs, caddr_t __addr, u_int __len); 3918 bool_t (*x_putbytes) (struct XDR * __xdrs, char *__addr, u_int __len); 3919 u_int (*x_getpostn) (struct XDR * __xdrs); 3920 bool_t (*x_setpostn) (struct XDR * __xdrs, u_int __pos); 3921 int32_t *(*x_inline) (struct XDR * __xdrs, int __len); 3922 void (*x_destroy) (struct XDR * __xdrs); 3923 bool_t (*x_getint32) (struct XDR * __xdrs, int32_t * __ip); 3924 bool_t (*x_putint32) (struct XDR * __xdrs, int32_t * __ip); 3925 } 3926 ; 3927 3928 3929 typedef bool_t (*xdrproc_t) (struct XDR *, void *, ...); 3930 3931 3932 struct xdr_discrim 3933 { 3934 int value; 3935 xdrproc_t proc; 3936 } 3937 ; 3938 ------------------------------------------------------------------------------- 3939 3940 sched.h 3941 3942 #define SCHED_OTHER 0 3943 #define SCHED_FIFO 1 3944 #define SCHED_RR 2 3945 3946 3947 struct sched_param 3948 { 3949 int sched_priority; 3950 } 3951 ; 3952 ------------------------------------------------------------------------------- 3953 3954 search.h 3955 3956 3957 3958 3959 3960 3961 typedef struct entry 3962 { 3963 char *key; 3964 void *data; 3965 } 3966 ENTRY; 3967 typedef enum 3968 { 3969 FIND, ENTER 3970 } 3971 ACTION; 3972 typedef enum 3973 { 3974 preorder, postorder, endorder, leaf 3975 } 3976 VISIT; 3977 3978 3979 typedef void (*__action_fn_t) (void *__nodep, VISIT __value, int __level); 3980 ------------------------------------------------------------------------------- 3981 3982 setjmp.h 3983 3984 #define setjmp(env) _setjmp(env) 3985 #define sigsetjmp(a,b) __sigsetjmp(a,b) 3986 3987 3988 3989 3990 3991 3992 3993 3994 struct __jmp_buf_tag 3995 { 3996 __jmp_buf __jmpbuf; 3997 int __mask_was_saved; 3998 sigset_t __saved_mask; 3999 } 4000 ; 4001 4002 4003 typedef struct __jmp_buf_tag jmp_buf[1]; 4004 typedef jmp_buf sigjmp_buf; 4005 ------------------------------------------------------------------------------- 4006 4007 signal.h 4008 4009 #define SIGRTMAX (__libc_current_sigrtmax ()) 4010 #define SIGRTMIN (__libc_current_sigrtmin ()) 4011 #define SIG_BLOCK 0 4012 #define SIG_UNBLOCK 1 4013 #define SIG_SETMASK 2 4014 #define NSIG 64 4015 4016 4017 typedef int sig_atomic_t; 4018 struct sigstack 4019 { 4020 void *ss_sp; 4021 int ss_onstack; 4022 } 4023 ; 4024 #define SIG_ERR ((__sighandler_t)-1) 4025 #define SIG_DFL ((__sighandler_t)0) 4026 #define SIG_IGN ((__sighandler_t)1) 4027 #define SIGHUP 1 4028 #define SIGUSR1 10 4029 #define SIGSEGV 11 4030 #define SIGUSR2 12 4031 #define SIGPIPE 13 4032 #define SIGALRM 14 4033 #define SIGTERM 15 4034 #define SIGSTKFLT 16 4035 #define SIGCHLD 17 4036 #define SIGCONT 18 4037 #define SIGSTOP 19 4038 #define SIGINT 2 4039 #define SIGTSTP 20 4040 #define SIGTTIN 21 4041 #define SIGTTOU 22 4042 #define SIGURG 23 4043 #define SIGXCPU 24 4044 #define SIGXFSZ 25 4045 #define SIGVTALRM 26 4046 #define SIGPROF 27 4047 #define SIGWINCH 28 4048 #define SIGIO 29 4049 #define SIGQUIT 3 4050 #define SIGPWR 30 4051 #define SIGSYS 31 4052 #define SIGUNUSED 31 4053 #define SIGILL 4 4054 #define SIGTRAP 5 4055 #define SIGABRT 6 4056 #define SIGIOT 6 4057 #define SIGBUS 7 4058 #define SIGFPE 8 4059 #define SIGKILL 9 4060 #define SIGCLD SIGCHLD 4061 #define SIGPOLL SIGIO 4062 4063 4064 4065 4066 4067 typedef void (*__sighandler_t) (int); 4068 #define SV_ONSTACK (1<<0) 4069 #define SV_INTERRUPT (1<<1) 4070 #define SV_RESETHAND (1<<2) 4071 4072 4073 typedef union sigval 4074 { 4075 int sival_int; 4076 void *sival_ptr; 4077 } 4078 sigval_t; 4079 #define SIGEV_SIGNAL 0 4080 #define SIGEV_NONE 1 4081 #define SIGEV_THREAD 2 4082 4083 4084 typedef struct sigevent 4085 { 4086 sigval_t sigev_value; 4087 int sigev_signo; 4088 int sigev_notify; 4089 union 4090 { 4091 int _pad[SIGEV_PAD_SIZE]; 4092 struct 4093 { 4094 void (*sigev_thread_func) (void); 4095 void *_attribute; 4096 } 4097 _sigev_thread; 4098 } 4099 _sigev_un; 4100 } 4101 sigevent_t; 4102 #define SI_QUEUE -1 4103 #define SI_TIMER -2 4104 #define SI_MESGQ -3 4105 #define SI_ASYNCIO -4 4106 #define SI_USER 0 4107 #define si_pid _sifields._kill._pid 4108 #define si_uid _sifields._kill._uid 4109 #define si_value _sifields._rt._sigval 4110 #define si_int _sifields._rt._sigval.sival_int 4111 #define si_ptr _sifields._rt._sigval.sival_ptr 4112 #define si_status _sifields._sigchld._status 4113 #define si_stime _sifields._sigchld._stime 4114 #define si_utime _sifields._sigchld._utime 4115 #define si_addr _sifields._sigfault._addr 4116 #define si_band _sifields._sigpoll._band 4117 #define si_fd _sifields._sigpoll._fd 4118 #define si_timer1 _sifields._timer._timer1 4119 #define si_timer2 _sifields._timer._timer2 4120 4121 4122 typedef struct siginfo 4123 { 4124 int si_signo; 4125 int si_errno; 4126 int si_code; 4127 union 4128 { 4129 int _pad[SI_PAD_SIZE]; 4130 struct 4131 { 4132 pid_t _pid; 4133 uid_t _uid; 4134 } 4135 _kill; 4136 struct 4137 { 4138 unsigned int _timer1; 4139 unsigned int _timer2; 4140 } 4141 _timer; 4142 struct 4143 { 4144 pid_t _pid; 4145 uid_t _uid; 4146 sigval_t _sigval; 4147 } 4148 _rt; 4149 struct 4150 { 4151 pid_t _pid; 4152 uid_t _uid; 4153 int _status; 4154 clock_t _utime; 4155 clock_t _stime; 4156 } 4157 _sigchld; 4158 struct 4159 { 4160 void *_addr; 4161 } 4162 _sigfault; 4163 struct 4164 { 4165 int _band; 4166 int _fd; 4167 } 4168 _sigpoll; 4169 } 4170 _sifields; 4171 } 4172 siginfo_t; 4173 4174 4175 typedef struct 4176 { 4177 unsigned long sig[_SIGSET_NWORDS]; 4178 } 4179 sigset_t; 4180 #define SA_NOCLDSTOP 0x00000001 4181 #define SA_SIGINFO 0x00000004 4182 #define SA_ONSTACK 0x08000000 4183 #define SA_RESTART 0x10000000 4184 #define SA_INTERRUPT 0x20000000 4185 #define SA_NODEFER 0x40000000 4186 #define SA_RESETHAND 0x80000000 4187 #define SA_NOMASK SA_NODEFER 4188 #define SA_ONESHOT SA_RESETHAND 4189 4190 4191 4192 4193 4194 typedef struct sigaltstack 4195 { 4196 void *ss_sp; 4197 int ss_flags; 4198 size_t ss_size; 4199 } 4200 stack_t; 4201 ------------------------------------------------------------------------------- 4202 4203 stddef.h 4204 4205 #define offsetof(TYPE,MEMBER) ((size_t)& ((TYPE*)0)->MEMBER) 4206 #define NULL (0) 4207 4208 4209 typedef int wchar_t; 4210 ------------------------------------------------------------------------------- 4211 4212 stdio.h 4213 4214 #define EOF (-1) 4215 #define P_tmpdir "/tmp" 4216 #define FOPEN_MAX 16 4217 #define L_tmpnam 20 4218 #define FILENAME_MAX 4096 4219 #define BUFSIZ 8192 4220 #define L_ctermid 9 4221 #define L_cuserid 9 4222 4223 4224 typedef struct 4225 { 4226 off_t __pos; 4227 mbstate_t __state; 4228 } 4229 fpos_t; 4230 typedef struct 4231 { 4232 off64_t __pos; 4233 mbstate_t __state; 4234 } 4235 fpos64_t; 4236 4237 4238 typedef struct _IO_FILE FILE; 4239 #define _IOFBF 0 4240 #define _IOLBF 1 4241 #define _IONBF 2 4242 ------------------------------------------------------------------------------- 4243 4244 stdlib.h 4245 4246 #define MB_CUR_MAX (__ctype_get_mb_cur_max()) 4247 #define EXIT_SUCCESS 0 4248 #define EXIT_FAILURE 1 4249 #define RAND_MAX 2147483647 4250 4251 4252 typedef int (*__compar_fn_t) (const void *, const void *); 4253 struct random_data 4254 { 4255 int32_t *fptr; 4256 int32_t *rptr; 4257 int32_t *state; 4258 int rand_type; 4259 int rand_deg; 4260 int rand_sep; 4261 int32_t *end_ptr; 4262 } 4263 ; 4264 4265 4266 typedef struct 4267 { 4268 int quot; 4269 int rem; 4270 } 4271 div_t; 4272 4273 4274 typedef struct 4275 { 4276 long quot; 4277 long rem; 4278 } 4279 ldiv_t; 4280 4281 4282 typedef struct 4283 { 4284 long long quot; 4285 long long rem; 4286 } 4287 lldiv_t; 4288 ------------------------------------------------------------------------------- 4289 4290 sys/file.h 4291 4292 #define LOCK_SH 1 4293 #define LOCK_EX 2 4294 #define LOCK_NB 4 4295 #define LOCK_UN 8 4296 ------------------------------------------------------------------------------- 4297 4298 sys/ipc.h 4299 4300 #define IPC_PRIVATE ((key_t)0) 4301 #define IPC_RMID 0 4302 #define IPC_CREAT 00001000 4303 #define IPC_EXCL 00002000 4304 #define IPC_NOWAIT 00004000 4305 #define IPC_SET 1 4306 #define IPC_STAT 2 4307 ------------------------------------------------------------------------------- 4308 4309 sys/mman.h 4310 4311 #define MAP_FAILED ((void*)-1) 4312 #define PROT_NONE 0x0 4313 #define MAP_SHARED 0x01 4314 #define MAP_PRIVATE 0x02 4315 #define PROT_READ 0x1 4316 #define MAP_FIXED 0x10 4317 #define PROT_WRITE 0x2 4318 #define MAP_ANONYMOUS 0x20 4319 #define PROT_EXEC 0x4 4320 #define MS_ASYNC 1 4321 #define MS_INVALIDATE 2 4322 #define MS_SYNC 4 4323 #define MAP_ANON MAP_ANONYMOUS 4324 ------------------------------------------------------------------------------- 4325 4326 sys/msg.h 4327 4328 #define MSG_NOERROR 010000 4329 ------------------------------------------------------------------------------- 4330 4331 sys/param.h 4332 4333 #define NOFILE 256 4334 #define MAXPATHLEN 4096 4335 ------------------------------------------------------------------------------- 4336 4337 sys/poll.h 4338 4339 #define POLLIN 0x0001 4340 #define POLLPRI 0x0002 4341 #define POLLOUT 0x0004 4342 #define POLLERR 0x0008 4343 #define POLLHUP 0x0010 4344 #define POLLNVAL 0x0020 4345 4346 4347 struct pollfd 4348 { 4349 int fd; 4350 short events; 4351 short revents; 4352 } 4353 ; 4354 ------------------------------------------------------------------------------- 4355 4356 sys/resource.h 4357 4358 #define RLIM_INFINITY (~0UL) 4359 #define RLIM_SAVED_CUR -1 4360 #define RLIM_SAVED_MAX -1 4361 #define PRIO_PROCESS 0 4362 #define RLIMIT_CPU 0 4363 #define RUSAGE_SELF 0 4364 #define PRIO_PGRP 1 4365 #define RLIMIT_FSIZE 1 4366 #define PRIO_USER 2 4367 #define RLIMIT_DATA 2 4368 #define RLIMIT_STACK 3 4369 #define RLIMIT_CORE 4 4370 #define RLIMIT_NOFILE 7 4371 #define RLIMIT_AS 9 4372 4373 4374 4375 4376 4377 typedef unsigned long rlim_t; 4378 typedef unsigned long long rlim64_t; 4379 4380 4381 struct rlimit 4382 { 4383 rlim_t rlim_cur; 4384 rlim_t rlim_max; 4385 } 4386 ; 4387 struct rlimit64 4388 { 4389 rlim64_t rlim_cur; 4390 rlim64_t rlim_max; 4391 } 4392 ; 4393 4394 4395 struct rusage 4396 { 4397 struct timeval ru_utime; 4398 struct timeval ru_stime; 4399 long ru_maxrss; 4400 long ru_ixrss; 4401 long ru_idrss; 4402 long ru_isrss; 4403 long ru_minflt; 4404 long ru_majflt; 4405 long ru_nswap; 4406 long ru_inblock; 4407 long ru_oublock; 4408 long ru_msgsnd; 4409 long ru_msgrcv; 4410 long ru_nsignals; 4411 long ru_nvcsw; 4412 long ru_nivcsw; 4413 } 4414 ; 4415 ------------------------------------------------------------------------------- 4416 4417 sys/sem.h 4418 4419 #define SEM_UNDO 0x1000 4420 #define GETPID 11 4421 #define GETVAL 12 4422 #define GETALL 13 4423 #define GETNCNT 14 4424 #define GETZCNT 15 4425 #define SETVAL 16 4426 #define SETALL 17 4427 4428 4429 struct sembuf 4430 { 4431 short sem_num; 4432 short sem_op; 4433 short sem_flg; 4434 } 4435 ; 4436 ------------------------------------------------------------------------------- 4437 4438 sys/shm.h 4439 4440 #define SHM_RDONLY 010000 4441 #define SHM_W 0200 4442 #define SHM_RND 020000 4443 #define SHM_R 0400 4444 #define SHM_REMAP 040000 4445 #define SHM_LOCK 11 4446 #define SHM_UNLOCK 12 4447 ------------------------------------------------------------------------------- 4448 4449 sys/socket.h 4450 4451 #define SHUT_RD 0 4452 #define MSG_WAITALL 0x100 4453 #define MSG_TRUNC 0x20 4454 #define MSG_EOR 0x80 4455 #define SIOCGIFCONF 0x8912 4456 #define SIOCGIFFLAGS 0x8913 4457 #define SIOCGIFADDR 0x8915 4458 #define SIOCGIFNETMASK 0x891b 4459 #define MSG_OOB 1 4460 #define SHUT_WR 1 4461 #define MSG_PEEK 2 4462 #define SHUT_RDWR 2 4463 #define MSG_DONTROUTE 4 4464 #define MSG_CTRUNC 8 4465 #define PF_LOCAL AF_LOCAL 4466 #define PF_UNSPEC AF_UNSPEC 4467 4468 4469 struct linger 4470 { 4471 int l_onoff; 4472 int l_linger; 4473 } 4474 ; 4475 struct cmsghdr 4476 { 4477 size_t cmsg_len; 4478 int cmsg_level; 4479 int cmsg_type; 4480 } 4481 ; 4482 struct iovec 4483 { 4484 void *iov_base; 4485 size_t iov_len; 4486 } 4487 ; 4488 4489 4490 typedef unsigned short sa_family_t; 4491 typedef unsigned int socklen_t; 4492 4493 4494 struct sockaddr 4495 { 4496 sa_family_t sa_family; 4497 char sa_data[14]; 4498 } 4499 ; 4500 4501 4502 struct msghdr 4503 { 4504 void *msg_name; 4505 int msg_namelen; 4506 struct iovec *msg_iov; 4507 size_t msg_iovlen; 4508 void *msg_control; 4509 size_t msg_controllen; 4510 unsigned int msg_flags; 4511 } 4512 ; 4513 #define AF_UNSPEC 0 4514 #define AF_LOCAL 1 4515 #define AF_UNIX 1 4516 #define AF_INET6 10 4517 #define AF_INET 2 4518 #define AF_AX25 3 4519 #define AF_IPX 4 4520 #define AF_APPLETALK 5 4521 #define AF_NETROM 6 4522 #define AF_BRIDGE 7 4523 #define AF_ATMPVC 8 4524 #define AF_X25 9 4525 4526 4527 4528 #define PF_INET AF_INET 4529 #define PF_INET6 AF_INET6 4530 #define PF_UNIX AF_UNIX 4531 4532 4533 4534 #define SOCK_STREAM 1 4535 #define SOCK_PACKET 10 4536 #define SOCK_DGRAM 2 4537 #define SOCK_RAW 3 4538 #define SOCK_RDM 4 4539 #define SOCK_SEQPACKET 5 4540 4541 4542 4543 #define SOL_SOCKET 1 4544 #define SO_DEBUG 1 4545 #define SO_OOBINLINE 10 4546 #define SO_NO_CHECK 11 4547 #define SO_PRIORITY 12 4548 #define SO_LINGER 13 4549 #define SO_REUSEADDR 2 4550 #define SOL_RAW 255 4551 #define SO_TYPE 3 4552 #define SO_ERROR 4 4553 #define SO_DONTROUTE 5 4554 #define SO_BROADCAST 6 4555 #define SO_SNDBUF 7 4556 #define SO_RCVBUF 8 4557 #define SO_KEEPALIVE 9 4558 ------------------------------------------------------------------------------- 4559 4560 sys/stat.h 4561 4562 #define S_ISBLK(m) (((m)& S_IFMT)==S_IFBLK) 4563 #define S_ISCHR(m) (((m)& S_IFMT)==S_IFCHR) 4564 #define S_ISDIR(m) (((m)& S_IFMT)==S_IFDIR) 4565 #define S_ISFIFO(m) (((m)& S_IFMT)==S_IFIFO) 4566 #define S_ISLNK(m) (((m)& S_IFMT)==S_IFLNK) 4567 #define S_ISREG(m) (((m)& S_IFMT)==S_IFREG) 4568 #define S_ISSOCK(m) (((m)& S_IFMT)==S_IFSOCK) 4569 #define S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode) 4570 #define S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode) 4571 #define S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode) 4572 #define S_IRWXU (S_IREAD|S_IWRITE|S_IEXEC) 4573 #define S_IROTH (S_IRGRP>>3) 4574 #define S_IRGRP (S_IRUSR>>3) 4575 #define S_IRWXO (S_IRWXG>>3) 4576 #define S_IRWXG (S_IRWXU>>3) 4577 #define S_IWOTH (S_IWGRP>>3) 4578 #define S_IWGRP (S_IWUSR>>3) 4579 #define S_IXOTH (S_IXGRP>>3) 4580 #define S_IXGRP (S_IXUSR>>3) 4581 #define S_ISVTX 01000 4582 #define S_IXUSR 0x0040 4583 #define S_IWUSR 0x0080 4584 #define S_IRUSR 0x0100 4585 #define S_ISGID 0x0400 4586 #define S_ISUID 0x0800 4587 #define S_IFIFO 0x1000 4588 #define S_IFCHR 0x2000 4589 #define S_IFDIR 0x4000 4590 #define S_IFBLK 0x6000 4591 #define S_IFREG 0x8000 4592 #define S_IFLNK 0xa000 4593 #define S_IFSOCK 0xc000 4594 #define S_IFMT 0xf000 4595 #define S_IREAD S_IRUSR 4596 #define S_IWRITE S_IWUSR 4597 #define S_IEXEC S_IXUSR 4598 ------------------------------------------------------------------------------- 4599 4600 sys/time.h 4601 4602 #define ITIMER_REAL 0 4603 #define ITIMER_VIRTUAL 1 4604 #define ITIMER_PROF 2 4605 4606 4607 struct timezone 4608 { 4609 int tz_minuteswest; 4610 int tz_dsttime; 4611 } 4612 ; 4613 4614 4615 4616 4617 4618 4619 4620 4621 struct timespec 4622 { 4623 time_t tv_sec; 4624 long tv_nsec; 4625 } 4626 ; 4627 4628 4629 4630 4631 4632 struct timeval 4633 { 4634 time_t tv_sec; 4635 suseconds_t tv_usec; 4636 } 4637 ; 4638 4639 4640 struct itimerval 4641 { 4642 struct timeval it_interval; 4643 struct timeval it_value; 4644 } 4645 ; 4646 ------------------------------------------------------------------------------- 4647 4648 sys/timeb.h 4649 4650 4651 4652 struct timeb 4653 { 4654 time_t time; 4655 unsigned short millitm; 4656 short timezone; 4657 short dstflag; 4658 } 4659 ; 4660 ------------------------------------------------------------------------------- 4661 4662 sys/times.h 4663 4664 4665 4666 struct tms 4667 { 4668 clock_t tms_utime; 4669 clock_t tms_stime; 4670 clock_t tms_cutime; 4671 clock_t tms_cstime; 4672 } 4673 ; 4674 ------------------------------------------------------------------------------- 4675 4676 sys/types.h 4677 4678 #define FD_ISSET(d,set) ((set)->fds_bits[0]& (1<fds_bits[0]& =~(1<fds_bits[0]|=(1<> 8) 4779 #define WTERMSIG(status) ((status) & 0x7f) 4780 #define WCOREDUMP(status) ((status) & 0x80) 4781 #define WIFEXITED(status) (WTERMSIG(status) == 0) 4782 #define WNOHANG 0x00000001 4783 #define WUNTRACED 0x00000002 4784 #define WCOREFLAG 0x80 4785 #define WSTOPSIG(status) WEXITSTATUS(status) 4786 4787 4788 typedef enum 4789 { 4790 P_ALL, P_PID, P_PGID 4791 } 4792 idtype_t; 4793 ------------------------------------------------------------------------------- 4794 4795 syslog.h 4796 4797 4798 4799 4800 #define LOG_EMERG 0 4801 #define LOG_ALERT 1 4802 #define LOG_CRIT 2 4803 #define LOG_ERR 3 4804 #define LOG_WARNING 4 4805 #define LOG_NOTICE 5 4806 #define LOG_INFO 6 4807 #define LOG_DEBUG 7 4808 4809 4810 4811 #define LOG_KERN (0<<3) 4812 #define LOG_AUTHPRIV (10<<3) 4813 #define LOG_FTP (11<<3) 4814 #define LOG_USER (1<<3) 4815 #define LOG_MAIL (2<<3) 4816 #define LOG_DAEMON (3<<3) 4817 #define LOG_AUTH (4<<3) 4818 #define LOG_SYSLOG (5<<3) 4819 #define LOG_LPR (6<<3) 4820 #define LOG_NEWS (7<<3) 4821 #define LOG_UUCP (8<<3) 4822 #define LOG_CRON (9<<3) 4823 4824 4825 4826 #define LOG_LOCAL0 (16<<3) 4827 #define LOG_LOCAL1 (17<<3) 4828 #define LOG_LOCAL2 (18<<3) 4829 #define LOG_LOCAL3 (19<<3) 4830 #define LOG_LOCAL4 (20<<3) 4831 #define LOG_LOCAL5 (21<<3) 4832 #define LOG_LOCAL6 (22<<3) 4833 #define LOG_LOCAL7 (23<<3) 4834 4835 4836 4837 #define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) 4838 #define LOG_MASK(pri) (1 << (pri)) 4839 4840 4841 4842 #define LOG_PID 0x01 4843 #define LOG_CONS 0x02 4844 #define LOG_ODELAY 0x04 4845 #define LOG_NDELAY 0x08 4846 #define LOG_NOWAIT 0x10 4847 #define LOG_PERROR 0x20 4848 ------------------------------------------------------------------------------- 4849 4850 termios.h 4851 4852 #define TCIFLUSH 0 4853 #define TCOOFF 0 4854 #define TCSANOW 0 4855 #define BS0 0000000 4856 #define CR0 0000000 4857 #define FF0 0000000 4858 #define NL0 0000000 4859 #define TAB0 0000000 4860 #define VT0 0000000 4861 #define OPOST 0000001 4862 #define OCRNL 0000010 4863 #define ONOCR 0000020 4864 #define ONLRET 0000040 4865 #define OFILL 0000100 4866 #define OFDEL 0000200 4867 #define NL1 0000400 4868 #define TCOFLUSH 1 4869 #define TCOON 1 4870 #define TCSADRAIN 1 4871 #define TCIOFF 2 4872 #define TCIOFLUSH 2 4873 #define TCSAFLUSH 2 4874 #define TCION 3 4875 4876 4877 struct winsize 4878 { 4879 unsigned short ws_row; 4880 unsigned short ws_col; 4881 unsigned short ws_xpixel; 4882 unsigned short ws_ypixel; 4883 } 4884 ; 4885 4886 4887 typedef unsigned int speed_t; 4888 typedef unsigned char cc_t; 4889 typedef unsigned int tcflag_t; 4890 #define NCCS 32 4891 4892 4893 struct termios 4894 { 4895 tcflag_t c_iflag; 4896 tcflag_t c_oflag; 4897 tcflag_t c_cflag; 4898 tcflag_t c_lflag; 4899 cc_t c_line; 4900 cc_t c_cc[NCCS]; 4901 speed_t c_ispeed; 4902 speed_t c_ospeed; 4903 } 4904 ; 4905 #define VINTR 0 4906 #define VQUIT 1 4907 #define VLNEXT 15 4908 #define VERASE 2 4909 #define VKILL 3 4910 #define VEOF 4 4911 4912 4913 4914 #define IGNBRK 0000001 4915 #define BRKINT 0000002 4916 #define IGNPAR 0000004 4917 #define PARMRK 0000010 4918 #define INPCK 0000020 4919 #define ISTRIP 0000040 4920 #define INLCR 0000100 4921 #define IGNCR 0000200 4922 #define ICRNL 0000400 4923 #define IXANY 0004000 4924 #define IMAXBEL 0020000 4925 4926 4927 4928 4929 4930 4931 #define CS5 0000000 4932 4933 4934 4935 #define ECHO 0000010 4936 4937 4938 4939 #define B0 0000000 4940 #define B50 0000001 4941 #define B75 0000002 4942 #define B110 0000003 4943 #define B134 0000004 4944 #define B150 0000005 4945 #define B200 0000006 4946 #define B300 0000007 4947 #define B600 0000010 4948 #define B1200 0000011 4949 #define B1800 0000012 4950 #define B2400 0000013 4951 #define B4800 0000014 4952 #define B9600 0000015 4953 #define B19200 0000016 4954 #define B38400 0000017 4955 ------------------------------------------------------------------------------- 4956 4957 time.h 4958 4959 #define CLOCK_REALTIME 0 4960 #define TIMER_ABSTIME 1 4961 #define CLOCKS_PER_SEC 1000000l 4962 4963 4964 struct tm 4965 { 4966 int tm_sec; 4967 int tm_min; 4968 int tm_hour; 4969 int tm_mday; 4970 int tm_mon; 4971 int tm_year; 4972 int tm_wday; 4973 int tm_yday; 4974 int tm_isdst; 4975 long tm_gmtoff; 4976 char *tm_zone; 4977 } 4978 ; 4979 struct itimerspec 4980 { 4981 struct timespec it_interval; 4982 struct timespec it_value; 4983 } 4984 ; 4985 ------------------------------------------------------------------------------- 4986 4987 ulimit.h 4988 4989 #define UL_GETFSIZE 1 4990 #define UL_SETFSIZE 2 4991 ------------------------------------------------------------------------------- 4992 4993 unistd.h 4994 4995 #define SEEK_SET 0 4996 #define STDIN_FILENO 0 4997 #define SEEK_CUR 1 4998 #define STDOUT_FILENO 1 4999 #define SEEK_END 2 5000 #define STDERR_FILENO 2 5001 5002 5003 typedef long long off64_t; 5004 #define F_OK 0 5005 #define X_OK 1 5006 #define W_OK 2 5007 #define R_OK 4 5008 5009 5010 5011 #define _POSIX_VDISABLE '\0' 5012 #define _POSIX_ASYNCHRONOUS_IO 1 5013 #define _POSIX_CHOWN_RESTRICTED 1 5014 #define _POSIX_FSYNC 1 5015 #define _POSIX_MAPPED_FILES 1 5016 #define _POSIX_MEMLOCK 1 5017 #define _POSIX_MEMLOCK_RANGE 1 5018 #define _POSIX_MEMORY_PROTECTION 1 5019 #define _POSIX_NO_TRUNC 1 5020 #define _POSIX_PRIORITY_SCHEDULING 1 5021 #define _POSIX_REALTIME_SIGNALS 1 5022 #define _POSIX_SEMAPHORES 1 5023 #define _POSIX_SHARED_MEMORY_OBJECTS 1 5024 #define _POSIX_SYNCHRONIZED_IO 1 5025 #define _POSIX_TIMERS 1 5026 #define _POSIX2_C_VERSION 199209L 5027 #define _POSIX2_VERSION 199209L 5028 #define _POSIX_VERSION 199506L 5029 5030 5031 5032 #define _PC_LINK_MAX 0 5033 #define _PC_MAX_CANON 1 5034 #define _PC_ASYNC_IO 10 5035 #define _PC_PRIO_IO 11 5036 #define _PC_FILESIZEBITS 13 5037 #define _PC_MAX_INPUT 2 5038 #define _PC_NAME_MAX 3 5039 #define _PC_PATH_MAX 4 5040 #define _PC_PIPE_BUF 5 5041 #define _PC_CHOWN_RESTRICTED 6 5042 #define _PC_NO_TRUNC 7 5043 #define _PC_VDISABLE 8 5044 #define _PC_SYNC_IO 9 5045 5046 5047 5048 #define _SC_ARG_MAX 0 5049 #define _SC_CHILD_MAX 1 5050 #define _SC_PRIORITY_SCHEDULING 10 5051 #define _SC_TIMERS 11 5052 #define _SC_ASYNCHRONOUS_IO 12 5053 #define _SC_XBS5_ILP32_OFF32 125 5054 #define _SC_XBS5_ILP32_OFFBIG 126 5055 #define _SC_XBS5_LP64_OFF64 127 5056 #define _SC_XBS5_LPBIG_OFFBIG 128 5057 #define _SC_XOPEN_LEGACY 129 5058 #define _SC_PRIORITIZED_IO 13 5059 #define _SC_XOPEN_REALTIME 130 5060 #define _SC_SYNCHRONIZED_IO 14 5061 #define _SC_MAPPED_FILES 16 5062 #define _SC_MEMLOCK 17 5063 #define _SC_MEMLOCK_RANGE 18 5064 #define _SC_MEMORY_PROTECTION 19 5065 #define _SC_CLK_TCK 2 5066 #define _SC_MESSAGE_PASSING 20 5067 #define _SC_SEMAPHORES 21 5068 #define _SC_SHARED_MEMORY_OBJECTS 22 5069 #define _SC_AIO_LISTIO_MAX 23 5070 #define _SC_AIO_MAX 24 5071 #define _SC_AIO_PRIO_DELTA_MAX 25 5072 #define _SC_DELAYTIMER_MAX 26 5073 #define _SC_MQ_OPEN_MAX 27 5074 #define _SC_MQ_PRIO_MAX 28 5075 #define _SC_VERSION 29 5076 #define _SC_NGROUPS_MAX 3 5077 #define _SC_PAGESIZE 30 5078 #define _SC_RTSIG_MAX 31 5079 #define _SC_SEM_NSEMS_MAX 32 5080 #define _SC_SEM_VALUE_MAX 33 5081 #define _SC_SIGQUEUE_MAX 34 5082 #define _SC_TIMER_MAX 35 5083 #define _SC_BC_BASE_MAX 36 5084 #define _SC_BC_DIM_MAX 37 5085 #define _SC_BC_SCALE_MAX 38 5086 #define _SC_BC_STRING_MAX 39 5087 #define _SC_OPEN_MAX 4 5088 #define _SC_COLL_WEIGHTS_MAX 40 5089 #define _SC_EXPR_NEST_MAX 42 5090 #define _SC_LINE_MAX 43 5091 #define _SC_RE_DUP_MAX 44 5092 #define _SC_2_VERSION 46 5093 #define _SC_2_C_BIND 47 5094 #define _SC_2_C_DEV 48 5095 #define _SC_2_FORT_DEV 49 5096 #define _SC_STREAM_MAX 5 5097 #define _SC_2_FORT_RUN 50 5098 #define _SC_2_SW_DEV 51 5099 #define _SC_2_LOCALEDEF 52 5100 #define _SC_TZNAME_MAX 6 5101 #define _SC_THREADS 67 5102 #define _SC_THREAD_SAFE_FUNCTIONS 68 5103 #define _SC_JOB_CONTROL 7 5104 #define _SC_THREAD_DESTRUCTOR_ITERATIONS 73 5105 #define _SC_THREAD_KEYS_MAX 74 5106 #define _SC_THREAD_STACK_MIN 75 5107 #define _SC_THREAD_THREADS_MAX 76 5108 #define _SC_THREAD_ATTR_STACKADDR 77 5109 #define _SC_THREAD_ATTR_STACKSIZE 78 5110 #define _SC_THREAD_PRIORITY_SCHEDULING 79 5111 #define _SC_SAVED_IDS 8 5112 #define _SC_THREAD_PRIO_INHERIT 80 5113 #define _SC_THREAD_PRIO_PROTECT 81 5114 #define _SC_THREAD_PROCESS_SHARED 82 5115 #define _SC_PASS_MAX 88 5116 #define _SC_XOPEN_VERSION 89 5117 #define _SC_REALTIME_SIGNALS 9 5118 #define _SC_XOPEN_CRYPT 92 5119 #define _SC_XOPEN_ENH_I18N 93 5120 #define _SC_XOPEN_SHM 94 5121 #define _SC_2_C_VERSION 96 5122 #define _SC_2_UPE 97 5123 5124 5125 5126 #define _CS_PATH 0 5127 #define _CS_XBS5_ILP32_OFF32_CFLAGS 1100 5128 #define _CS_XBS5_ILP32_OFF32_LDFLAGS 1101 5129 #define _CS_XBS5_ILP32_OFF32_LIBS 1102 5130 #define _CS_XBS5_ILP32_OFF32_LINTFLAGS 1103 5131 #define _CS_XBS5_ILP32_OFFBIG_CFLAGS 1104 5132 #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS 1105 5133 #define _CS_XBS5_ILP32_OFFBIG_LIBS 1106 5134 #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS 1107 5135 #define _CS_XBS5_LP64_OFF64_CFLAGS 1108 5136 #define _CS_XBS5_LP64_OFF64_LDFLAGS 1109 5137 #define _CS_XBS5_LP64_OFF64_LIBS 1110 5138 #define _CS_XBS5_LP64_OFF64_LINTFLAGS 1111 5139 #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS 1112 5140 #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS 1113 5141 #define _CS_XBS5_LPBIG_OFFBIG_LIBS 1114 5142 #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 1115 5143 5144 5145 5146 #define _XOPEN_REALTIME 1 5147 #define _XOPEN_XPG4 1 5148 #define _XOPEN_XCU_VERSION 4 5149 #define _XOPEN_VERSION 500 5150 ------------------------------------------------------------------------------- 5151 5152 utime.h 5153 5154 5155 5156 struct utimbuf 5157 { 5158 time_t actime; 5159 time_t modtime; 5160 } 5161 ; 5162 ------------------------------------------------------------------------------- 5163 5164 utmp.h 5165 5166 #define UT_HOSTSIZE 256 5167 #define UT_LINESIZE 32 5168 #define UT_NAMESIZE 32 5169 5170 5171 struct exit_status 5172 { 5173 short e_termination; 5174 short e_exit; 5175 } 5176 ; 5177 struct lastlog 5178 { 5179 time_t ll_time; 5180 char ll_line[UT_LINESIZE]; 5181 char ll_host[UT_HOSTSIZE]; 5182 } 5183 ; 5184 5185 5186 struct utmp 5187 { 5188 short ut_type; 5189 pid_t ut_pid; 5190 char ut_line[UT_LINESIZE]; 5191 char ut_id[4]; 5192 char ut_user[UT_NAMESIZE]; 5193 char ut_host[UT_HOSTSIZE]; 5194 struct exit_status ut_exit; 5195 long ut_session; 5196 struct timeval ut_tv; 5197 int32_t ut_addr_v6[4]; 5198 char __unused[20]; 5199 } 5200 ; 5201 #define EMPTY 0 5202 #define RUN_LVL 1 5203 #define BOOT_TIME 2 5204 #define NEW_TIME 3 5205 #define OLD_TIME 4 5206 #define INIT_PROCESS 5 5207 #define LOGIN_PROCESS 6 5208 #define USER_PROCESS 7 5209 #define DEAD_PROCESS 8 5210 #define ACCOUNTING 9 5211 ------------------------------------------------------------------------------- 5212 5213 wchar.h 5214 5215 #define WEOF (0xffffffffu) 5216 #define WCHAR_MAX 0x7FFFFFFF 5217 #define WCHAR_MIN 0x80000000 5218 ------------------------------------------------------------------------------- 5219 5220 wctype.h 5221 5222 5223 5224 typedef unsigned long wctype_t; 5225 typedef unsigned int wint_t; 5226 typedef const int32_t *wctrans_t; 5227 typedef struct 5228 { 5229 int count; 5230 wint_t value; 5231 } 5232 __mbstate_t; 5233 5234 5235 typedef __mbstate_t mbstate_t; 5236 ------------------------------------------------------------------------------- 5237 5238 wordexp.h 5239 5240 5241 5242 5243 5244 5245 enum 5246 { 5247 WRDE_DOOFFS, WRDE_APPEND, WRDE_NOCMD, WRDE_REUSE, WRDE_SHOWERR, WRDE_UNDEF, 5248 __WRDE_FLAGS 5249 } 5250 ; 5251 5252 5253 typedef struct 5254 { 5255 int we_wordc; 5256 char **we_wordv; 5257 int we_offs; 5258 } 5259 wordexp_t; 5260 5261 5262 enum 5263 { 5264 WRDE_NOSYS, WRDE_NOSPACE, WRDE_BADCHAR, WRDE_BADVAL, WRDE_CMDSUB, 5265 WRDE_SYNTAX 5266 } 5267 ; 5268 ------------------------------------------------------------------------------- 5269 5270 Interfaces Definitions for libc 5271 5272 Table of Contents 5273 _IO_feof -- alias for feof 5274 _IO_getc -- alias for getc 5275 _IO_putc -- alias for putc 5276 _IO_puts -- alias for puts 5277 __assert_fail -- abort the program after false assertion 5278 __ctype_b -- array index for ctype functions 5279 __ctype_get_mb_cur_max -- maximum length of a multibyte character in the 5280 current locale 5281 __ctype_tolower -- convert uppercase letter to lowercase letter 5282 __ctype_toupper -- convert lowercase letter to uppercase letter 5283 __cxa_atexit -- register a function to be called by exit or when a shared 5284 library is unloaded 5285 __daylight -- global variable containing daylight 5286 __dcgettext -- (deprecated) 5287 __environ -- alias for environ - user environment 5288 __errno_location -- address of errno variable 5289 __fpending -- returns in bytes the amount of output pending on a stream 5290 __getpagesize -- alias for getpagesize - get current page size 5291 __getpgid -- get the process group id 5292 __h_errno_location -- address of h_errno variable 5293 __isinf -- test for infinity 5294 __isinff -- test for infinity 5295 __isinfl -- test for infinity 5296 __isnan -- test for infinity 5297 __isnanf -- test for infinity 5298 __isnanl -- test for infinity 5299 __libc_current_sigrtmax -- return number of available real-time signal with 5300 lowest priority 5301 __libc_current_sigrtmin -- return number of available real-time signal with 5302 highest priority 5303 __libc_start_main -- initialization routine 5304 __lxstat -- inline wrapper around call to lxstat 5305 __mempcpy -- copy given number of bytes of source to destination 5306 __rawmemchr -- scan memory 5307 __sigsetjmp -- save stack context for non-local goto 5308 __stpcpy -- copy a string returning a pointer to its end 5309 __strdup -- alias for strdup 5310 __strtod_internal -- underlying function for strtod 5311 __strtof_internal -- underlying function for strtof 5312 __strtok_r -- alias for strtok_r 5313 __strtol_internal -- alias for strtol 5314 __strtold_internal -- underlying function for strtold 5315 __strtoll_internal -- underlying function for strtoll 5316 __strtoul_internal -- underlying function for strtoul 5317 __strtoull_internal -- underlying function for strtoull 5318 __sysconf -- get configuration information at runtime 5319 __sysv_signal -- signal handling 5320 __timezone -- global variable containing timezone 5321 __tzname -- global variable containing the timezone 5322 __wcstod_internal -- underlying function for wcstod 5323 __wcstof_internal -- underlying function for wcstof 5324 __wcstol_internal -- underlying function for wcstol 5325 __wcstold_internal -- underlying function for wcstold 5326 __wcstoul_internal -- underlying function for wcstoul 5327 __xmknod -- make block or character special file 5328 __xstat -- provide inode information 5329 __xstat64 -- provide inode information 5330 _environ -- alias for environ - user environment 5331 _nl_msg_cat_cntr -- new catalog load counter 5332 _obstack_begin -- initialize an obstack for use 5333 _obstack_newchunk -- allocate a new current chunk of memory for the obstack 5334 _sys_errlist -- array containing the "C" locale strings used by strerror() 5335 _sys_siglist -- array containing the names of the signal names 5336 acct -- switch process accounting on or off 5337 adjtime -- correct the time to allow synchronization of the system clock 5338 adjtimex -- tune kernel clock 5339 alphasort -- compare two directory entries alphabetically (LSB deprecated) 5340 alphasort64 -- compare two directory entries alphabetically (LSB deprecated) 5341 asprintf -- write formatted output to a string dynamically allocated with 5342 malloc and store the address of the string 5343 bind_textdomain_codeset -- specify encoding for message retrieval from message 5344 catalog for domain DOMAINNAME 5345 bindresvport -- bind socket to privileged IP port 5346 bindtextdomain -- specify the locale of a message catalog 5347 cfmakeraw -- get and set terminal attributes 5348 cfsetspeed -- manipulate the termios structure 5349 daemon -- run in the background 5350 dcgettext -- perform lookup in message catalog for the current LC_MESSAGES 5351 locale 5352 dcngettext -- perform lookup in message catalog for the current LC_MESSAGES 5353 locale 5354 dgettext -- perform lookup in message catalog for the current LC_MESSAGES 5355 locale 5356 dngettext -- perform lookup in message catalog for the current LC_MESSAGES 5357 locale 5358 err -- display formatted error messages 5359 error -- print error message 5360 errx -- format error messages 5361 fcntl -- file control 5362 flock -- apply or remove an advisory lock on an open file 5363 fstatfs -- (deprecated) 5364 fstatfs64 -- (deprecated) 5365 getdomainname -- get NIS domain name. 5366 gethostbyname -- get network host entry 5367 gethostbyname_r -- find network host database entry matching host name 5368 getloadavg -- get system load averages 5369 getopt -- parse command line options 5370 getopt_long -- parse command line options 5371 getopt_long_only -- parse command line options 5372 getpwnam_r -- reentrant version of getpwnam 5373 gets -- get a line of input (deprecated) 5374 getservbyname -- get service entry by name 5375 getservent -- get service entry 5376 gettext -- perform lookup in message catalog for the current LC_MESSAGES locale 5377 getutent -- access utmp file entries 5378 getutent_r -- access utmp file entries 5379 glob64 -- find pathnames matching a pattern (Large File Support) 5380 globfree64 -- free memory from glob64() (Large File Support) 5381 initgroups -- initialize the supplementary group access list 5382 ioctl -- control device 5383 sockio -- socket ioctl commands 5384 iswctype -- wide character classification 5385 kill -- send a signal 5386 mbsnrtowcs -- convert a multibyte string to a wide character string 5387 memmem -- locate a substring 5388 memrchr -- scan memory for a character 5389 ngettext -- perform lookup in message catalog for the current LC_MESSAGES 5390 locale 5391 nice -- set nice value 5392 obstack_free -- free an object in the obstack 5393 opterr -- external variable used in getopt() 5394 optind -- external variable used in getopt() 5395 optopt -- external variable used in getopt() 5396 psignal -- print signal message 5397 random_r -- generate random number 5398 setbuffer -- stream buffering operation 5399 setdomainname -- set NIS domain name. 5400 setegid -- set effective group ID 5401 setenv -- change or add an environment variable 5402 seteuid -- set effective user ID 5403 setgroups -- set list of supplementary group IDs 5404 sethostid -- set the unique identifier of the current host 5405 sethostname -- set host name 5406 setmntent -- (deprecated) 5407 setutent -- access utmp file entries 5408 sigandset -- build a new signal set by combining the two input sets using 5409 logical AND 5410 sigblock -- manipulate the signal mask 5411 siggetmask -- manipulate the signal mask 5412 sigisemptyset -- check for empty signal set 5413 sigorset -- build a new signal set by combining the two input sets using 5414 logical OR 5415 sigreturn -- return from signal handler and cleanup stack frame 5416 statfs -- (deprecated) 5417 statfs64 -- (deprecated) 5418 stime -- set time 5419 stpcpy -- copy a string returning a pointer to its end 5420 stpncpy -- copy a fixed-size string, returning a pointer to its end 5421 strcasestr -- locate a substring - ignores the case of both strings 5422 strerror_r -- reentrant version of strerror 5423 strfry -- randomize a string 5424 strndup -- return a malloc'd copy of at most the specified number of bytes of a 5425 string 5426 strnlen -- determine the length of a fixed-size string 5427 strptime -- parse a time string 5428 strsep -- extract token from string 5429 strsignal -- return string describing signal 5430 strtok_r -- extract tokens from strings 5431 strtoq -- convert string value to a long or quad_t integer 5432 strtouq -- convert a string to an uquad_t 5433 strverscmp -- compare strings holding name and indices/version numbers 5434 system -- execute a shell command 5435 textdomain -- set the current default message catalog 5436 unlink -- remove a directory entry 5437 unsetenv -- delete an environment variable 5438 vasprintf -- write formatted output to a string dynamically allocated with 5439 malloc and store the address of the string 5440 vdprintf -- write formatted output to a file descriptor 5441 verrx -- display formatted error messages 5442 vsyslog -- log to system log 5443 wait3 -- wait for child process 5444 wait4 -- wait for process termination, BSD style 5445 waitid -- (deprecated) 5446 waitpid -- wait for child process 5447 warn -- formatted error messages 5448 warnx -- formatted error messages 5449 wcpcpy -- copy a wide character string, returning a pointer to its end 5450 wcpncpy -- copy a fixed-size string of wide characters, returning a pointer to 5451 its end 5452 wcscasecmp -- compare two wide-character strings, ignoring case 5453 wcsdup -- duplicate a wide-character string 5454 wcsncasecmp -- compare two fixed-size wide-character strings, ignoring case 5455 wcsnlen -- determine the length of a fixed-size wide-character string 5456 wcsnrtombs -- convert a wide character string to a multi-byte string 5457 wcstoq -- convert initial portion of wide string NPTR to long int 5458 representation 5459 wcstouq -- convert initial portion of wide string NPTR to unsigned long long 5460 int representation 5461 xdr_u_int -- library routines for external data representation 5462 5463 _IO_feof 5464 5465 Name 5466 5467 _IO_feof -- alias for feof 5468 5469 Synopsis 5470 5471 int _IO_feof(_IO_FILE *__fp); 5472 5473 Description 5474 5475 _IO_feof tests the end-of-file indicator for the stream pointed to by __fp, 5476 returning a non-zero value if it is set. 5477 5478 _IO_feof is not in the source standard; it is only in the binary standard. 5479 5480 _IO_getc 5481 5482 Name 5483 5484 _IO_getc -- alias for getc 5485 5486 Synopsis 5487 5488 int _IO_getc(_IO_FILE *__fp); 5489 5490 Description 5491 5492 _IO_getc reads the next character from __fp and returns it as an unsigned char 5493 cast to an int, or EOF on end-of-file or error. 5494 5495 _IO_getc is not in the source standard; it is only in the binary standard. 5496 5497 _IO_putc 5498 5499 Name 5500 5501 _IO_putc -- alias for putc 5502 5503 Synopsis 5504 5505 int _IO_putc(int __c, _IO_FILE *__fp); 5506 5507 Description 5508 5509 _IO_putc writes the character __c, cast to an unsigned char, to __fp. 5510 5511 _IO_putc is not in the source standard; it is only in the binary standard. 5512 5513 _IO_puts 5514 5515 Name 5516 5517 _IO_puts -- alias for puts 5518 5519 Synopsis 5520 5521 int _IO_puts(const char *__c); 5522 5523 Description 5524 5525 _IO_puts writes the string __s and a trailing newline to stdout. 5526 5527 _IO_puts is not in the source standard; it is only in the binary standard. 5528 5529 __assert_fail 5530 5531 Name 5532 5533 __assert_fail -- abort the program after false assertion 5534 5535 Synopsis 5536 5537 void __assert_fail(const char *assertion, const char *file, unsigned int line, 5538 const char *function); 5539 5540 Description 5541 5542 __assert_fail receives a string containing the expression assertion, the 5543 filename file, and the line number line, and prints a message on the standard 5544 error stream. For example: 5545 5546 5547 a.c:10: foobar: Assertion a == b failed. 5548 5549 __assert_fail then aborts program execution via a call to abort. The exact form 5550 of the message is up to the implementation. 5551 5552 If function is NULL, then omit information about the function. 5553 5554 assertion, file, and line must be non-NULL. 5555 5556 __assert_fail is not in the source standard; it is only in the binary standard. 5557 5558 __ctype_b 5559 5560 Name 5561 5562 __ctype_b -- array index for ctype functions 5563 5564 Synopsis 5565 5566 #include 5567 5568 extern const unsigned short int *ctype_b; 5569 5570 Description 5571 5572 __ctype_b is an array index for ctype functions. 5573 5574 __ctype_b is not in the source standard; it is only in the binary standard. 5575 5576 __ctype_get_mb_cur_max 5577 5578 Name 5579 5580 __ctype_get_mb_cur_max -- maximum length of a multibyte character in the 5581 current locale 5582 5583 Synopsis 5584 5585 size_t __ctype_get_mb_cur_max(void); 5586 5587 Description 5588 5589 __ctype_get_mb_cur_max returns the maximum length of a multibyte character in 5590 the current locale. 5591 5592 __ctype_get_mb_cur_max is not in the source standard; it is only in the binary 5593 standard. 5594 5595 __ctype_tolower 5596 5597 Name 5598 5599 __ctype_tolower -- convert uppercase letter to lowercase letter 5600 5601 Synopsis 5602 5603 #include 5604 5605 int __ctype_tolower(int c); 5606 5607 Description 5608 5609 __ctype_tolower converts an uppercase letter to the corresponding lowercase 5610 letter. If the argument is an uppercase letter, __ctype_tolower returns the 5611 corresponding lowercase letter if there is one; otherwise, the argument is 5612 returned unchanged. 5613 5614 __ctype_tolower is not in the source standard; it is only in the binary 5615 standard. 5616 5617 __ctype_toupper 5618 5619 Name 5620 5621 __ctype_toupper -- convert lowercase letter to uppercase letter 5622 5623 Synopsis 5624 5625 #include 5626 5627 int __ctype_toupper(int c); 5628 5629 Description 5630 5631 __ctype_toupper converts a lowercase letter to the corresponding uppercase 5632 letter. If the argument is a lowercase letter, __ctype_toupper returns the 5633 corresponding uppercase letter if there is one; otherwise, the argument is 5634 returned unchanged. 5635 5636 __ctype_toupper is not in the source standard; it is only in the binary 5637 standard. 5638 5639 __cxa_atexit 5640 5641 Name 5642 5643 __cxa_atexit -- register a function to be called by exit or when a shared 5644 library is unloaded 5645 5646 Synopsis 5647 5648 int __cxa_atexit(void (*func) (void *), void *arg, void *d); 5649 5650 Description 5651 5652 __cxa_atexit registers a function to be called by exit or when a shared library 5653 is unloaded. This function is only called from code generated by the C++ 5654 compiler. 5655 5656 __cxa_atexit has the same specification as atexit. 5657 5658 __cxa_atexit is not in the source standard; it is only in the binary standard. 5659 5660 __daylight 5661 5662 Name 5663 5664 -- global variable containing daylight 5665 5666 Synopsis 5667 5668 int __daylight; 5669 5670 Description 5671 5672 __daylight is as specified in the Single UNIX Specification, Version 2. 5673 5674 __dcgettext 5675 5676 Name 5677 5678 __dcgettext -- (deprecated) 5679 5680 Synopsis 5681 5682 #include 5683 5684 extern char *__dcgettext(const char *domainname, const char *msgid, int 5685 category); 5686 5687 Description 5688 5689 __dcgettext has been deprecated from the LSB because it is no longer used by 5690 dcgettext. Originally, it was intended only for the binary standard. 5691 5692 __environ 5693 5694 Name 5695 5696 __environ -- alias for environ - user environment 5697 5698 Synopsis 5699 5700 extern char **__environ; 5701 5702 Description 5703 5704 __environ is an alias for environ - user environment. 5705 5706 __environ has the same specification as environ. 5707 5708 __environ is not in the source standard; it is only in the binary standard. 5709 5710 __errno_location 5711 5712 Name 5713 5714 __errno_location -- address of errno variable 5715 5716 Synopsis 5717 5718 int *__errno_location(void); 5719 5720 Description 5721 5722 __errno_location is not in the source standard; it is only in the binary 5723 standard. 5724 5725 __fpending 5726 5727 Name 5728 5729 __fpending -- returns in bytes the amount of output pending on a stream 5730 5731 Synopsis 5732 5733 #include 5734 5735 size_t __fpending(FILE *stream); 5736 5737 Description 5738 5739 __fpending returns the amount of output in bytes pending on a stream. 5740 5741 __fpending is not in the source standard; it is only in the binary standard. 5742 5743 __getpagesize 5744 5745 Name 5746 5747 __getpagesize -- alias for getpagesize - get current page size 5748 5749 Synopsis 5750 5751 extern int __getpagesize(void); 5752 5753 Description 5754 5755 __getpagesize is an alias for getpagesize - get current page size. 5756 5757 __getpagesize has the same specification as getpagesize. 5758 5759 __getpagesize is not in the source standard; it is only in the binary standard. 5760 5761 __getpgid 5762 5763 Name 5764 5765 __getpgid -- get the process group id 5766 5767 Synopsis 5768 5769 pid_t __getpgid(pid_t pid); 5770 5771 Description 5772 5773 __getpgid has the same specification as getpgid. 5774 5775 __getpgid is not in the source standard; it is only in the binary standard. 5776 5777 __h_errno_location 5778 5779 Name 5780 5781 __h_errno_location -- address of h_errno variable 5782 5783 Synopsis 5784 5785 int *__h_errno_location(void); 5786 5787 Description 5788 5789 __h_errno_location returns the address of the h_errno variable, where h_errno 5790 is as specified in the Single Unix Specification. 5791 5792 __h_errno_location is not in the source standard; it is only in the binary 5793 standard. Note that h_errno itself is only in the source standard; it is not in 5794 the binary standard. 5795 5796 __isinf 5797 5798 Name 5799 5800 __isinf -- test for infinity 5801 5802 Synopsis 5803 5804 int __isinf(double arg); 5805 5806 Description 5807 5808 __isinf has the same specification as isinf in the Single UNIX Specification, 5809 Version 3, except that the argument type for __isinf is known to be double. 5810 5811 __isinf is not in the source standard; it is only in the binary standard. 5812 5813 __isinff 5814 5815 Name 5816 5817 __isinff -- test for infinity 5818 5819 Synopsis 5820 5821 int __isinff(float arg); 5822 5823 Description 5824 5825 __isinff has the same specification as isinf in the Single UNIX Specification, 5826 Version 3, except that the argument type for __isinff is known to be float. 5827 5828 __isinff is not in the source standard; it is only in the binary standard. 5829 5830 __isinfl 5831 5832 Name 5833 5834 __isinfl -- test for infinity 5835 5836 Synopsis 5837 5838 int __isinfl(long double arg); 5839 5840 Description 5841 5842 __isinfl has the same specification as isinf in the Single UNIX Specification, 5843 Version 3, except that the argument type for __isinfl is known to be long 5844 double. 5845 5846 __isinfl is not in the source standard; it is only in the binary standard. 5847 5848 __isnan 5849 5850 Name 5851 5852 __isnan -- test for infinity 5853 5854 Synopsis 5855 5856 int __isnan(double arg); 5857 5858 Description 5859 5860 __isnan has the same specification as isnan in the Single UNIX Specification, 5861 Version 3, except that the argument type for __isnan is known to be double. 5862 5863 __isnan is not in the source standard; it is only in the binary standard. 5864 5865 __isnanf 5866 5867 Name 5868 5869 __isnanf -- test for infinity 5870 5871 Synopsis 5872 5873 int __isnanf(float arg); 5874 5875 Description 5876 5877 __isnanf has the same specification as isnan in the Single UNIX Specification, 5878 Version 3, except that the argument type for __isnanf is known to be float. 5879 5880 __isnanf is not in the source standard; it is only in the binary standard. 5881 5882 __isnanl 5883 5884 Name 5885 5886 __isnanl -- test for infinity 5887 5888 Synopsis 5889 5890 int __isnanl(long double arg); 5891 5892 Description 5893 5894 __isnanl has the same specification as isnan in the Single UNIX Specification, 5895 Version 3, except that the argument type for __isnanl is known to be long 5896 double. 5897 5898 __isnanl is not in the source standard; it is only in the binary standard. 5899 5900 __libc_current_sigrtmax 5901 5902 Name 5903 5904 __libc_current_sigrtmax -- return number of available real-time signal with 5905 lowest priority 5906 5907 Synopsis 5908 5909 int __libc_current_sigrtmax(void); 5910 5911 Description 5912 5913 __libc_current_sigrtmax returns the number of an available real-time signal 5914 with the lowest priority. 5915 5916 __libc_current_sigrtmax is not in the source standard; it is only in the binary 5917 standard. 5918 5919 __libc_current_sigrtmin 5920 5921 Name 5922 5923 __libc_current_sigrtmin -- return number of available real-time signal with 5924 highest priority 5925 5926 Synopsis 5927 5928 int __libc_current_sigrtmin(void); 5929 5930 Description 5931 5932 __libc_current_sigrtmin returns the number of an available real-time signal 5933 with the highest priority. 5934 5935 __libc_current_sigrtmin is not in the source standard; it is only in the binary 5936 standard. 5937 5938 __libc_start_main 5939 5940 Name 5941 5942 __libc_start_main -- initialization routine 5943 5944 Synopsis 5945 5946 BP_SYM __libc_start_main(int (*main) (int, char**, char**), int argc, char 5947 *__unbounded *__unbounded ubp_av, void (*init) (void), void (*fini) (void), 5948 void (*rtld_fini) (void), void (*__unbounded stack_end)); 5949 5950 Description 5951 5952 __libc_start_main initializes glibc. 5953 5954 __libc_start_main is not in the source standard; it is only in the binary 5955 standard. 5956 5957 __lxstat 5958 5959 Name 5960 5961 __lxstat -- inline wrapper around call to lxstat 5962 5963 Synopsis 5964 5965 #include 5966 5967 int __lxstat(int version, char *__path, (struct stat *__statbuf)); 5968 5969 Description 5970 5971 __lxstat is an inline wrapper around call to lxstat. 5972 5973 __lxstat is not in the source standard; it is only in the binary standard. 5974 5975 __mempcpy 5976 5977 Name 5978 5979 __mempcpy -- copy given number of bytes of source to destination 5980 5981 Synopsis 5982 5983 #include 5984 5985 extern ptr_t __mempcpy(ptr_t restrict dest, const ptr_t restrict src, size_t 5986 n); 5987 5988 Description 5989 5990 __mempcpy copies n bytes of source to destination, returning pointer to bytes 5991 after the last written byte. 5992 5993 __mempcpy is not in the source standard; it is only in the binary standard. 5994 5995 __rawmemchr 5996 5997 Name 5998 5999 __rawmemchr -- scan memory 6000 6001 Synopsis 6002 6003 #include 6004 6005 extern ptr_t __rawmemchr(const ptr_t s, int c); 6006 6007 Description 6008 6009 __rawmemchr searches in s for c. 6010 6011 __rawmemchr is a weak alias to rawmemchr. It is similar to memchr, but it has 6012 no length limit. 6013 6014 __rawmemchr is not in the source standard; it is only in the binary standard. 6015 6016 __sigsetjmp 6017 6018 Name 6019 6020 __sigsetjmp -- save stack context for non-local goto 6021 6022 Synopsis 6023 6024 int __sigsetjmp(jmp_buf env, int savemask); 6025 6026 Description 6027 6028 __sigsetjmp has the same behavior as sigsetjmp as specified by the Single UNIX 6029 Specification, Version 2. 6030 6031 __sigsetjmp is not in the source standard; it is only in the binary standard. 6032 6033 __stpcpy 6034 6035 Name 6036 6037 __stpcpy -- copy a string returning a pointer to its end 6038 6039 Synopsis 6040 6041 #include 6042 6043 char *__stpcpy(char *dest, const char *src); 6044 6045 Description 6046 6047 __stpcpy copies the string src (including the terminating /0 character) to the 6048 array dest. The strings may not overlap, and dest must be large enough to 6049 receive the copy. 6050 6051 Return Value 6052 6053 __stpcpy returns a pointer to the end of the string dest (that is, the address 6054 of the terminating NULL character) rather than the beginning. 6055 6056 __stpcpy has the same specification as stpcpy. 6057 6058 __stpcpy is not in the source standard; it is only in the binary standard. 6059 6060 __strdup 6061 6062 Name 6063 6064 __strdup -- alias for strdup 6065 6066 Synopsis 6067 6068 char *__strdup(const char string); 6069 6070 Description 6071 6072 __strdup has the same specification as strdup. 6073 6074 __strdup is not in the source standard; it is only in the binary standard. 6075 6076 __strtod_internal 6077 6078 Name 6079 6080 __strtod_internal -- underlying function for strtod 6081 6082 Synopsis 6083 6084 double __strtod_internal(const char *__nptr, char **__endptr, int __group); 6085 6086 Description 6087 6088 __group must be 0 or the behavior of __strtod_internal is undefined. 6089 6090 __strtod_internal(__nptr, __endptr, 0) has the same specification as strtod 6091 (__nptr, __endptr). 6092 6093 __strtod_internal is not in the source standard; it is only in the binary 6094 standard. 6095 6096 __strtof_internal 6097 6098 Name 6099 6100 __strtof_internal -- underlying function for strtof 6101 6102 Synopsis 6103 6104 float __strtof_internal(const char *__nptr, char **__endptr, int __group); 6105 6106 Description 6107 6108 __group must be 0 or the behavior of __strtof_internal is undefined. 6109 6110 __strtof_internal(__nptr, __endptr, 0) has the same specification as strtof 6111 (__nptr, __endptr). 6112 6113 __strtof_internal is not in the source standard; it is only in the binary 6114 standard. 6115 6116 __strtok_r 6117 6118 Name 6119 6120 __strtok_r -- alias for strtok_r 6121 6122 Synopsis 6123 6124 char *__strtok_r(char *__restrict s, __const char *__restrict delim, char 6125 **__restrict save_ptr); 6126 6127 Description 6128 6129 __strtok_r has the same specification as strtok_r. 6130 6131 __strtok_r is not in the source standard; it is only in the binary standard. 6132 6133 __strtol_internal 6134 6135 Name 6136 6137 __strtol_internal -- alias for strtol 6138 6139 Synopsis 6140 6141 long int __strtol_internal(const char *__nptr, char **__endptr, int __base, int 6142 __group); 6143 6144 Description 6145 6146 __group must be 0 or the behavior of __strtol_internal is undefined. 6147 6148 __strtol_internal(__nptr, __endptr, __base, 0) has the same specification as 6149 strtol(__nptr, __endptr, __base). 6150 6151 __strtol_internal is not in the source standard; it is only in the binary 6152 standard. 6153 6154 __strtold_internal 6155 6156 Name 6157 6158 __strtold_internal -- underlying function for strtold 6159 6160 Synopsis 6161 6162 long double __strtold_internal(const char *__nptr, char **__endptr, int 6163 __group); 6164 6165 Description 6166 6167 __group must be 0 or the behavior of __strtold_internal is undefined. 6168 6169 __strtold_internal(__nptr, __endptr, 0) has the same specification as strtold 6170 (__nptr, __endptr). 6171 6172 __strtold_internal is not in the source standard; it is only in the binary 6173 standard. 6174 6175 __strtoll_internal 6176 6177 Name 6178 6179 __strtoll_internal -- underlying function for strtoll 6180 6181 Synopsis 6182 6183 long long __strtoll_internal(const char *__nptr, char **__endptr, int __base, 6184 int __group); 6185 6186 Description 6187 6188 __group must be 0 or the behavior of __strtoll_internal is undefined. 6189 6190 __strtoll_internal(__nptr, __endptr, __base, 0) has the same specification as 6191 strtoll(__nptr, __endptr, __base). 6192 6193 __strtoll_internal is not in the source standard; it is only in the binary 6194 standard. 6195 6196 __strtoul_internal 6197 6198 Name 6199 6200 __strtoul_internal -- underlying function for strtoul 6201 6202 Synopsis 6203 6204 unsigned long int __strtoul_internal(const char *__nptr, char **__endptr, int 6205 __base, int __group); 6206 6207 Description 6208 6209 __group must be 0 or the behavior of __strtoul_internal is undefined. 6210 6211 __strtoul_internal(__nptr, __endptr, __base, 0) has the same specification as 6212 strtoul(__nptr, __endptr, __base). 6213 6214 __strtoul_internal is not in the source standard; it is only in the binary 6215 standard. 6216 6217 __strtoull_internal 6218 6219 Name 6220 6221 __strtoull_internal -- underlying function for strtoull 6222 6223 Synopsis 6224 6225 unsigned long long __strtoull_internal(const char *__nptr, char **__endptr, int 6226 __base, int __group); 6227 6228 Description 6229 6230 __group must be 0 or the behavior of __strtoull_internal is undefined. 6231 6232 __strtoull_internal(__nptr, __endptr, __base, 0) has the same specification as 6233 strtoull(__nptr, __endptr, __base). 6234 6235 __strtoull_internal is not in the source standard; it is only in the binary 6236 standard. 6237 6238 __sysconf 6239 6240 Name 6241 6242 __sysconf -- get configuration information at runtime 6243 6244 Synopsis 6245 6246 #include 6247 6248 long __sysconf(int name); 6249 6250 Description 6251 6252 __sysconf gets configuration information at runtime. 6253 6254 __sysconf is weak alias to sysconf. 6255 6256 __sysconf has the same specification as sysconf. 6257 6258 __sysconf is not in the source standard; it is only in the binary standard. 6259 6260 __sysv_signal 6261 6262 Name 6263 6264 __sysv_signal -- signal handling 6265 6266 Synopsis 6267 6268 __sighandler_t __sysv_signal(int sig, __sighandler_t handler); 6269 6270 Description 6271 6272 __sysv_signal has the same behavior as signal as specified by X/Open. 6273 6274 __sysv_signal is not in the source standard; it is only in the binary standard. 6275 6276 __timezone 6277 6278 Name 6279 6280 -- global variable containing timezone 6281 6282 Synopsis 6283 6284 long int __timezone; 6285 6286 Description 6287 6288 __timezone has the same specification as timezone in the Single UNIX 6289 Specification. 6290 6291 __tzname 6292 6293 Name 6294 6295 -- global variable containing the timezone 6296 6297 Synopsis 6298 6299 char *__tzname[2]; 6300 6301 Description 6302 6303 __tzname has the same specification as tzname in the Single UNIX Specification. 6304 6305 Note that the array size of 2 is explicit in the Single UNIX Specification, 6306 Version 3, but not in the Single UNIX Specification, Version 2. 6307 6308 __wcstod_internal 6309 6310 Name 6311 6312 __wcstod_internal -- underlying function for wcstod 6313 6314 Synopsis 6315 6316 double __wcstod_internal(const wchar_t *nptr, wchar_t **endptr, int group); 6317 6318 Description 6319 6320 group must be 0 or the behavior of __wcstod_internal is undefined. 6321 6322 __wcstod_internal(nptr, endptr, 0) has the same specification as wcstod(nptr, 6323 endptr). 6324 6325 __wcstod_internal is not in the source standard; it is only in the binary 6326 standard. 6327 6328 __wcstof_internal 6329 6330 Name 6331 6332 __wcstof_internal -- underlying function for wcstof 6333 6334 Synopsis 6335 6336 float __wcstof_internal(const wchar_t *nptr, wchar_t **endptr, int group); 6337 6338 Description 6339 6340 group must be 0 or the behavior of __wcstof_internal is undefined. 6341 6342 __wcstof_internal(nptr, endptr, 0) has the same specification as wcstof(nptr, 6343 endptr). 6344 6345 __wcstof_internal is not in the source standard; it is only in the binary 6346 standard. 6347 6348 __wcstol_internal 6349 6350 Name 6351 6352 __wcstol_internal -- underlying function for wcstol 6353 6354 Synopsis 6355 6356 long __wcstol_internal(const wchar_t *nptr, wchar_t **endptr, int base, int 6357 group); 6358 6359 Description 6360 6361 group must be 0 or the behavior of __wcstol_internal is undefined. 6362 6363 __wcstol_internal(nptr, endptr, base, 0) has the same specification as wcstol 6364 (nptr, endptr, base). 6365 6366 __wcstol_internal is not in the source standard; it is only in the binary 6367 standard. 6368 6369 __wcstold_internal 6370 6371 Name 6372 6373 __wcstold_internal -- underlying function for wcstold 6374 6375 Synopsis 6376 6377 long double __wcstold_internal(const wchar_t *nptr, wchar_t **endptr, int 6378 group); 6379 6380 Description 6381 6382 group must be 0 or the behavior of __wcstold_internal is undefined. 6383 6384 __wcstold_internal(nptr, endptr, 0) has the same specification as wcstold(nptr, 6385 endptr). 6386 6387 __wcstold_internal is not in the source standard; it is only in the binary 6388 standard. 6389 6390 __wcstoul_internal 6391 6392 Name 6393 6394 __wcstoul_internal -- underlying function for wcstoul 6395 6396 Synopsis 6397 6398 unsigned long __wcstoul_internal(const wchar_t *restrict nptr, wchar_t 6399 **restrict endptr, int base, int group); 6400 6401 Description 6402 6403 group must be 0 or the behavior of __wcstoul_internal is undefined. 6404 6405 __wcstoul_internal(nptr, endptr, base, 0) has the same specification as wcstoul 6406 (nptr, endptr, base). 6407 6408 __wcstoul_internal is not in the source standard; it is only in the binary 6409 standard. 6410 6411 __xmknod 6412 6413 Name 6414 6415 __xmknod -- make block or character special file 6416 6417 Synopsis 6418 6419 int __xmknod(int ver, __const char *path, __mode_t mode, __dev_t *dev); 6420 6421 Description 6422 6423 ver must be 1 or the behavior of __xmknod is undefined. 6424 6425 __xmknod(1, path, mode, dev) has the same specification as mknod(path, mode, 6426 dev). 6427 6428 Note that the format of dev_t is not the same as the argument that the kernel 6429 syscall uses. 6430 6431 __xmknod is not in the source standard; it is only in the binary standard. 6432 6433 __xstat 6434 6435 Name 6436 6437 __xstat -- provide inode information 6438 6439 Synopsis 6440 6441 #include 6442 #include 6443 6444 int __xstat(int __ver, const char *__filename, (struct stat *__stat_buf)); 6445 6446 int __lxstat(int __ver, const char *__filename, (struct stat *__stat_buf)); 6447 6448 int __fxstat(int __ver, int __filedesc, (struct stat *__stat_buf)); 6449 6450 Description 6451 6452 __ver must be 3 or the behavior of these functions is undefined. 6453 6454 __filename is as specified in POSIX. 6455 6456 __filedesc is as specified in POSIX. 6457 6458 __stat_buf is as specified in POSIX. 6459 6460 __xstat(3, __filename, __stat_buf) has the same specification as stat 6461 (__filename, __stat_buf) as specified by POSIX. 6462 6463 __lxstat(3, __filename, __stat_buf) has the same specification as lstat 6464 (__filename, __stat_buf) as specified by POSIX. 6465 6466 __fxstat(3, __filedesc, __stat_buf) has the same specification as fstat 6467 (__filedesc, __stat_buf) as specified by POSIX. 6468 6469 Note that the struct stat used by these functions is not the one that the 6470 kernel uses. 6471 6472 __xstat, __lxstat, and __fxstat are not in the source standard; they are only 6473 in the binary standard. 6474 6475 stat, lstat, and fstat are not in the binary standard; they are only in the 6476 source standard. 6477 6478 __xstat64 6479 6480 Name 6481 6482 __xstat64 -- provide inode information 6483 6484 Synopsis 6485 6486 #define _LARGEFILE_SOURCE 1 6487 #include 6488 #include 6489 6490 int __xstat64(int __ver, const char *__filename, (struct stat64 *__stat_buf)); 6491 6492 int __lxstat64(int __ver, const char *__filename, (struct stat64 *__stat_buf)); 6493 6494 int __fxstat64(int __ver, int __filedesc, (struct stat64 *__stat_buf)); 6495 6496 Description 6497 6498 __ver must be 3 or the behavior of these functions is undefined. 6499 6500 __filename is as specified by the Large File Summit. 6501 6502 __filedesc is as specified by the Large File Summit. 6503 6504 __stat_buf is as specified by the Large File Summit. 6505 6506 __xstat64(3, __filename, __stat_buf) has the same specification as stat64 6507 (__filename, __stat_buf) as specified by the Large File Summit. 6508 6509 __lxstat64(3, __filename, __stat_buf) has the same specification as lstat64 6510 (__filename, __stat_buf) as specified by the Large File Summit. 6511 6512 __fxstat64(3, __filedesc, __stat_buf) has the same specification as fstat64 6513 (__filedesc, __stat_buf) as specified by the Large File Summit. 6514 6515 __xstat64, __lxstat64, and __fxstat64 are not in the source standard; they are 6516 only in the binary standard. 6517 6518 stat64, lstat64, and fstat64 are not in the binary standard; they are only in 6519 the source standard. 6520 6521 _environ 6522 6523 Name 6524 6525 _environ -- alias for environ - user environment 6526 6527 Synopsis 6528 6529 extern char **_environ; 6530 6531 Description 6532 6533 _environ is an alias for environ - user environment. 6534 6535 _nl_msg_cat_cntr 6536 6537 Name 6538 6539 _nl_msg_cat_cntr -- new catalog load counter 6540 6541 Synopsis 6542 6543 #include 6544 6545 extern int _nl_msg_cat_cntr; 6546 6547 Description 6548 6549 _nl_msg_cat_cntr is incremented each time a new catalong is loaded. It is a 6550 variable defined in loadmsgcat.c and is used by Message catalogs for 6551 internationalization. 6552 6553 _obstack_begin 6554 6555 Name 6556 6557 _obstack_begin -- initialize an obstack for use 6558 6559 Synopsis 6560 6561 #include 6562 6563 extern int _obstack_begin(struct obstack *, int, int, void *(*) (long), void 6564 (*) (void *)); 6565 6566 Description 6567 6568 _obstack_begin initializes an obstack for use. 6569 6570 _obstack_newchunk 6571 6572 Name 6573 6574 _obstack_newchunk -- allocate a new current chunk of memory for the obstack 6575 6576 Synopsis 6577 6578 #include 6579 6580 extern void _obstack_newchunk(struct obstack *, int); 6581 6582 Description 6583 6584 _obstack_newchunk allocates a new current chunk of memory for the obstack. 6585 6586 _sys_errlist 6587 6588 Name 6589 6590 _sys_errlist -- array containing the "C" locale strings used by strerror() 6591 6592 Synopsis 6593 6594 #include 6595 6596 extern const char *const _sys_errlist[]; 6597 6598 Description 6599 6600 _sys_errlist is an array containing the "C" locale strings used by strerror. 6601 This normally should not be used directly. strerror provides all of the needed 6602 functionality. 6603 6604 _sys_siglist 6605 6606 Name 6607 6608 _sys_siglist -- array containing the names of the signal names 6609 6610 Synopsis 6611 6612 #include 6613 6614 extern const char *const _sys_siglist[NSIG]; 6615 6616 Description 6617 6618 _sys_siglist is an array containing the names of the signal names. 6619 6620 _sys_siglist exists only for compatibility; use strsignal instead. (See 6621 string.h). 6622 6623 acct 6624 6625 Name 6626 6627 acct -- switch process accounting on or off 6628 6629 Synopsis 6630 6631 #include 6632 6633 int acct(const char *filename); 6634 6635 Description 6636 6637 When filename is the name of an existing file, acct turns accounting on and 6638 appends a record to filename for each terminating process. When filename is 6639 NULL, acct turns accounting off. 6640 6641 Return Value 6642 6643 On success, 0 is returned. On error, -1 is returned and the global variable 6644 errno is set appropriately. 6645 6646 Errors 6647 6648 ENOSYS 6649 6650 BSD process accounting has not been enabled when the operating system 6651 kernel was compiled. The kernel configuration parameter controlling this 6652 feature is CONFIG_BSD_PROCESS_ACCT. 6653 6654 ENOMEM 6655 6656 Out of memory. 6657 6658 EPERM 6659 6660 The calling process has no permission to enable process accounting. 6661 6662 EACCES 6663 6664 filename is not a regular file. 6665 6666 EIO 6667 6668 Error writing to the filename. 6669 6670 EUSERS 6671 6672 There are no more free file structures or we run out of memory. 6673 6674 adjtime 6675 6676 Name 6677 6678 adjtime -- correct the time to allow synchronization of the system clock 6679 6680 Synopsis 6681 6682 #include 6683 6684 int adjtime((const struct timeval *delta), (struct timeval *olddelta)); 6685 6686 Description 6687 6688 adjtime makes small adjustments to the system time as returned by gettimeofday 6689 (2), advancing or retarding it by the time specified by the timeval delta. If 6690 delta is negative, the clock is slowed down by incrementing it more slowly than 6691 normal until the correction is complete. If delta is positive, a larger 6692 increment than normal is used. The skew used to perform the correction is 6693 generally a fraction of one percent. Thus, the time is always a monotonically 6694 increasing function. A time correction from an earlier call to adjtime may not 6695 be finished when adjtime is called again. If olddelta is non-NULL, the 6696 structure pointed to will contain, upon return, the number of microseconds 6697 still to be corrected from the earlier call. 6698 6699 adjtime may be used by time servers that synchronize the clocks of computers in 6700 a local area network. Such time servers would slow down the clocks of some 6701 machines and speed up the clocks of others to bring them to the average network 6702 time. 6703 6704 The adjtime is restricted to the super-user. 6705 6706 Return Value 6707 6708 On success, 0 is returned. On error, -1 is returned and the global variable 6709 errno is set appropriately. 6710 6711 Errors 6712 6713 EFAULT 6714 6715 An argument points outside the process's allocated address space. 6716 6717 EPERM 6718 6719 The process's effective user ID is not that of the super-user. 6720 6721 adjtimex 6722 6723 Name 6724 6725 adjtimex -- tune kernel clock 6726 6727 Synopsis 6728 6729 #include 6730 6731 int adjtimex((struct timex *buf)); 6732 6733 Description 6734 6735 Linux uses David L. Mills' clock adjustment algorithm (see RFC 1305). adjtimex 6736 reads and optionally sets adjustment parameters for this algorithm. adjtimex 6737 takes a pointer to a timex structure, updates kernel parameters from field 6738 values, and returns the same structure with current kernel values. This 6739 structure is declared as follows: 6740 struct timex { 6741 int modes; /* mode selector */ 6742 long offset; /* time offset (usec) */ 6743 long freq; /* frequency offset (scaled ppm) */ 6744 long maxerror; /* maximum error (usec) */ 6745 long esterror; /* estimated error (usec) */ 6746 int status; /* clock command/status */ 6747 long constant; /* pll time constant */ 6748 long precision; /* clock precision (usec) (read only) */ 6749 long tolerance; /* clock frequency tolerance (ppm) 6750 (read only) */ 6751 struct timeval time; /* current time (read only) */ 6752 long tick; /* usecs between clock ticks */ 6753 }; 6754 6755 modes determines which parameters, if any, to set. modes may contain a 6756 bitwise-or combination of zero or more of the following bits: 6757 #define ADJ_OFFSET 0x0001 /* time offset */ 6758 #define ADJ_FREQUENCY 0x0002 /* frequency offset */ 6759 #define ADJ_MAXERROR 0x0004 /* maximum time error */ 6760 #define ADJ_ESTERROR 0x0008 /* estimated time error */ 6761 #define ADJ_STATUS 0x0010 /* clock status */ 6762 #define ADJ_TIMECONST 0x0020 /* pll time constant */ 6763 #define ADJ_TICK 0x4000 /* tick value */ 6764 #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ 6765 6766 Ordinary users are restricted to a 0 value for modes. Only the superuser may 6767 set any parameters. 6768 6769 Return Value 6770 6771 On success, adjtimex returns the clock state: 6772 #define TIME_OK 0 /* clock synchronized */ 6773 #define TIME_INS 1 /* insert leap second */ 6774 #define TIME_DEL 2 /* delete leap second */ 6775 #define TIME_OOP 3 /* leap second in progress */ 6776 #define TIME_WAIT 4 /* leap second has occurred */ 6777 #define TIME_BAD 5 /* clock not synchronized */ 6778 6779 On error, the global variable errno is set to -1. 6780 6781 Errors 6782 6783 EFAULT 6784 6785 buf does not point to writable memory. 6786 6787 EPERM 6788 6789 buf.mode is non-ZERO and the user is not super-user. 6790 6791 EINVAL 6792 6793 An attempt is made to set buf.offset to a value outside of the range 6794 -131071 to +131071, or to set buf.status to a value other than those listed 6795 above, or to set buf.tick to a value outside of the range 900000/HZ to 6796 1100000/HZ, where HZ is the system timer interrupt frequency. 6797 6798 alphasort 6799 6800 Name 6801 6802 alphasort -- compare two directory entries alphabetically (LSB deprecated) 6803 6804 Synopsis 6805 6806 #include 6807 6808 int alphasort((const struct dirent **a), (const struct dirent **b)); 6809 6810 Description 6811 6812 alphasort is expected to disappear from a future version of the LSB; 6813 applications should provide their own routine to sort filenames. [11] 6814 6815 alphasort can be used as the comparison function for the scandir function to 6816 sort directory entries into alphabetical order. Its parameters are the two 6817 directory entries, a and b, to compare. 6818 6819 Return Value 6820 6821 alphasort returns an integer less than, equal to, or greater than 0, where a is 6822 considered to be less than, equal to, or greater than b, respectively. 6823 6824 Errors 6825 6826 ENOMEM 6827 6828 Insufficient memory to complete the operation. 6829 6830 alphasort64 6831 6832 Name 6833 6834 alphasort64 -- compare two directory entries alphabetically (LSB deprecated) 6835 6836 Synopsis 6837 6838 #include 6839 6840 int alphasort64((const struct dirent64 **a), (const struct dirent64 **b)); 6841 6842 Description 6843 6844 alphasort64 is expected to disappear from a future version of the LSB; 6845 applications should provide their own routine to sort filenames. [12] 6846 6847 alphasort compares two struct dirent64s alphabetically. This function is like 6848 alphasort but it uses the 64-bit dirent structure. 6849 6850 asprintf 6851 6852 Name 6853 6854 asprintf -- write formatted output to a string dynamically allocated with 6855 malloc and store the address of the string 6856 6857 Synopsis 6858 6859 #include 6860 6861 extern int asprintf(char **restrict ptr, const char *restrict format ...); 6862 6863 Description 6864 6865 asprintf has the same behavior as sprintf, but calls malloc to dynamically 6866 allocate space for the output, and then puts the output string in that space. 6867 6868 asprintf stores the address of the string in ptr. 6869 6870 bind_textdomain_codeset 6871 6872 Name 6873 6874 bind_textdomain_codeset -- specify encoding for message retrieval from message 6875 catalog for domain DOMAINNAME 6876 6877 Synopsis 6878 6879 #include 6880 6881 extern char *bind_textdomain_codeset(const char *domainname, const char *codeset); 6882 6883 Description 6884 6885 The bind_textdomain_codeset function can be used to specify the output codeset 6886 for message catalogs for domain domainname. The codeset aregument must be a 6887 valid codeset name which can be used tor the iconv_open() funtion, or a null 6888 pointer. If the codeset argument is the null pointer, then function returns the 6889 currently selected codeset for the domain with the name domainname. It returns 6890 null pointer if no codeset has yet been selected 6891 6892 The bind_textdomain_codeset function can be used several times. If used 6893 multiple times, with the same domainname argument, the later call overrrides 6894 the settings made by the earlier one. 6895 6896 The bind_textdomain_codeset function returns a pointer to a string containing 6897 the name of the selected codeset. The string is allocated internally in the 6898 function and must not be changed by the user. 6899 6900 Parameters 6901 6902 domainname 6903 6904 The domainname argument is applied to the currenlty active LC_MESSAGE 6905 locale. It is equivalent in syntax and meaning to the domainname argument 6906 to textdomain(), except that the selection of the domain is valid only for 6907 the duration of the call. 6908 6909 Return 6910 6911 Returns the currently selected codeset name. It returns null pointer if no 6912 codeset has yet been selected. 6913 6914 Errors 6915 6916 The function is not required to set the external errno variable. 6917 6918 See Also 6919 6920 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 6921 bindtextdomain, bind_textdomain_codeset 6922 6923 bindresvport 6924 6925 Name 6926 6927 bindresvport -- bind socket to privileged IP port 6928 6929 Synopsis 6930 6931 #include 6932 #include 6933 6934 int bindresvport(int sd, struct sockaddr_in *sin); 6935 6936 Description 6937 6938 bindresvport binds a socket to a privileged IP port. This function can be used 6939 only by root. 6940 6941 Return Value 6942 6943 On success, 0 is returned. On error, -1 is returned and the global variable 6944 errno is set appropriately. 6945 6946 Errors 6947 6948 EPFNOSUPPORT 6949 6950 Address of sin did not match address family of sd. 6951 6952 bindtextdomain 6953 6954 Name 6955 6956 bindtextdomain -- specify the locale of a message catalog 6957 6958 Synopsis 6959 6960 #include 6961 6962 extern char *bindtextdomain(const char *domainname, const char *dirname); 6963 6964 Description 6965 6966 bindtextdomain specifies that the domainname message catalog will be found in 6967 the dirname directory hierarchy, rather than in the system locale data base. 6968 6969 bindtextdomain applies domainname to the currently active LC_MESSAGE locale. 6970 This usage is equivalent in syntax and meaning to the textdomain function's 6971 application of domainname, except that the selection of the domain in 6972 bind_textdomain_codeset is valid only for the duration of the call. 6973 6974 dirname can be an absolute or relative pathname. 6975 6976 On success, bindtextdomain returns the directory pathname currently bound to 6977 the domain. On failure, a NULL pointer is returned. 6978 6979 See Also 6980 6981 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 6982 bindtextdomain, bind_textdomain_codeset 6983 6984 cfmakeraw 6985 6986 Name 6987 6988 cfmakeraw -- get and set terminal attributes 6989 6990 Synopsis 6991 6992 #include 6993 6994 int cfmakeraw(struct termios *termios_p); 6995 6996 Description 6997 6998 cfmakeraw sets the terminal attributes as follows: 6999 termios_p->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP 7000 |INLCR|IGNCR|ICRNL|IXON); 7001 7002 termios_p->c_oflag &= ~OPOST; 7003 7004 termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); 7005 7006 termios_p->c_cflag &= ~(CSIZE|PARENB); 7007 7008 termios_p->c_cflag |= CS8; 7009 7010 termios_p points to a termios structure that contains the following members: 7011 tcflag_t c_iflag; /* input modes */ 7012 tcflag_t c_oflag; /* output modes */ 7013 tcflag_t c_cflag; /* control modes */ 7014 tcflag_t c_lflag; /* local modes */ 7015 cc_t c_cc[NCCS]; /* control chars */ 7016 7017 Return Value 7018 7019 On success, 0 is returned. On error, -1 is returned and the global variable 7020 errno is set appropriately. 7021 7022 cfsetspeed 7023 7024 Name 7025 7026 cfsetspeed -- manipulate the termios structure 7027 7028 Synopsis 7029 7030 #include 7031 7032 int cfsetspeed(struct termios *t, speedt speed); 7033 7034 Description 7035 7036 cfsetspeed sets the baud rate values in the termios structure. The effects of 7037 the function on the terminal as described below do not become effective, nor 7038 are all errors detected, until the tcsetattr function is called. Certain values 7039 for baud rates set in termios and passed to tcsetattr have special meanings. 7040 7041 Getting and Setting the Baud Rate 7042 7043 Input and output baud rates are found in the termios structure. The unsigned 7044 integer speed_t is typdef'd in the include file termios.h. The value of the 7045 integer corresponds directly to the baud rate being represented; however, the 7046 following symbolic values are defined. 7047 #define B0 0 7048 #define B50 50 7049 #define B75 75 7050 #define B110 110 7051 #define B134 134 7052 #define B150 150 7053 #define B200 200 7054 #define B300 300 7055 #define B600 600 7056 #define B1200 1200 7057 #define B1800 1800 7058 #define B2400 2400 7059 #define B4800 4800 7060 #define B9600 9600 7061 #define B19200 19200 7062 #define B38400 38400 7063 #ifndef _POSIX_SOURCE 7064 #define EXTA 19200 7065 #define EXTB 38400 7066 #endif /*_POSIX_SOURCE */ 7067 7068 cfsetspeed sets both the input and output baud rates in the termios structure 7069 referenced by t to speed. 7070 7071 Return Value 7072 7073 On success, 0 is returned. On error, -1 is returned and the global variable 7074 errno is set appropriately. 7075 7076 daemon 7077 7078 Name 7079 7080 daemon -- run in the background 7081 7082 Synopsis 7083 7084 #include 7085 7086 int daemon(int nochdir, int noclose); 7087 7088 Description 7089 7090 daemon allows programs to detach from the controlling terminal and run in the 7091 background as system daemons. Unless nochdir is non-ZERO, daemon changes the 7092 current working directory to the root (`/'). Unless noclose is non-zero, daemon 7093 will redirect standard input, standard output and standard error to /dev/null. 7094 7095 Return Value 7096 7097 On error, -1 is returned, and the global variable errno is set to any of the 7098 errors specified for the library functions fork(2) and setsid(2). 7099 7100 dcgettext 7101 7102 Name 7103 7104 dcgettext -- perform lookup in message catalog for the current LC_MESSAGES 7105 locale 7106 7107 Synopsis 7108 7109 #include 7110 #include 7111 7112 extern char *dcgettext(const char *domainname, const char *msgid, int 7113 category); 7114 7115 Description 7116 7117 dcgettext is a domain specified version of gettext. 7118 7119 Parameters 7120 7121 domainname 7122 7123 dcgettext applies domainname to the currently active LC_MESSAGE locale. 7124 This usage is equivalent in syntax and meaning to the textdomain function's 7125 application of domainname, except that the selection of the domain in 7126 dcgettext is valid only for the duration of the call. 7127 7128 msgid 7129 7130 a NULL-terminated string to be matched in the catalogue with respect to a 7131 specific domain and the current locale. 7132 7133 category 7134 7135 category is used for retrieving messages string for other than LC_MESSAGES 7136 category. Available value for category are LC_CTYPE, LC_COLLATE, 7137 LC_MESSAGES, LC_MONETARY,LC_NUMERIC, and LC_TIME. 7138 7139 dcgettext(domainname, msgid, LC_MESSAGES) has the same specification as 7140 dgettext(domainname, msgid). Note that LC_ALL must not be used. 7141 7142 Return Value 7143 7144 On success, the translated NULL-terminated string is returned. On error, msgid 7145 is returned. 7146 7147 Errors 7148 7149 dcgettext will not modify the errno global variable. 7150 7151 See Also 7152 7153 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7154 bindtextdomain, bind_textdomain_codeset 7155 7156 dcngettext 7157 7158 Name 7159 7160 dcngettext -- perform lookup in message catalog for the current LC_MESSAGES 7161 locale 7162 7163 Synopsis 7164 7165 #include 7166 #include 7167 7168 extern char *dcngettext(const char *domainname, const char *msgid1, const char 7169 *msgid2, unsigned long int n, int category); 7170 7171 Description 7172 7173 dcngettext is a plural version of dcgettext. (See dcgettext for more 7174 information.) 7175 7176 Parameters 7177 7178 domainname 7179 7180 dcngettext applies domainname to the currently active LC_MESSAGE locale. 7181 This usage is equivalent in syntax and meaning to the textdomain function's 7182 application of domainname, except that the selection of the domain in 7183 dcngettext is valid only for the duration of the call. 7184 7185 msgid1 7186 7187 a NULL-terminated string to be matched in the catalogue with respect to a 7188 specific domain and the current locale. If the value of n is 1 and no 7189 message catalogs containing a translation for msgid1 are found, msgid1 is 7190 returned. 7191 7192 msgid2 7193 7194 a NULL-terminated string to be returned if the value of n is not 1 and no 7195 message catalogs are found. 7196 7197 n 7198 7199 determines which plural form is returned, in a language and message catalog 7200 dependent way. 7201 7202 category 7203 7204 category is used for retrieving messages string for other than LC_MESSAGES 7205 category. Available value for category are LC_CTYPE, LC_COLLATE, 7206 LC_MESSAGES, LC_MONETARY,LC_NUMERIC, and LC_TIME. 7207 7208 dcngettext(domainname, msgid1, msgid2, n, LC_MESSAGES) has the same 7209 specification as dngettext(domainname, msgid1, msgid2, n). Note that LC_ALL 7210 must not be used. 7211 7212 Return Value 7213 7214 On success of a msgid1 query, the translated NULL-terminated string is 7215 returned. On error, the original msgid1 or msgid2 is returned, according to n. 7216 7217 Errors 7218 7219 dcngettext will not modify the errno global variable. 7220 7221 See Also 7222 7223 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7224 bindtextdomain, bind_textdomain_codeset 7225 7226 dgettext 7227 7228 Name 7229 7230 dgettext -- perform lookup in message catalog for the current LC_MESSAGES 7231 locale 7232 7233 Synopsis 7234 7235 #include 7236 7237 extern char *dgettext(const char *domainname, const char *msgid); 7238 7239 Description 7240 7241 dgettext is a domain specified version of gettext. 7242 7243 Parameters 7244 7245 domainname 7246 7247 dgettext applies domainname to the currently active LC_MESSAGE locale. This 7248 usage is equivalent in syntax and meaning to the textdomain function's 7249 application of domainname, except that the selection of the domain in 7250 dgettext is valid only for the duration of the call. 7251 7252 msgid 7253 7254 a NULL-terminated string to be matched in the catalogue with respect to a 7255 specific domain and the current locale. 7256 7257 Return Value 7258 7259 On success of a msgid query, the translated NULL-terminated string is returned. 7260 On error, the original msgid is returned. The length of the string returned is 7261 undetermined until dgettext is called. 7262 7263 Errors 7264 7265 dgettext will not modify the errno global variable. 7266 7267 See Also 7268 7269 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7270 bindtextdomain, bind_textdomain_codeset 7271 7272 dngettext 7273 7274 Name 7275 7276 dngettext -- perform lookup in message catalog for the current LC_MESSAGES 7277 locale 7278 7279 Synopsis 7280 7281 #include 7282 7283 extern char *dngettext(const char *domainname, const char *msgid1, const char 7284 *msgid2, unsigned long int n); 7285 7286 Description 7287 7288 dngettext is a plural version of dgettext. (See dgettext for more information.) 7289 7290 Parameters 7291 7292 domainname 7293 7294 dngettext applies domainname to the currently active LC_MESSAGE locale. 7295 This usage is equivalent in syntax and meaning to the textdomain function's 7296 application of domainname, except that the selection of the domain in 7297 dngettext is valid only for the duration of the call. 7298 7299 msgid1 7300 7301 a NULL-terminated string to be matched in the catalogue with respect to a 7302 specific domain and the current locale. If the value of n is 1 and no 7303 message catalogs containing a translation for msgid1 are found, msgid1 is 7304 returned. 7305 7306 msgid2 7307 7308 a NULL-terminated string to be returned if the value of n is not 1 and no 7309 message catalogs are found. 7310 7311 n 7312 7313 determines which plural form is returned, in a language and message catalog 7314 dependent way. 7315 7316 Return Value 7317 7318 On success of a msgid1 query, the translated NULL-terminated string is 7319 returned. On error, the original msgid1 or msgid2 is returned, according to n. 7320 7321 Errors 7322 7323 dcngettext will not modify the errno global variable. 7324 7325 See Also 7326 7327 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 7328 bindtextdomain, bind_textdomain_codeset 7329 7330 err 7331 7332 Name 7333 7334 err -- display formatted error messages 7335 7336 Synopsis 7337 7338 #include 7339 7340 void err(int eval, const char *fmt ...); 7341 7342 Description 7343 7344 err displays a formatted error message on the standard error output. The last 7345 component of the program name, a colon character, and a space are output. If 7346 fmt is non-NULL, the formatted error message, a colon character, and a space 7347 are output. The error message string affiliated with the current value of the 7348 global variable errno is output. The output is followed by a newline character. 7349 7350 err does not return, but exits with the value of eval. 7351 7352 error 7353 7354 Name 7355 7356 error -- print error message 7357 7358 Synopsis 7359 7360 void error(int exitstatus, int errnum, const char *format ...); 7361 7362 Description 7363 7364 error prints a message to standard error. 7365 7366 error builds the message from the following elements in their specified order: 7367 7368 1. the program name. If the application has provided a function named 7369 error_print_progname, error calls this to supply the program name; 7370 otherwise, error uses the content of the global variable program_name. 7371 7372 2. the COLON and SPACE characters, then the result of using the printf-style 7373 format and the optional arguments. 7374 7375 3. if errnum is non-ZERO, error adds the COLON and SPACE characters, then the 7376 result of strerror(errnum). 7377 7378 4. a newline. 7379 7380 If exitstatus is non-ZERO, error calls exit(exitstatus). 7381 7382 errx 7383 7384 Name 7385 7386 errx -- format error messages 7387 7388 Synopsis 7389 7390 #include 7391 7392 void errx(int eval, const char *fmt ...); 7393 7394 Description 7395 7396 errx displays a formatted error message on the standard error output. The last 7397 component of the program name, a colon character, and a space are output. If 7398 fmt is non-NULL, the formatted error message, a colon character, and a space 7399 are output. The output is followed by a newline character. 7400 7401 errx does not return, but exits with the value of eval. 7402 7403 fcntl 7404 7405 Name 7406 7407 fcntl -- file control 7408 7409 Description 7410 7411 fcntl is as specified in the Single UNIX Specification, Version 3, but with 7412 differences as listed below. 7413 7414 Implementation may set O_LARGEFILE 7415 7416 According to the Single UNIX Specification, only an application sets fcntl 7417 flags, for example O_LARGEFILE. However, this specification also allows 7418 implementations to set O_LARGEFILE in a case in which the default behavior 7419 matches the O_LARGEFILE behavior. [13] Or in other words, calling fcntl with 7420 the F_GETFL command may return O_LARGEFILE as well as flags explicitly set by 7421 the application. 7422 7423 flock 7424 7425 Name 7426 7427 flock -- apply or remove an advisory lock on an open file 7428 7429 Synopsis 7430 7431 int flock(int fd, int operation); 7432 7433 Description 7434 7435 flock applies or removes an advisory lock on the open file fd. Valid operation 7436 types are: 7437 7438 LOCK_SH 7439 7440 Shared lock. More than one process may hold a shared lock for a given file 7441 at a given time. 7442 7443 LOCK_EX 7444 7445 Exclusive lock. Only one process may hold an exclusive lock for a given 7446 file at a given time. 7447 7448 LOCK_UN 7449 7450 Unlock. 7451 7452 LOCK_NB 7453 7454 Don't block when locking. May be specified (by oring) along with one of the 7455 other operations. 7456 7457 A single file may not simultaneously have both shared and exclusive locks. 7458 7459 Return Value 7460 7461 On success, 0 is returned. On error, -1 is returned and the global variable 7462 errno is set appropriately. 7463 7464 Errors 7465 7466 EWOULDBLOCK 7467 7468 The file is locked and the LOCK_NB flag was selected. 7469 7470 fstatfs 7471 7472 Name 7473 7474 fstatfs -- (deprecated) 7475 7476 Synopsis 7477 7478 #include 7479 7480 int fstatfs(int fd, struct statfs *buf); 7481 7482 Description 7483 7484 fstatfs is expected to disappear from a future version of the LSB; applications 7485 should call the fstatvfs interface. 7486 7487 fstatfs returns information about a mounted file system. fd is the open file 7488 descriptor of any file within the mounted filesystem. buf is a pointer to a 7489 statfs structure defined as follows: 7490 struct statfs { 7491 long f_type; /* type of filesystem (see below) */ 7492 long f_bsize; /* optimal transfer block size */ 7493 long f_blocks; /* total data blocks in file system */ 7494 long f_bfree; /* free blocks in fs */ 7495 long f_bavail; /* free blocks avail to non-superuser */ 7496 long f_files; /* total file nodes in file system */ 7497 long f_ffree; /* free file nodes in fs */ 7498 fsid_t f_fsid; /* file system id */ 7499 long f_namelen; /* maximum length of filenames */ 7500 long f_spare[6]; /* spare for later */ 7501 }; 7502 7503 Fields that are undefined for a particular file system are set to 0. 7504 7505 Return Value 7506 7507 On success, 0 is returned. On error, -1 is returned and the global variable 7508 errno is set appropriately. 7509 7510 Errors 7511 7512 EBADF 7513 7514 fd is not a valid open file descriptor. 7515 7516 EFAULT 7517 7518 buf points to an invalid address. 7519 7520 EIO 7521 7522 An I/O error occurred while reading from or writing to the file system. 7523 7524 ENOSYS 7525 7526 The filesystem fd is open on does not support statfs. 7527 7528 fstatfs64 7529 7530 Name 7531 7532 fstatfs64 -- (deprecated) 7533 7534 Synopsis 7535 7536 #include 7537 #include 7538 7539 int fstatfs64(int fd, struct statfs64 *buf); 7540 7541 Description 7542 7543 fstatfs64 is expected to disappear from a future version of the LSB; 7544 applications should call the fstatvfs64 interface. 7545 7546 fstatfs64 returns information about a mounted file system. fd is the open file 7547 descriptor of any file within the mounted filesystem. 7548 7549 fstatfs64 is the 64-bit version of fstatfs. 7550 7551 Return Value 7552 7553 On success, 0 is returned. On error, -1 is returned and the global variable 7554 errno is set appropriately. 7555 7556 getdomainname 7557 7558 Name 7559 7560 getdomainname -- get NIS domain name. 7561 7562 Synopsis 7563 7564 #include 7565 7566 extern int getdomainname(char *name, size_t namelen); 7567 7568 Description 7569 7570 If NIS is in use, provide the NIS domain name. Note that this is not the same 7571 as the domain name which provides the domain portion of a fully qualified 7572 domain name (for example, in DNS). If NIS is not in use, provide the string " 7573 (none)". 7574 7575 If the string which is provided is strictly less than namelen characters in 7576 length, getdomainname places it in the array pointed to by name followed by a 7577 terminating null character. If not, getdomainname may either truncate it to 7578 namelen characters and place it in name (without a terminating null character), 7579 or may fail with EINVAL. 7580 7581 Return Value 7582 7583 getdomainname returns 0 if successful; -1 if not (in which case errno is set to 7584 indicate the error). 7585 7586 gethostbyname 7587 7588 Name 7589 7590 gethostbyname -- get network host entry 7591 7592 Synopsis 7593 7594 #include 7595 7596 struct hostent *gethostbyname(const char name); 7597 7598 Description 7599 7600 gethostbyname returns a hostent structure for the given host name. Here, name 7601 is either a host name, or an IPv4 address in standard dot notation, or an IPv6 7602 address in colon (and possibly dot) notation. (See RFC 1884 for the description 7603 of IPv6 addresses.) If name is an IPv4 or IPv6 address, no lookup is performed 7604 and gethostbyname simply copies name into the h_name field and its struct 7605 in_addr equivalent into the h_addr_list[0] field of the returned hostent 7606 structure. If name doesn't end in a dot and the environment variable 7607 HOSTALIASES is set, the alias file pointed to by HOSTALIASES will first be 7608 searched for name (see hostname(7) for the file format). The current domain and 7609 its parents are searched unless name ends in a dot. 7610 7611 The domain name queries carried out by gethostbyname use a combination of any 7612 or all of the name server named(8), a broken out line from /etc/hosts, and the 7613 Network Information Service (NIS or YP), depending upon the contents of the 7614 order line in /etc/host.conf. (See resolv+(8)). The default action is to query 7615 named(8), followed by /etc/hosts. 7616 7617 The hostent structure is defined in netdb.h as follows: 7618 struct hostent { 7619 char *h_name; /* official name of host */ 7620 char **h_aliases; /* alias list */ 7621 int h_addrtype; /* host address type */ 7622 int h_length; /* length of address */ 7623 char **h_addr_list; /* list of addresses */ 7624 } 7625 7626 #define h_addr h_addr_list[0] /* for backward compatibility */ 7627 7628 Return Value 7629 7630 gethostbyname returns the hostent structure or a NULL pointer if an error 7631 occurs. On error, the h_errno variable holds an error number. 7632 7633 Errors 7634 7635 ENOMEM 7636 7637 Insufficient memory to complete the operation. 7638 7639 gethostbyname_r 7640 7641 Name 7642 7643 gethostbyname_r -- find network host database entry matching host name 7644 7645 Synopsis 7646 7647 extern int gethostbyname_r(__const char *__restrict __name, (struct hostent 7648 *__restrict __result_buf), char *__restrict __buf, size_t __buflen, (struct 7649 hostent **__restrict __result), int *__restrict __h_errnop); 7650 7651 Description 7652 7653 gethostbyname_r is a reentrant version of gethostbyname that searches the 7654 network host database for a host name match. 7655 7656 getloadavg 7657 7658 Name 7659 7660 getloadavg -- get system load averages 7661 7662 Synopsis 7663 7664 #include 7665 7666 int getloadavg(double loadavg[], int nelem); 7667 7668 Description 7669 7670 getloadavg returns the number of processes in the system run queue averaged 7671 over various periods of time. Up to nelem samples are retrieved and assigned to 7672 successive elements of loadavg[]. The system imposes a maximum of 3 samples, 7673 representing averages over the last 1, 5, and 15 minutes, respectively. 7674 7675 getopt 7676 7677 Name 7678 7679 getopt -- parse command line options 7680 7681 Synopsis 7682 7683 int getopt(int argc, char * const argv[], const char *opstring); 7684 7685 extern char *optarg; 7686 extern int optind, opterr, optopt; 7687 7688 GNU supports the following extensions of getopt: 7689 7690 int getopt_long(int argc, char * const argv[], const char *opstring, (const 7691 struct option *longopts), int *longindex); 7692 7693 int getopt_long_only(int argc, char * const argv[], const char *opstring, 7694 (const struct option *longopts), int *longindex); 7695 7696 Description 7697 7698 getopt parses command line arguments. GNU and POSIX specifications for this 7699 function vary in the following areas. 7700 7701 Option Characteristics 7702 7703 GNU specifies that: 7704 7705 * an element of argv that starts with "-" (and is not exactly "-" or "--") is 7706 an option element. 7707 7708 * characters of an option element, aside from the initial "-", are option 7709 characters. 7710 7711 POSIX specifies that: 7712 7713 * applications using getopt must obey the following syntax guidelines: 7714 7715 + option name is a single alphanumeric character from the portable 7716 character set 7717 7718 + option is preceded by the "-" delimiter character 7719 7720 + options without option-arguments should be accepted when grouped behind 7721 one "-" delimiter 7722 7723 + each option and option-argument is a separate argument 7724 7725 + option-arguments are not optional 7726 7727 + all options should precede operands on the command line 7728 7729 + the argument "--" is accepted as a delimiter indicating the end of 7730 options and the consideration of subsequent arguments, if any, as 7731 operands 7732 7733 * historical implementations of getopt support other characters as options as 7734 an allowed extension, but applications that use extensions are not 7735 maximally portable. 7736 7737 * support for multi-byte option characters is only possible when such 7738 characters can be represented as type int. 7739 7740 * applications that call any utility with a first operand starting with "-" 7741 should usually specify "--" to mark the end of the options. Standard 7742 utilities that do not support this guideline indicate that fact in the 7743 OPTIONS section of the utility description. 7744 7745 Extensions 7746 7747 GNU specifies that: 7748 7749 * if a character is followed by two colons, the option takes an optional arg; 7750 if there is text in the current argv element, it is returned in optarg, 7751 otherwise optarg is set to 0. 7752 7753 * if optstring contains W followed by a ;, then -W foo is treated as the long 7754 option --foo. (Not available with libraries before GNU libc 2.) 7755 7756 * getopt_long works like getopt except that getopt_long also accepts "long 7757 options", or, options that are prefaced with two dashes instead of one. 7758 7759 * long option names may be abbreviated if the abbreviation is unique or an 7760 exact match for some defined option. 7761 7762 * a long option may take a parameter, of the form --arg=param or --arg param. 7763 7764 * getopt_long_only works like getopt_long, except that both "-" and "--" 7765 indicate long option. If an option that starts with "-" (not "--") doesn't 7766 match a long option, but does match a short option, it is parsed instead as 7767 a short option. 7768 7769 POSIX specifies that: 7770 7771 * the -W option is reserved for implementation extensions. 7772 7773 Return Values 7774 7775 GNU specifies the following getopt return values: 7776 7777 * the next option character is returned, if found successfully. 7778 7779 * ":" is returned if a parameter is missing for one of the options. 7780 7781 * "?" is returned if an unknown option character is encountered. 7782 7783 * -1 is returned for the end of the option list. 7784 7785 GNU specifies the following getopt_long and getopt_long_only return values: 7786 7787 * when short option is recognized, the option character is returned. 7788 7789 * when long option is recognized, val is returned if flag is NULL, otherwise, 7790 0 is returned. 7791 7792 * error and -1 returns are the same as for getopt. 7793 7794 * "?" is returned for an ambiguous match or an extraneous parameter. 7795 7796 POSIX specifies the following getopt return values: 7797 7798 * the next option character is returned, if found successfully. 7799 7800 * ":" is returned if a parameter is missing for one of the options and the 7801 first character of opstring is ":". 7802 7803 * "?" is returned if an unknown option character not in optstring is 7804 encountered, or if getopt detects a missing argument and the first 7805 character of optstring is not ":". 7806 7807 * -1 is returned for the end of the option list. 7808 7809 Environmental Variables 7810 7811 GNU specifies that: 7812 7813 * if the variable POSIXLY_CORRECT is set, option processing stops as soon as 7814 a non-option argument is encountered. 7815 7816 * if POSIXLY_CORRECT is set, GNU getopt conforms to POSIX.2. 7817 7818 * the variable _[PID]_GNU_nonoption_argv_flags_ was used by bash 2.0 to 7819 communicate to GNU libc which arguments resulted from wildcard expansion 7820 and so should not be considered as options. This behavior was removed in 7821 bash version 2.01, but the support remains in GNU libc. 7822 7823 Environmental Variables 7824 7825 POSIX.2 Interpretation 150 reports a technical error in the function of getopt. 7826 GNU implements the correct behavior of getopt. 7827 7828 getopt_long 7829 7830 Name 7831 7832 getopt_long -- parse command line options 7833 7834 Synopsis 7835 7836 #define _GNU_SOURCE 7837 #include 7838 7839 int getopt_long(int argc, char * const argv[], const char *opstring, (const 7840 struct option *longopts), int *longindex); 7841 7842 Description 7843 7844 getopt_long works like getopt except that it also accepts long options, started 7845 out by two dashes. Long option names may be abbreviated if the abbreviation is 7846 unique or is an exact match for some defined option. A long option may take a 7847 parameter, of the form --arg=param or --arg param. 7848 7849 longopts is a pointer to the first element of an array of struct option 7850 declared in getopt.h as: 7851 struct option { 7852 const char *name; 7853 int *flag; 7854 int has_arg; 7855 int val; 7856 }; 7857 7858 Return Value 7859 7860 getopt_long returns the option character if the option was found successfully, 7861 or ":" if there was a missing parameter for one of the options, or "?" for an 7862 unknown option character, or -1 for the end of the option list. 7863 7864 getopt_long also returns the option character when a short option is 7865 recognized. For a long option, they return val if flag is NULL, and 0 7866 otherwise. Error and -1 returns are the same as for getopt, plus "?" for an 7867 ambiguous match or an extraneous parameter. 7868 7869 getopt_long_only 7870 7871 Name 7872 7873 getopt_long_only -- parse command line options 7874 7875 Synopsis 7876 7877 #define _GNU_SOURCE 7878 #include 7879 7880 int getopt_long_only(int argc, char * const argv[], const char *opstring, 7881 (const struct option *longopts), int *longindex); 7882 7883 Description 7884 7885 getopt_long_only is like getopt_long, but "-" as well as "--" can indicate a 7886 long option. If an option that starts with "-" (not "--") doesn't match a long 7887 option, but does match a short option, it is parsed as a short option instead. 7888 7889 Return Value 7890 7891 getopt_long_only returns the option character if the option was found 7892 successfully, or ":" if there was a missing parameter for one of the options, 7893 or "?" for an unknown option character, or -1 for the end of the option list. 7894 7895 getopt_long_only also returns the option character when a short option is 7896 recognized. For a long option, they return val if flag is NULL, and 0 7897 otherwise. Error and -1 returns are the same as for getopt, plus "?" for an 7898 ambiguous match or an extraneous parameter. 7899 7900 getpwnam_r 7901 7902 Name 7903 7904 getpwnam_r -- reentrant version of getpwnam 7905 7906 Synopsis 7907 7908 #include 7909 7910 extern int getpwnam_r(const char *name, (struct passwd *resultbuf), char 7911 *buffer, size_t buflen, (struct passwd **result)); 7912 7913 Description 7914 7915 getpwnam_ris a reentrant version of getpwnam. The additional arguments 7916 resultsbuf and buffer are for internal storage, buflen the size of the buffer, 7917 and result is the password structure used to return the requested information. 7918 7919 gets 7920 7921 Name 7922 7923 gets -- get a line of input (deprecated) 7924 7925 Description 7926 7927 gets is expected to disappear from a future version of the LSB; applications 7928 should call the fgets interface. [14] 7929 7930 gets is as specified in the Single UNIX Specification. 7931 7932 getservbyname 7933 7934 Name 7935 7936 getservbyname -- get service entry by name 7937 7938 Synopsis 7939 7940 #include 7941 7942 struct servent *getservbyname(const char *name, const char *proto); 7943 7944 Description 7945 7946 getservbyname returns a servent structure for the line from /etc/services that 7947 matches the service name using protocol proto. 7948 7949 The servent structure is defined in netdb.h as follows: 7950 struct servent { 7951 char *s_name; /* official service name */ 7952 char **s_aliases; /* alias list */ 7953 int s_port; /* port number */ 7954 char *s_proto; /* protocol to use */ 7955 } 7956 7957 Return Value 7958 7959 getservbyname returns the servent structure, or a NULL pointer if an error 7960 occurs or the end of the file is reached. 7961 7962 Files 7963 7964 /etc/services services database file 7965 7966 getservent 7967 7968 Name 7969 7970 getservent -- get service entry 7971 7972 Synopsis 7973 7974 #include 7975 7976 struct servent *getservent(void); 7977 7978 Description 7979 7980 getservent reads the next line from the file /etc/services and returns a 7981 structure servent containing the broken out fields from the line. The /etc/ 7982 services file is opened if necessary. 7983 7984 The servent structure is defined in netdb.h as follows: 7985 struct servent { 7986 char *s_name; /* official service name */ 7987 char **s_aliases; /* alias list */ 7988 int s_port; /* port number */ 7989 char *s_proto; /* protocol to use */ 7990 } 7991 7992 Return Value 7993 7994 getservent returns the servent structure, or a NULL pointer if an error occurs 7995 or the end of the file is reached. 7996 7997 Files 7998 7999 /etc/services services database file 8000 8001 gettext 8002 8003 Name 8004 8005 gettext -- perform lookup in message catalog for the current LC_MESSAGES locale 8006 8007 Synopsis 8008 8009 #include 8010 8011 extern char *gettext(const char *msgid); 8012 8013 Description 8014 8015 gettext attempts to retrieve a target string based on the specified key from 8016 msgid within the context of a specific domain and the current locale. 8017 8018 The LANGUAGE environment variable is examined first to determine the message 8019 catalogs to be used. LANGUAGE is a list of locale names separated by ":" 8020 character. If LANGUAGE is defined, each locale name is tried in the specified 8021 order and if a message catalog containing the requested message is found, the 8022 message is returned. If LANGUAGE is defined but failed to locate a message 8023 catalog, the msgid string is returned. If LANGUAGE is not defined, the LC_ALL, 8024 LC_xxx, and LANG environment variables are examined to locate the message 8025 catalog, following the convention used by the setlocale function. 8026 8027 The pathname used to locate the message catalog is dirname/locale/category/ 8028 domainname.mo, where dirname is the directory specified by the bindtextdomain 8029 function, locale is a locale name determined by the definition of environment 8030 variables, and category is LC_MESSAGES. 8031 8032 If the LC_MESSAGES locale category of the current locale is the standard C 8033 locale or the standard POSIX locale, gettext returns msgid without looking in 8034 any message catalog. 8035 8036 Parameters 8037 8038 msgid 8039 8040 A NULL-terminated string to be matched in the catalogue with respect to a 8041 specific domain and the current locale. 8042 8043 Return Value 8044 8045 If the function query above succeeds with msgid, then a translated 8046 NULL-terminated string is returned. If the search fails, then the original 8047 msgid is returned. The length of the string returned is undetermined until the 8048 function is called. 8049 8050 Errors 8051 8052 gettext does not modify the global variable errno. 8053 8054 See Also 8055 8056 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 8057 bindtextdomain, bind_textdomain_codeset 8058 8059 getutent 8060 8061 Name 8062 8063 getutent -- access utmp file entries 8064 8065 Synopsis 8066 8067 #include 8068 8069 struct utmp *getutent(void); 8070 8071 Description 8072 8073 getutent reads a line from the current file position in the utmp file. It 8074 returns a pointer to a structure containing the fields of the line. 8075 8076 Return Value 8077 8078 getutent returns a pointer to a static struct utmp. 8079 8080 Errors 8081 8082 On error, (struct utmp*)0 is returned. 8083 8084 Files 8085 8086 /var/run/utmp database of currently logged-in users 8087 8088 /var/log/wtmp database of past user logins 8089 8090 getutent_r 8091 8092 Name 8093 8094 getutent_r -- access utmp file entries 8095 8096 Synopsis 8097 8098 extern int getutent_r((struct utmp *__buffer), (struct utmp **__result)); 8099 8100 Description 8101 8102 getutent_r is a reentrant version of the getutent utmp file handler. 8103 8104 glob64 8105 8106 Name 8107 8108 glob64 -- find pathnames matching a pattern (Large File Support) 8109 8110 Synopsis 8111 8112 #include 8113 8114 int glob64(const char *pattern, int flags, int (*errfunc) (const char *, int), 8115 glob64_t *pglob); 8116 8117 Description 8118 8119 glob64 searches for all the pathnames matching pattern according to the rules 8120 used by the shell. (See glob(7).) No tilde expansion or parameter substitution 8121 is done; if you want these, use wordexp(3). 8122 8123 The results of a glob64 call are stored in the structure pointed to by pglob, 8124 which is a glob64_t declared in glob.h and includes the following elements 8125 defined by POSIX.2 (more may be present as an extension): 8126 8127 glob64 is a 64-bit version of glob. 8128 8129 Return Value 8130 8131 On success, 0 is returned. Other possible returns are: 8132 8133 GLOB_NOSPACE 8134 8135 out of memory 8136 8137 GLOB_ABORTED 8138 8139 read error 8140 8141 GLOB_NOMATCH 8142 8143 no match found 8144 8145 globfree64 8146 8147 Name 8148 8149 globfree64 -- free memory from glob64() (Large File Support) 8150 8151 Synopsis 8152 8153 #include 8154 8155 void globfree64(glob64_t *pglob); 8156 8157 Description 8158 8159 globfree64 frees the dynamically allocated storage from an earlier call to 8160 glob64. 8161 8162 globfree64 is a 64-bit version of globfree. 8163 8164 initgroups 8165 8166 Name 8167 8168 initgroups -- initialize the supplementary group access list 8169 8170 Synopsis 8171 8172 #include 8173 #include 8174 8175 int initgroups(const char *user, gid_t group); 8176 8177 Description 8178 8179 initgroups initializes the group access list by reading the group database and 8180 using all groups of which user is a member. The additional group group is also 8181 added to the list. 8182 8183 Return Value 8184 8185 On success, 0 is returned. On error, -1 is returned and the global variable 8186 errno is set appropriately. 8187 8188 Errors 8189 8190 EPERM 8191 8192 The calling process does not have sufficient privileges. 8193 8194 ENOMEM 8195 8196 Insufficient memory to allocate group information structure. 8197 8198 ioctl 8199 8200 Name 8201 8202 ioctl -- control device 8203 8204 Synopsis 8205 8206 #include 8207 8208 int ioctl(int d, int request ...); 8209 8210 Description 8211 8212 ioctl manipulates the underlying device parameters of special files. d must be 8213 an open file descriptor. The type and value of the third parameter is dependent 8214 on the device and request. 8215 8216 An application may not call ioctl except for situations explicitly stated in 8217 this specification. 8218 8219 Return Value 8220 8221 On success, 0 is returned. An ioctl may use the return value as an output 8222 parameter and return a non-negative value on success. On error, -1 is returned 8223 and the global variable errno is set appropriately. 8224 8225 Errors 8226 8227 EBADF 8228 8229 d is not a valid descriptor. 8230 8231 EFAULT 8232 8233 The third parameter references an inaccessible memory area. 8234 8235 ENOTTY 8236 8237 d is not associated with a character special device. 8238 8239 ENOTTY 8240 8241 The specified request does not apply to the kind of object that d 8242 references. 8243 8244 EINVAL 8245 8246 request or the third parameter is not valid. 8247 8248 sockio 8249 8250 Name 8251 8252 sockio -- socket ioctl commands 8253 8254 Synopsis 8255 8256 #include 8257 #include 8258 8259 int ioctl(int sockfd, int request, char *argp); 8260 8261 Description 8262 8263 Socket ioctl commands are a subset of the ioctl calls, which can perform a 8264 variety of functions on sockets. sockfd must contain the value of a file 8265 descriptor that was created with the socket or accept calls. 8266 8267 Socket ioctl commands apply to the underlying network interfaces, and affect 8268 the entire system, not just the file descriptor used to issue the ioctl. 8269 8270 The following ioctls are provided: 8271 8272 SIOCGIFCONF 8273 8274 Gets the interface configuration list for the system. [15] argp is a 8275 pointer to a ifconf structure. Before calling, the caller must allocate the 8276 ifc_ifcu.ifcu_req field to point to an array of ifreq structures, and set 8277 if_len to the size of this allocated array (in bytes). Upon return, if_len 8278 will contain the amount of the array which was actually used (again, in 8279 bytes). If it is the same as the length upon calling, the caller should 8280 assume that the array was too small and try again with a larger array. 8281 8282 On success, SIOCGIFCONF can return any nonnegative value. [16] 8283 8284 SIOCGIFFLAGS 8285 8286 Gets the interface flags for the indicated interface. argp is a pointer to 8287 a ifreq structure. Before calling, the caller should fill in the ifr_name 8288 field with the interface name, and upon return, the ifr_ifru.ifru_flags 8289 field is set with the interface flags. 8290 8291 SIOCGIFADDR 8292 8293 Gets the interface address list for the system. argp is a pointer to a 8294 ifreq structure. Before calling, the caller should fill in the ifr_name 8295 field with the interface name, and upon return, the ifr_ifru.ifru_addr 8296 field is set with the interface address. 8297 8298 SIOCGIFNETMASK 8299 8300 Gets the network mask for the indicated interface. argp is a pointer to a 8301 ifreq structure. Before calling, the caller should fill in the ifr_name 8302 field with the interface name, and upon return, the ifr_ifru.ifru_netmask 8303 field is set with the network mask. 8304 8305 The sockaddr structure is as specified in the Single UNIX Specification. 8306 8307 Return Value 8308 8309 On success, 0 is returned. On error, -1 is returned and the global variable 8310 errno is set appropriately. 8311 8312 Errors 8313 8314 EBADF 8315 8316 sockfd is not a valid descriptor. 8317 8318 EFAULT 8319 8320 argp references an inaccessible memory area. 8321 8322 ENOTTY 8323 8324 sockfd is not associated with a character special device. 8325 8326 ENOTTY 8327 8328 The specified request does not apply to the kind of object that the 8329 descriptor sockfd references. 8330 8331 EINVAL 8332 8333 request and argp are not valid. 8334 8335 iswctype 8336 8337 Name 8338 8339 iswctype -- wide character classification 8340 8341 Synopsis 8342 8343 #include 8344 8345 int iswctype(wint_t wc, wctype_t desc); 8346 8347 Description 8348 8349 iswctype tests wc to determine if it is a wide character whose property is 8350 designated by the character class desc. 8351 8352 desc must be a character property descriptor returned by the wctype function. 8353 8354 Return Value 8355 8356 If wc belongs to the character class desc, a non-ZERO value is returned. 8357 Otherwise, 0 is returned. 8358 8359 Note that if wc is WEOF, 0 is returned. 8360 8361 Notes 8362 8363 The behavior of iswctype depends on the LC_CTYPE category of the current 8364 locale. 8365 8366 kill 8367 8368 Name 8369 8370 kill -- send a signal 8371 8372 Synopsis 8373 8374 int kill(pid_t pid, int sig); 8375 8376 Description 8377 8378 kill is as specified in the Single UNIX Specification, Version 2, but with 8379 differences as listed below. 8380 8381 Process ID -1 doesn't affect calling process 8382 8383 If pid is specified as -1, sig shall not be sent to the calling process. [17] 8384 Other than this, the rules in the Single UNIX Specification, Version 2 apply. 8385 8386 mbsnrtowcs 8387 8388 Name 8389 8390 mbsnrtowcs -- convert a multibyte string to a wide character string 8391 8392 Synopsis 8393 8394 #include 8395 8396 size_t mbsnrtowcs(wchar_t *dest, const char **src, size_t nms, size_t len, 8397 mbstate_t *ps); 8398 8399 Description 8400 8401 mbsnrtowcs is like mbsrtowcs, except that the number of bytes to be converted, 8402 starting at src, is limited to nms. 8403 8404 If dest is not a NULL pointer, mbsnrtowcs converts at most nms bytes from the 8405 multibyte string src to a wide-character string starting at dest. At most, len 8406 wide characters are written to dest. The state ps is updated. 8407 8408 The conversion is effectively performed by repeatedly calling: 8409 8410 mbrtowc(dest, *src, n, ps) 8411 where n is some positive number, as long as this call succeeds, and then 8412 incrementing dest by one and src by the number of bytes consumed. 8413 8414 The conversion can stop for three reasons: 8415 8416 * An invalid multibyte sequence has been encountered. In this case src is 8417 left pointing to the invalid multibyte sequence, (size_t)(-1) is returned, 8418 and errno is set to EILSEQ. 8419 8420 * The nms limit forces a stop, or len non-L'\0' wide characters have been 8421 stored at dest. In this case, src is left pointing to the next multibyte 8422 sequence to be converted, and the number of wide characters written to dest 8423 is returned. 8424 8425 * The multibyte string has been completely converted, including the 8426 terminating '\0' (which has the side effect of bringing back ps to the 8427 initial state). In this case, src is set to NULL, and the number of wide 8428 characters written to dest, excluding the terminating L'\0' character, is 8429 returned. 8430 8431 If dest is NULL, len is ignored, and the conversion proceeds as above, except 8432 that the converted wide characters are not written out to memory, and that no 8433 destination length limit exists. 8434 8435 In both of the above cases, if ps is a NULL pointer, a static anonymous state 8436 only known to mbsnrtowcs is used instead. 8437 8438 The programmer must ensure that there is room for at least len wide characters 8439 at dest. 8440 8441 Return Value 8442 8443 mbsnrtowcs returns the number of wide characters that make up the converted 8444 part of the wide character string, not including the terminating null wide 8445 character. If an invalid multibyte sequence was encountered, (size_t)(-1) is 8446 returned, and the global variable errno is set to EILSEQ. 8447 8448 Notes 8449 8450 The behavior of mbsnrtowcs depends on the LC_CTYPE category of the current 8451 locale. 8452 8453 Passing NULL as ps is not multi-thread safe. 8454 8455 memmem 8456 8457 Name 8458 8459 memmem -- locate a substring 8460 8461 Synopsis 8462 8463 #define _GNU_SOURCE 8464 #include 8465 8466 void *memmem(const void *haystack, size_t haystacklen, const void *needle, 8467 size_t needlelen); 8468 8469 Description 8470 8471 memmem finds the start of the first occurrence of the substring needle of 8472 length needlelen in the memory area haystack of length haystacklen. 8473 8474 Return Value 8475 8476 memmem returns a pointer to the beginning of the substring, or NULL if the 8477 substring is not found. 8478 8479 Notes 8480 8481 memmem was broken in Linux libraries up to and including libc 5.0.9; there the 8482 needle and haystack arguments were interchanged, and a pointer to the end of 8483 the first occurrence of needle was returned. Since libc 5.0.9 is still widely 8484 used, this is a dangerous function to use. 8485 8486 Both old and new libc's have the bug that if needle is empty, haystack-1 is 8487 returned (instead of haystack). And glibc 2.0 makes it worse, returning a 8488 pointer to the last byte of haystack. This is fixed in glibc 2.1. 8489 8490 memrchr 8491 8492 Name 8493 8494 memrchr -- scan memory for a character 8495 8496 Synopsis 8497 8498 #include 8499 8500 void *memrchr(const void *s, int c, size_t n); 8501 8502 Description 8503 8504 memrchr returns a pointer to the last occurrence of c in the first n characters 8505 of the string represented by s. 8506 8507 ngettext 8508 8509 Name 8510 8511 ngettext -- perform lookup in message catalog for the current LC_MESSAGES 8512 locale 8513 8514 Synopsis 8515 8516 #include 8517 8518 extern char *ngettext(const char *msgid1, const char *msgid2, unsigned long int 8519 n); 8520 8521 Description 8522 8523 ngettext is the plural version of gettext, which searches for the message 8524 string using the msgid1 arguments as the key, using the argument n to determine 8525 the plural form. If no message catalogs containing a translation for msgid1 are 8526 found, msgid1 is returned if n == 1, otherwise, msgid2 is returned. (See 8527 gettext for more details.) 8528 8529 Parameters 8530 8531 msgid1 8532 8533 A NULL-terminated string to be matched in the catalogue with respect to a 8534 specific domain and the current locale. If no message catalogs are found, 8535 msgid1 is returned if n == 1. 8536 8537 msgid2 8538 8539 A NULL-terminated string to be returned if no message catalogs are found 8540 and n != 1. 8541 8542 n 8543 8544 Determines in which plural form a message string is returned, in a language 8545 and message catalog dependent way. 8546 8547 Return 8548 8549 If the function query above succeeds with msgid1, then a translated 8550 NULL-terminated string is returned. If the search fails, then the original 8551 msgid1 or msgid2 is returned, according to n. 8552 8553 Errors 8554 8555 ngettext will not modify the errno global variable. 8556 8557 See Also 8558 8559 gettext, dgettext, ngettext, dngettext, dcgettext, dcngettext, textdomain, 8560 bindtextdomain, bind_textdomain_codeset 8561 8562 nice 8563 8564 Name 8565 8566 nice -- set nice value 8567 8568 Description 8569 8570 nice is as specified in the Single UNIX Specification, but with differences as 8571 listed below. 8572 8573 As deprecated behavior, the return value of a successful call to nice may be 0 8574 (rather than the new nice value). A future version of the LSB is expected to 8575 require the new nice value, as specified in the Single UNIX Specification. But 8576 until then, applications need to call the getpriority, rather than rely on the 8577 return value from nice. 8578 8579 obstack_free 8580 8581 Name 8582 8583 obstack_free -- free an object in the obstack 8584 8585 Synopsis 8586 8587 #include 8588 8589 void obstack_free((struct obstack *obstack), void *block); 8590 8591 Description 8592 8593 obstack_free frees an object in the obstack. 8594 8595 opterr 8596 8597 Name 8598 8599 opterr -- external variable used in getopt() 8600 8601 Synopsis 8602 8603 extern int opterr; 8604 8605 Description 8606 8607 opterr is used as a flag to suppress an error message generated by getopt. When 8608 opterr is set to 0, it suppresses the error message generated by getopt when 8609 that function does not recognize an option character. 8610 8611 optind 8612 8613 Name 8614 8615 optind -- external variable used in getopt() 8616 8617 Synopsis 8618 8619 extern int optind; 8620 8621 Description 8622 8623 optind holds the current index of the array argr[], which contains the command 8624 line options being parsed by getopt. 8625 8626 optopt 8627 8628 Name 8629 8630 optopt -- external variable used in getopt() 8631 8632 Synopsis 8633 8634 extern int optopt; 8635 8636 Description 8637 8638 optopt holds the unknown option character when that option character is not 8639 recognized by getopt. 8640 8641 psignal 8642 8643 Name 8644 8645 psignal -- print signal message 8646 8647 Synopsis 8648 8649 #include 8650 8651 void psignal(int sig, const char *s); 8652 8653 extern const char *const sys_siglist[] 8654 8655 Description 8656 8657 psignal displays a message on stderr consisting of the string s, a colon, a 8658 space, and a string describing the signal number sig. If sig is invalid, the 8659 message displayed will indicate an unknown signal. 8660 8661 The array sys_siglist holds the signal description strings indexed by signal 8662 number. 8663 8664 Return Value 8665 8666 psignal returns no value. 8667 8668 random_r 8669 8670 Name 8671 8672 random_r -- generate random number 8673 8674 Synopsis 8675 8676 extern int random_r((struct random_data *__restrict __buf), int32_t *__restrict 8677 __result); 8678 8679 Description 8680 8681 random_r is a reentrant version of random, which generates a pseudorandom 8682 number. 8683 8684 setbuffer 8685 8686 Name 8687 8688 setbuffer -- stream buffering operation 8689 8690 Synopsis 8691 8692 #include 8693 8694 void setbuffer(FILE *stream, char *buf, size_t size); 8695 8696 Description 8697 8698 setbuffer is an alias for the call to setvbuf. It works the same, except that 8699 the size of the buffer in setbuffer is up to the caller, rather than being 8700 determined by the default BUFSIZ. 8701 8702 setdomainname 8703 8704 Name 8705 8706 setdomainname -- set NIS domain name. 8707 8708 Synopsis 8709 8710 #include 8711 8712 extern int setdomainname(char *name, size_t namelen); 8713 8714 Description 8715 8716 If NIS is in use, set the NIS domain name. Note that this is not the same as 8717 the domain name which provides the domain portion of a fully qualified domain 8718 name (for example, in DNS). If NIS is not in use, this function may set the 8719 domain name anyway, or it may fail. 8720 8721 This call shall fail unless the caller has appropriate privileges. 8722 8723 namelen shall be the length of the string pointed to by name. 8724 8725 Return Value 8726 8727 setdomainname returns 0 if successful; -1 if not (in which case errno is set to 8728 indicate the error). 8729 8730 setegid 8731 8732 Name 8733 8734 setegid -- set effective group ID 8735 8736 Description 8737 8738 setegid is as specified in the Single UNIX Specification, Version 3. 8739 8740 setenv 8741 8742 Name 8743 8744 setenv -- change or add an environment variable 8745 8746 Synopsis 8747 8748 #include 8749 8750 int setenv(const char *name, const char *value, int overwrite); 8751 8752 Description 8753 8754 setenv is as specified in the Single UNIX Specification, Version 3. 8755 8756 seteuid 8757 8758 Name 8759 8760 seteuid -- set effective user ID 8761 8762 Description 8763 8764 seteuid is as specified in the Single UNIX Specification, Version 3. 8765 8766 setgroups 8767 8768 Name 8769 8770 setgroups -- set list of supplementary group IDs 8771 8772 Synopsis 8773 8774 #include 8775 8776 int setgroups(size_t size, const gid_t *list); 8777 8778 Description 8779 8780 setgroups sets the supplementary groups for the process. Only the super-user 8781 may use this function. 8782 8783 Return Value 8784 8785 On success, 0 is returned. On error, -1 is returned and the global variable 8786 errno is set appropriately. 8787 8788 Errors 8789 8790 EFAULT 8791 8792 list has an invalid address. 8793 8794 EPERM 8795 8796 The user is not the super-user. 8797 8798 EINVA 8799 8800 size is greater than NGROUPS (32 for Linux 2.0.32). 8801 8802 sethostid 8803 8804 Name 8805 8806 sethostid -- set the unique identifier of the current host 8807 8808 Synopsis 8809 8810 #include 8811 8812 int sethostid(long int hostid); 8813 8814 Description 8815 8816 sethostid sets a unique 32-bit identifier for the current machine. The 32-bit 8817 identifier is intended to be unique among all UNIX systems in existence. This 8818 normally resembles the Internet address for the local machine as returned by 8819 gethostbyname(3), and thus usually never needs to be set. 8820 8821 The sethostid call is restricted to the superuser. 8822 8823 hostid is stored in the file /etc/hostid. 8824 8825 Return Value 8826 8827 gethostid returns the 32-bit identifier for the current host as set by 8828 sethostid(2). 8829 8830 Files 8831 8832 /etc/hostid 8833 8834 sethostname 8835 8836 Name 8837 8838 sethostname -- set host name 8839 8840 Synopsis 8841 8842 #include 8843 8844 int sethostname(const char *name, size_t len); 8845 8846 Description 8847 8848 sethostname changes the host name of the current processor. 8849 8850 Return Value 8851 8852 On success, 0 is returned. On error, -1 is returned and the global variable 8853 errno is set appropriately. 8854 8855 Errors 8856 8857 EINVAL 8858 8859 len is negative or larger than the maximum allowed size. 8860 8861 EPERM 8862 8863 the caller was not the superuser. 8864 8865 EFAULT 8866 8867 name is an invalid address. 8868 8869 Notes 8870 8871 The Single UNIX Specification, Version 2 guarantees that: 8872 8873 8874 Host names are limited to 255 bytes. 8875 8876 setmntent 8877 8878 Name 8879 8880 setmntent -- (deprecated) 8881 8882 Synopsis 8883 8884 #include 8885 #include 8925 8926 void setutent(void); 8927 8928 Description 8929 8930 setutent rewinds the file pointer to the beginning of the utmp file. It is 8931 generally a Good Idea to call it before any of the other functions. 8932 8933 Errors 8934 8935 On error, (struct utmp*)0 will be returned. 8936 8937 Files 8938 8939 /var/run/utmp database of currently logged-in users /var/log/wtmp database of 8940 past user logins 8941 8942 sigandset 8943 8944 Name 8945 8946 sigandset -- build a new signal set by combining the two input sets using 8947 logical AND 8948 8949 Synopsis 8950 8951 #include 8952 8953 extern int sigandset(sigset_t *set, const sigset_t *left, const sigset_t 8954 *right); 8955 8956 Description 8957 8958 sigandset is a signal function that builds a new signal set by combining the 8959 two input sets using logical AND. 8960 8961 sigblock 8962 8963 Name 8964 8965 sigblock -- manipulate the signal mask 8966 8967 Synopsis 8968 8969 #include 8970 8971 int sigblock(int mask); 8972 8973 Description 8974 8975 sigblock is made obsolete by sigprocmask(2). 8976 8977 sigblock adds the signals specified in mask to the set of signals currently 8978 being blocked from delivery. 8979 8980 Notes 8981 8982 Prototype for sigblock is only available if _BSD_SOURCE is defined before the 8983 inclusion of any system. 8984 8985 siggetmask 8986 8987 Name 8988 8989 siggetmask -- manipulate the signal mask 8990 8991 Synopsis 8992 8993 #include 8994 8995 int siggetmask(void); 8996 8997 Description 8998 8999 siggetmask is made obsolete by sigprocmask(2). 9000 9001 siggetmask returns the current set of masked signals. 9002 9003 Notes 9004 9005 Prototype for siggetmask is only available if _BSD_SOURCE is defined before the 9006 inclusion of any system header file. 9007 9008 sigisemptyset 9009 9010 Name 9011 9012 sigisemptyset -- check for empty signal set 9013 9014 Synopsis 9015 9016 #include 9017 9018 extern int sigisemptyset(const sigset_t *set); 9019 9020 Description 9021 9022 sigisemptyset checks for empty signal set. It returns a non-empty value if set 9023 is not empty. 9024 9025 sigorset 9026 9027 Name 9028 9029 sigorset -- build a new signal set by combining the two input sets using 9030 logical OR 9031 9032 Synopsis 9033 9034 #include 9035 9036 extern int sigorset(sigset_t *set, const sigset_t *left, const sigset_t 9037 *right); 9038 9039 Description 9040 9041 sigorset is a signal function that builds a new signal set by combining the two 9042 input sets using logical OR. 9043 9044 sigreturn 9045 9046 Name 9047 9048 sigreturn -- return from signal handler and cleanup stack frame 9049 9050 Synopsis 9051 9052 int sigreturn(unsigned long __unused); 9053 9054 Description 9055 9056 When the Linux kernel creates the stack frame for a signal handler, a call to 9057 sigreturn is inserted into the stack frame so that the the signal handler will 9058 call sigreturn upon return. This inserted call to sigreturn cleans up the stack 9059 so that the process can restart from where it was interrupted by the signal. 9060 9061 Return Value 9062 9063 sigreturn never returns. 9064 9065 Warning 9066 9067 sigreturn is used by the kernel to implement signal handlers. It should never 9068 be called directly. Better yet, the specific use of __unused varies depending 9069 on the architecture. 9070 9071 Files 9072 9073 /usr/src/linux/arch/i386/kernel/signal.c 9074 9075 /usr/src/linux/arch/alpha/kernel/entry.s 9076 9077 statfs 9078 9079 Name 9080 9081 statfs -- (deprecated) 9082 9083 Synopsis 9084 9085 #include 9086 9087 int statfs(const char *path, (struct statfs *buf)); 9088 9089 Description 9090 9091 statfs is expected to disappear from a future version of the LSB; applications 9092 should call the statvfs interface. 9093 9094 statfs returns information about a mounted file system. path is the path name 9095 of any file within the mounted filesystem. 9096 9097 buf is a pointer to a statfs structure defined as follow: 9098 struct statfs { 9099 long f_type; /* type of filesystem (see below) */ 9100 long f_bsize; /* optimal transfer block size */ 9101 long f_blocks; /* total data blocks in file system */ 9102 long f_bfree; /* free blocks in fs */ 9103 long f_bavail; /* free blocks avail to non-superuser */ 9104 long f_files; /* total file nodes in file system */ 9105 long f_ffree; /* free file nodes in fs */ 9106 long f_ffree; /* free file nodes in fs */ 9107 fsid_t f_fsid; /* file system id */ 9108 long f_namelen; /* maximum length of filenames */ 9109 long f_spare[6]; /* spare for later */ 9110 }; 9111 9112 Fields that are undefined for a particular file system are set to 0. 9113 9114 Return Value 9115 9116 On success, 0 is returned. On error, -1 is returned and the global variable 9117 errno is set appropriately. 9118 9119 Errors 9120 9121 ENOTDIR 9122 9123 A component of the path prefix of path is not a directory. 9124 9125 ENAMETOOLONG 9126 9127 path is too long. 9128 9129 ENOENT 9130 9131 The file referred to by path does not exist. 9132 9133 EACCES 9134 9135 Search permission is denied for a component of the path prefix of path. 9136 9137 ELOOP 9138 9139 Too many symbolic links were encountered in translating path. 9140 9141 EFAULT 9142 9143 buf or path points to an invalid address. 9144 9145 EIO 9146 9147 An I/O error occurred while reading from or writing to the file system. 9148 9149 ENOMEM 9150 9151 Insufficient kernel memory was available. 9152 9153 ENOSYS 9154 9155 The filesystem path is on does not support statfs. 9156 9157 statfs64 9158 9159 Name 9160 9161 statfs64 -- (deprecated) 9162 9163 Synopsis 9164 9165 #include 9166 9167 int statfs64(__const char *__file, (struct statfs64 *__buf)); 9168 9169 Description 9170 9171 statfs64 is expected to disappear from a future version of the LSB; 9172 applications should call the statvfs64 interface. 9173 9174 statfs64 returns information about a mounted file system. 9175 9176 statfs64 is the 64-bit version of statfs. 9177 9178 Return Value 9179 9180 On success, 0 is returned. On error, -1 is returned and the global variable 9181 errno is set appropriately. 9182 9183 stime 9184 9185 Name 9186 9187 stime -- set time 9188 9189 Synopsis 9190 9191 #define _SVID_SOURCE /* glibc needs this */ 9192 #include 9193 9194 int stime(time_t *t); 9195 9196 Description 9197 9198 stime sets the system's idea of the time and date. Time, pointed to by t, is 9199 measured in seconds from 00:00:00 GMT January 1, 1970. stime may only be 9200 executed by the super user. 9201 9202 Return Value 9203 9204 On success, 0 is returned. On error, -1 is returned and the global variable 9205 errno is set appropriately. 9206 9207 Errors 9208 9209 EPERM 9210 9211 The caller is not the super-user. 9212 9213 Notes 9214 9215 Under glibc2, time.h only provides a prototype when _SVID_SOURCE is defined. 9216 9217 stpcpy 9218 9219 Name 9220 9221 stpcpy -- copy a string returning a pointer to its end 9222 9223 Synopsis 9224 9225 #include 9226 9227 char *stpcpy(char *dest, const char *src); 9228 9229 Description 9230 9231 stpcpy copies the string pointed to by src (including the terminating \0 9232 character) to the array pointed to by dest. The strings may not overlap, and 9233 the destination string dest must be large enough to receive the copy. 9234 9235 Return Value 9236 9237 stpcpy returns a pointer to the end of the string dest (that is, the address of 9238 the terminating NULL character) rather than the beginning. 9239 9240 Example 9241 9242 This program uses stpcpy to concatenate foo and bar to produce foobar, which it 9243 then prints. 9244 #include 9245 9246 int 9247 main (void) 9248 { 9249 char *to = buffer; 9250 to = stpcpy (to, "foo"); 9251 to = stpcpy (to, "bar"); 9252 printf ("%s\n", buffer); 9253 } 9254 9255 stpncpy 9256 9257 Name 9258 9259 stpncpy -- copy a fixed-size string, returning a pointer to its end 9260 9261 Synopsis 9262 9263 #include 9264 9265 char *stpncpy(char *dest, const char *src, size_t n); 9266 9267 Description 9268 9269 stpncpy copies at most n characters from the string pointed to by src, 9270 including the terminating \0 character, to the array pointed to by dest. 9271 Exactly n characters are written at dest. If the length strlen(src) is smaller 9272 than n, the remaining characters in dest are filled with \0 characters. If the 9273 length strlen(src) is greater than or equal to n, dest will not be \0 9274 terminated. 9275 9276 The strings may not overlap. 9277 9278 The programmer must ensure that there is room for at least n characters at 9279 dest. 9280 9281 Return Value 9282 9283 stpncpy returns a pointer to the terminating NULL in dest, or, if dest is not 9284 NULL-terminated, dest + n. 9285 9286 strcasestr 9287 9288 Name 9289 9290 strcasestr -- locate a substring - ignores the case of both strings 9291 9292 Synopsis 9293 9294 #include 9295 9296 char *strcasestr(const char *haystack, const char *needle); 9297 9298 Description 9299 9300 strcasestr is similar to strstr, but ignores the case of both strings. 9301 9302 strerror_r 9303 9304 Name 9305 9306 strerror_r -- reentrant version of strerror 9307 9308 Synopsis 9309 9310 #include 9311 9312 extern char *strerror_r(int errnum, char *buf, size_t buflen); 9313 9314 Description 9315 9316 strerror_r is a reentrant version of strerror. strerror_r returns a pointer to 9317 an error message corresponding to error number errnum. The returned pointer may 9318 point within the buffer buf (at most buflen bytes). [19] 9319 9320 strfry 9321 9322 Name 9323 9324 strfry -- randomize a string 9325 9326 Synopsis 9327 9328 #include 9329 9330 char *strfry(char *string); 9331 9332 Description 9333 9334 strfry randomizes the contents of string by using rand(3) to randomly swap 9335 characters in the string. The result is an anagram of string. 9336 9337 Return Value 9338 9339 strfry returns a pointer to the randomized string. 9340 9341 strndup 9342 9343 Name 9344 9345 strndup -- return a malloc'd copy of at most the specified number of bytes of a 9346 string 9347 9348 Synopsis 9349 9350 #include 9351 9352 extern char *strndup(const char *string, size_t n); 9353 9354 Description 9355 9356 strndup returns a malloc'd copy of at most n bytes of string. The resultant 9357 string is terminated even if no NULL terminator appears before STRING[N]. 9358 9359 strnlen 9360 9361 Name 9362 9363 strnlen -- determine the length of a fixed-size string 9364 9365 Synopsis 9366 9367 #include 9368 9369 size_t strnlen(const char *s, size_t maxlen); 9370 9371 Description 9372 9373 strnlen returns the number of characters in the string s, not including the 9374 terminating \0 character, but at most maxlen. In doing this, strnlen looks only 9375 at the first maxlen characters at s and never beyond s + maxlen. 9376 9377 Return Value 9378 9379 strnlen returns strlen(s), if that is less than maxlen, or maxlen if there is 9380 no \0 character among the first maxlen characters pointed to by s. 9381 9382 strptime 9383 9384 Name 9385 9386 strptime -- parse a time string 9387 9388 Description 9389 9390 strptime is as specified in the Single UNIX Specification, Version 2 with 9391 differences as listed below. 9392 9393 Number of leading zeroes limited 9394 9395 The Single UNIX Specification, Version 2 specifies fields for which "leading 9396 zeros are permitted but not required"; however, applications must not expect to 9397 be able to supply more leading zeroes for these fields than would be implied by 9398 the range of the field. Implementations may choose to either match an input 9399 with excess leading zeroes, or treat this as a non-matching input. For example, 9400 %j has a range of 001 to 366, so 0, 00, 000, 001, and 045 are acceptable 9401 inputs, but inputs such as 0000, 0366 and the like are not. 9402 9403 Rationale 9404 9405 glibc developers consider it appropriate behavior to forbid excess leading 9406 zeroes. When trying to parse a given input against several format strings, 9407 forbidding excess leading zeroes could be helpful. For example, if one matches 9408 0011-12-26 against %m-%d-%Y and then against %Y-%m-%d, it seems useful for the 9409 first match to fail, as it would be perverse to parse that date as November 12, 9410 year 26. The second pattern parses it as December 26, year 11. 9411 9412 The Single UNIX Specification is not explicit that an unlimited number of 9413 leading zeroes are required, although it may imply this. The LSB explicitly 9414 allows implementations to have either behavior. Future versions of this 9415 standard may require implementations to forbid excess leading zeroes. 9416 9417 strsep 9418 9419 Name 9420 9421 strsep -- extract token from string 9422 9423 Synopsis 9424 9425 #include 9426 9427 char *strsep(char **stringp, const char *delim); 9428 9429 Description 9430 9431 If stringp is NULL, strsep returns NULL and does nothing else. 9432 9433 If stringp is non-NULL, strsep finds the first token in the stringp, where 9434 tokens are delimited by symbols in the string delim. This token is terminated 9435 with a \0 character (by overwriting the delimiter) and stringp is updated to 9436 point past the token. In case no delimiter was found, the token is taken to be 9437 the entire string stringp, and stringp is made NULL. 9438 9439 Return Value 9440 9441 strsep returns a pointer to the token, that is, it returns the original value 9442 of stringp. 9443 9444 Notes 9445 9446 strsep was introduced as a replacement for strtok, since the latter cannot 9447 handle empty fields. However, strtok conforms to ANSI-C and hence is more 9448 portable. 9449 9450 Bugs 9451 9452 strsep suffers from the same problems as strtok. In particular, strsep modifies 9453 the original string. Avoid it. 9454 9455 strsignal 9456 9457 Name 9458 9459 strsignal -- return string describing signal 9460 9461 Synopsis 9462 9463 #define _GNU_SOURCE 9464 #include 9465 9466 char *strsignal(int sig); 9467 9468 extern const char * const sys_siglist[]; 9469 9470 Description 9471 9472 strsignal returns a string describing the signal number sig. The string can 9473 only be used until the next call to strsignal. 9474 9475 The array sys_siglist holds the signal description strings indexed by signal 9476 number. strsignal should be used if possible instead of this array. 9477 9478 Return Value 9479 9480 strsignal returns the appropriate description string, or an unknown signal 9481 message if the signal number is invalid. On some systems (but not on Linux), a 9482 NULL pointer may be returned instead for an invalid signal number. 9483 9484 strtok_r 9485 9486 Name 9487 9488 strtok_r -- extract tokens from strings 9489 9490 Synopsis 9491 9492 #include 9493 9494 char *strtok_r(char *s, const char *delim, char **ptrptr); 9495 9496 Description 9497 9498 strtok_r parses the string s into tokens. [20] The first call to strtok_r 9499 should have s as its first argument. Subsequent calls should have the first 9500 argument set to NULL. Each call returns a pointer to the next token, or NULL 9501 when no more tokens are found. 9502 9503 If a token ends with a delimiter, this delimiting character is overwritten with 9504 a \0 and a pointer to the next character is saved for the next call to 9505 strtok_r. The delimiter string delim may be different for each call. 9506 9507 ptrptr is a user allocated char* pointer. It must be the same while parsing the 9508 same string. 9509 9510 Bugs 9511 9512 Never use this function. Note that: 9513 9514 * It modifies its first argument. 9515 9516 * The identity of the delimiting character is lost. 9517 9518 * It cannot be used on constant strings. 9519 9520 Return Value 9521 9522 strtok_r returns a pointer to the next token, or NULL if there are no more 9523 tokens. 9524 9525 strtoq 9526 9527 Name 9528 9529 strtoq -- convert string value to a long or quad_t integer 9530 9531 Synopsis 9532 9533 #include 9534 #include 9535 #include 9536 9537 quadt strtoq(const char *nptr, char **endptr, int base); 9538 9539 Description 9540 9541 strtoq converts the string nptr to a quadt value. The conversion is done 9542 according to the given base, which must be between 2 and 36 inclusive, or be 9543 the special value 0. 9544 9545 nptr may begin with an arbitrary amount of white space (as determined by 9546 isspace(3)), followed by a single optional + or - sign character. If base is 0 9547 or 16, the string may then include a 0x prefix, and the number will be read in 9548 base 16; otherwise, a 0 base is taken as 10 (decimal), unless the next 9549 character is 0, in which case it is taken as 8 (octal). 9550 9551 The remainder of the string is converted to a long value in the obvious manner, 9552 stopping at the first character which is not a valid digit in the given base. 9553 (In bases above 10, the letter A in either upper or lower case represents 10, B 9554 represents 11, and so forth, with Z representing 35.) 9555 9556 Return Value 9557 9558 strtoq returns the result of the conversion, unless the value would underflow 9559 or overflow. If an underflow occurs, strtoq returns QUAD_MIN. If an overflow 9560 occurs, strtoq returns QUAD_MAX. In both cases, the global variable errno is 9561 set to ERANGE. 9562 9563 Errors 9564 9565 ERANGE 9566 9567 The given string was out of range; the value converted has been clamped. 9568 9569 strtouq 9570 9571 Name 9572 9573 strtouq -- convert a string to an uquad_t 9574 9575 Synopsis 9576 9577 #include 9578 #include 9579 #include 9580 9581 uquadt strtouq(const char *nptr, char **endptr, int base); 9582 9583 Description 9584 9585 strtouq converts the string nptr to a uquadt value. The conversion is done 9586 according to the given base, which must be between 2 and 36 inclusive, or be 9587 the special value 0. 9588 9589 nptr may begin with an arbitrary amount of white space (as determined by 9590 isspace(3)), followed by a single optional + or - sign character. If base is 0 9591 or 16, the string may then include a 0x prefix, and the number will be read in 9592 base 16; otherwise, a 0 base is taken as 10 (decimal), unless the next 9593 character is 0, in which case it is taken as 8 (octal). 9594 9595 The remainder of the string is converted to an unsigned long value in the 9596 obvious manner, stopping at the end of the string or at the first character 9597 that does not produce a valid digit in the given base. (In bases above 10, the 9598 letter A in either upper or lower case represents 10, B represents 11, and so 9599 forth, with Z representing 35.) 9600 9601 Return Value 9602 9603 On success, strtouq returns either the result of the conversion or, if there 9604 was a leading minus sign, the negation of the result of the conversion, unless 9605 the original (non-negated) value would overflow. In the case of an overflow the 9606 function returns UQUAD_MAX and the global variable errno is set to ERANGE. 9607 9608 Errors 9609 9610 ERANGE 9611 9612 The given string was out of range; the value converted has been clamped. 9613 9614 strverscmp 9615 9616 Name 9617 9618 strverscmp -- compare strings holding name and indices/version numbers 9619 9620 Synopsis 9621 9622 #include 9623 9624 extern int strverscmp(const char *s1, const char *s2); 9625 9626 Description 9627 9628 strverscmp compares s1 and s2 as strings holding name and indices/version 9629 numbers. 9630 9631 system 9632 9633 Name 9634 9635 system -- execute a shell command 9636 9637 Synopsis 9638 9639 #include 9640 9641 int system(const char *string); 9642 9643 Description 9644 9645 system executes a command specified in string by calling /bin/sh -c string, and 9646 returns after the command has been completed. During execution of the command, 9647 SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored. 9648 9649 Return Value 9650 9651 The value 127 returned if the execve call for /bin/sh fails, -1 if there was 9652 another error and the return code of the command otherwise. 9653 9654 If the value of string is NULL, system returns a non-ZERO value if the shell is 9655 available, and ZERO if not. 9656 9657 system does not affect the wait status of any other children. 9658 9659 Notes 9660 9661 The fact that system ignores interrupts is often not what a program wants. The 9662 Single UNIX Specification describes some of the consequences; an additional 9663 consequence is that a program calling system from a loop cannot be reliably 9664 interrupted. Many programs will want to use the exec(3) family of functions 9665 instead. 9666 9667 Do not use system from a program with suid or sgid privileges, because strange 9668 values for some environment variables might be used to subvert system 9669 integrity. Use the exec(3) family of functions instead, but not execlp(3) or 9670 execvp(3). system will not, in fact, work properly from programs with suid or 9671 sgid privileges on systems on which /bin/sh is bash version 2, since bash 2 9672 drops privileges on startup. (Debian uses a modified bash which does not do 9673 this when invoked as sh.) 9674 9675 The check for the availability of /bin/sh is not actually performed; it is 9676 always assumed to be available. ISO C specifies the check, but POSIX.2 9677 specifies that the return shall always be non-ZERO, since a system without the 9678 shell is not conforming, and it is this that is implemented. 9679 9680 It is possible for the shell command to return 127, so that code is not a sure 9681 indication that the execve call failed; check the global variable errno to make 9682 sure. 9683 9684 textdomain 9685 9686 Name 9687 9688 textdomain -- set the current default message catalog 9689 9690 Synopsis 9691 9692 #include 9693 9694 extern char *textdomain(const char *domainname); 9695 9696 Description 9697 9698 textdomain sets the current default message catalog to domainname, which 9699 remains valid across subsequent calls to setlocale, and gettext. 9700 9701 Return 9702 9703 On success, textdomain returns the currently selected domain. On error, a NULL 9704 pointer is returned. 9705 9706 If domainname is NULL, textdomain returns the current default. 9707 9708 If domainname is "", reset to the default of "messages". 9709 9710 Errors 9711 9712 ENOMEM 9713 9714 The function may have failed if there was "insufficent memory available." 9715 9716 unlink 9717 9718 Name 9719 9720 unlink -- remove a directory entry 9721 9722 Synopsis 9723 9724 int unlink(const char *path); 9725 9726 Description 9727 9728 unlink is as specified in the Single UNIX Specification, Version 2, but with 9729 differences as listed below. 9730 9731 See also Additional behaviors: unlink/link on directory>. 9732 9733 May return EISDIR on directories 9734 9735 If path specifies a directory, the implementation may return EISDIR instead of 9736 EPERM as specified by Single UNIX Specification, Version 2. [21] 9737 9738 unsetenv 9739 9740 Name 9741 9742 unsetenv -- delete an environment variable 9743 9744 Synopsis 9745 9746 #include 9747 9748 void unsetenv(const char *name); 9749 9750 Description 9751 9752 unsetenv is as specified in the Single UNIX Specification, Version 3. 9753 9754 vasprintf 9755 9756 Name 9757 9758 vasprintf -- write formatted output to a string dynamically allocated with 9759 malloc and store the address of the string 9760 9761 Synopsis 9762 9763 #include 9764 9765 extern int vasprintf(char **restrict ptr, const char *restrict f, G_va_list 9766 arg); 9767 9768 Description 9769 9770 vasprintf writes formatted output to a string dynamically allocated with 9771 malloc, and stores the address of the string in ptr. 9772 9773 vdprintf 9774 9775 Name 9776 9777 vdprintf -- write formatted output to a file descriptor 9778 9779 Synopsis 9780 9781 #include 9782 9783 extern int vdprintf(int fd, const char *restrict fmt, G_va_list arg); 9784 9785 Description 9786 9787 vdprintf writes formatted output to a file descriptor. 9788 9789 verrx 9790 9791 Name 9792 9793 verrx -- display formatted error messages 9794 9795 Synopsis 9796 9797 #include 9798 9799 void verrx(int eval, const char *fmt, valist args); 9800 9801 Description 9802 9803 verrx displays a formatted error message on the standard error output. The last 9804 component of the program name, a COLON character, and a SPACE are output. If 9805 fmt is not NULL, the formatted error message, a COLON, and a SPACE are output. 9806 The output is followed by a newline character. 9807 9808 verrx does not return, but exits with the value of eval. 9809 9810 vsyslog 9811 9812 Name 9813 9814 vsyslog -- log to system log 9815 9816 Synopsis 9817 9818 void vsyslog(int priority, char *message, va_list arglist); 9819 9820 Description 9821 9822 vsyslog is identical to syslog as specified in the Single UNIX Specification, 9823 except that arglist (as defined by stdarg.h) replaces the variable number of 9824 arguments. 9825 9826 The caller is responsible for running va_end after calling vsyslog. 9827 9828 wait3 9829 9830 Name 9831 9832 wait3 -- wait for child process 9833 9834 Description 9835 9836 wait3 is as specified in the Single UNIX Specification, Version 2, but with 9837 differences as listed below. 9838 9839 Notes 9840 9841 Implementations need not support the functionality of WCONTINUED or 9842 WIFCONTINUED. 9843 9844 wait4 9845 9846 Name 9847 9848 wait4 -- wait for process termination, BSD style 9849 9850 Synopsis 9851 9852 #include 9853 #include 9854 #include 9855 9856 pid_t wait4(pid_t pid, int *status, int options, (struct rusage *rusage)); 9857 9858 Description 9859 9860 wait4 suspends execution of the current process until a child (as specified by 9861 pid) has exited, or until a signal is delivered whose action is to terminate 9862 the current process or to call a signal handling function. If a child (as 9863 requested by pid) has already exited by the time of the call (a so-called 9864 "zombie" process), the function returns immediately. Any system resources used 9865 by the child are freed. 9866 9867 The value of pid can be one of: 9868 9869 < -1 9870 9871 wait for any child process whose process group ID is equal to the absolute 9872 value of pid. 9873 9874 -1 9875 9876 wait for any child process; this is equivalent to calling wait3. 9877 9878 0 9879 9880 wait for any child process whose process group ID is equal to that of the 9881 calling process. 9882 9883 > 0 9884 9885 wait for the child whose process ID is equal to the value of pid. 9886 9887 The value of options is a bitwise OR of zero or more of the following 9888 constants: 9889 9890 WNOHANG 9891 9892 return immediately if no child is there to be waited for. 9893 9894 WUNTRACED 9895 9896 return for children that are stopped, and whose status has not been 9897 reported. 9898 9899 If status is not NULL, wait4 stores status information in the location status. 9900 This status can be evaluated with the following macros: [22] 9901 9902 WIFEXITED(status) 9903 9904 is non-ZERO if the child exited normally. 9905 9906 WEXITSTATUS(status) 9907 9908 evaluates to the least significant eight bits of the return code of the 9909 child that terminated, which may have been set as the argument to a call to 9910 exit or as the argument for a return statement in the main program. This 9911 macro can only be evaluated if WIFEXITED returned non-ZERO. 9912 9913 WIFSIGNALED(status) 9914 9915 returns true if the child process exited because of a signal that was not 9916 caught. 9917 9918 WTERMSIG(status) 9919 9920 returns the number of the signal that caused the child process to 9921 terminate. This macro can only be evaluated if WIFSIGNALED returned 9922 non-ZERO. 9923 9924 WIFSTOPPED(status) 9925 9926 returns true if the child process that caused the return is currently 9927 stopped; this is only possible if the call was done using WUNTRACED. 9928 9929 WSTOPSIG(status) 9930 9931 returns the number of the signal that caused the child to stop. This macro 9932 can only be evaluated if WIFSTOPPED returned non-ZERO. 9933 9934 If rusage is not NULL, the struct rusage (as defined in sys/resource.h) that it 9935 points to will be filled with accounting information. (See getrusage(2) for 9936 details. 9937 9938 Return Value 9939 9940 On success, the process ID of the child that exited is returned. On error, -1 9941 is returned (in particular, when no unwaited-for child processes of the 9942 specified kind exist), or 0 if WNOHANG was used and no child was available yet. 9943 In the latter two cases, the global variable errno is set appropriately. 9944 9945 Errors 9946 9947 ECHILD 9948 9949 No unwaited-for child process as specified does exist. 9950 9951 ERESTARTSYS 9952 9953 A WNOHANG was not set and an unblocked signal or a SIGCHILD was caught. 9954 This error is returned by the system call. The library interface is not 9955 allowed to return ERESTARTSYS, but will return EINTR. 9956 9957 waitid 9958 9959 Name 9960 9961 waitid -- (deprecated) 9962 9963 Description 9964 9965 waitid is expected to disappear from a future version of the LSB; applications 9966 should call the waitpid interface. 9967 9968 waitid is as specified in the Single UNIX Specification, Version 2. 9969 9970 waitpid 9971 9972 Name 9973 9974 waitpid -- wait for child process 9975 9976 Description 9977 9978 waitpid is as specified in the Single UNIX Specification, but with differences 9979 as listed below. 9980 9981 Need not support WCONTINUED 9982 9983 Implementations need not support the functionality of WCONTINUED or 9984 WIFCONTINUED. 9985 9986 warn 9987 9988 Name 9989 9990 warn -- formatted error messages 9991 9992 Synopsis 9993 9994 #include 9995 9996 void warn(const char *fmt ...); 9997 9998 Description 9999 10000 warn displays a formatted error message on the standard error output. The last 10001 component of the program name, a COLON character, and a SPACE are output. If 10002 fmt is not NULL, the formatted error message, a COLON, and SPACE are output. 10003 The error message string affiliated with the current value of the global 10004 variable errno is output. The output is followed by a newline character. 10005 10006 warnx 10007 10008 Name 10009 10010 warnx -- formatted error messages 10011 10012 Synopsis 10013 10014 #include 10015 10016 void warnx(const char *fmt ...); 10017 10018 Description 10019 10020 warnx displays a formatted error message on the standard error output. The last 10021 component of the program name, a COLON character, and a SPACE are output. If 10022 fmt is not NULL, the formatted error message, a COLON, and SPACE are output. 10023 The output is followed by a newline character. 10024 10025 wcpcpy 10026 10027 Name 10028 10029 wcpcpy -- copy a wide character string, returning a pointer to its end 10030 10031 Synopsis 10032 10033 #include 10034 10035 wchar_t *wcpcpy(wchar_t *dest, const wchar_t *src); 10036 10037 Description 10038 10039 wcpcpy is the wide-character equivalent of stpcpy. It copies the wide character 10040 string src, including the terminating L'\0' character, to the array dest. 10041 10042 The strings may not overlap. 10043 10044 The programmer must ensure that there is room for at least wcslen(src)+1 wide 10045 characters at dest. 10046 10047 Return Value 10048 10049 wcpcpy returns a pointer to the end of the wide-character string dest, that is, 10050 a pointer to the terminating L'\0' character. 10051 10052 wcpncpy 10053 10054 Name 10055 10056 wcpncpy -- copy a fixed-size string of wide characters, returning a pointer to 10057 its end 10058 10059 Synopsis 10060 10061 #include 10062 10063 wchar_t *wcpncpy(wchar_t *dest, const wchar_t *src, size_t n); 10064 10065 Description 10066 10067 wcpncpy is the wide-character equivalent of stpncpy. It copies at most n wide 10068 characters from the wide-character string src, including the terminating L'\0' 10069 character, to the array dest. Exactly n wide characters are written at dest. If 10070 the length wcslen(src) is smaller than n, the remaining wide characters in the 10071 array dest are filled with L'\0' characters. If the length wcslen(src) is 10072 greater than or equal to n, the string dest will not be L'\0' terminated. 10073 10074 The strings may not overlap. 10075 10076 The programmer must ensure that there is room for at least n wide characters at 10077 dest. 10078 10079 Return Value 10080 10081 wcpncpy returns a pointer to the last wide character written, i.e., dest + n - 10082 1. 10083 10084 wcscasecmp 10085 10086 Name 10087 10088 wcscasecmp -- compare two wide-character strings, ignoring case 10089 10090 Synopsis 10091 10092 #include 10093 10094 int wcscasecmp(const wchar_t *s1, const wchar_t *s2); 10095 10096 Description 10097 10098 wcscasecmp is the wide-character equivalent of strcasecmp. It compares the 10099 wide-character string s1 and the wide-character string s2, ignoring case 10100 differences (towupper, towlower). 10101 10102 Return Value 10103 10104 wcscasecmp returns 0 if the wide-character strings s1 and s2 are equal except 10105 for case distinctions. It returns a positive integer if s1 is greater than s2, 10106 ignoring case. It returns a negative integer if s1 is smaller than s2, ignoring 10107 case. 10108 10109 Notes 10110 10111 The behavior of wcscasecmp depends upon the LC_CTYPE category of the current 10112 locale. 10113 10114 wcsdup 10115 10116 Name 10117 10118 wcsdup -- duplicate a wide-character string 10119 10120 Synopsis 10121 10122 #include 10123 10124 wchar_t *wcsdup(const wchar_t *s); 10125 10126 Description 10127 10128 wcsdup is the wide-character equivalent of strdup. It allocates and returns a 10129 new wide-character string whose initial contents is a duplicate of the 10130 wide-character string s. 10131 10132 Memory for the new wide-character string is obtained with malloc(3), and can be 10133 freed with free(3). 10134 10135 Return Value 10136 10137 wcsdup returns a pointer to the new wide-character string, or NULL if 10138 sufficient memory was not available. 10139 10140 wcsncasecmp 10141 10142 Name 10143 10144 wcsncasecmp -- compare two fixed-size wide-character strings, ignoring case 10145 10146 Synopsis 10147 10148 #include 10149 10150 int wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n); 10151 10152 Description 10153 10154 wcsncasecmp is the wide-character equivalent of strncasecmp. It compares the 10155 wide-character string s1 and the wide-character string s2, but at most n wide 10156 characters from each string, ignoring case differences (towupper, towlower). 10157 10158 Return Value 10159 10160 wcscasecmp returns 0 if the wide-character strings s1 and s2, truncated to at 10161 most length n, are equal except for case distinctions. It returns a positive 10162 integer if truncated s1 is greater than truncated s2, ignoring case. It returns 10163 a negative integer if truncated s1 is smaller than truncated s2, ignoring case. 10164 10165 Notes 10166 10167 The behavior of wcsncasecmp depends upon the LC_CTYPE category of the current 10168 locale. 10169 10170 wcsnlen 10171 10172 Name 10173 10174 wcsnlen -- determine the length of a fixed-size wide-character string 10175 10176 Synopsis 10177 10178 #include 10179 10180 size_t wcsnlen(const wchar_t *s, size_t maxlen); 10181 10182 Description 10183 10184 wcsnlen is the wide-character equivalent of strnlen. It returns the number of 10185 wide-characters in the string s, not including the terminating L'\0' character, 10186 but at most maxlen. In doing this, wcsnlen looks only at the first maxlen 10187 wide-characters at s and never beyond s + maxlen. 10188 10189 Return Value 10190 10191 wcsnlen returns wcslen(s) if that is less than maxlen, or maxlen if there is no 10192 L'\0' character among the first maxlen wide characters pointed to by s. 10193 10194 Notes 10195 10196 The behavior of wcsncasecmp depends on the LC_CTYPE category of the current 10197 locale. 10198 10199 wcsnrtombs 10200 10201 Name 10202 10203 wcsnrtombs -- convert a wide character string to a multi-byte string 10204 10205 Synopsis 10206 10207 #include 10208 10209 size_t wcsnrtombs(char *dest, const wchar_t **src, size_t nwc, size_t len, 10210 mbstate_t *ps); 10211 10212 Description 10213 10214 wcsnrtombs is like wcsrtombs, except that the number of wide characters to be 10215 converted, starting at src, is limited to nwc. 10216 10217 If dest is not a NULL pointer, wcsnrtombs converts at most nwc wide characters 10218 from the wide-character string src to a multibyte string starting at dest. At 10219 most len bytes are written to dest. The state ps is updated. 10220 10221 The conversion is effectively performed by repeatedly calling: 10222 wcrtomb(dest, *src, ps) 10223 as long as this call succeeds, and then incrementing dest by the number of 10224 bytes written and src by 1. 10225 10226 The conversion can stop for three reasons: 10227 10228 * A wide character has been encountered that cannot be represented as a 10229 multibyte sequence (according to the current locale). In this case src is 10230 left pointing to the invalid wide character, (size_t)(-1) is returned, and 10231 errno is set to EILSEQ. 10232 10233 * nws wide characters have been converted without encountering a L'\0', or 10234 the length limit forces a stop. In this case, src is left pointing to the 10235 next wide character to be converted, and the number bytes written to dest 10236 is returned. 10237 10238 * The wide-character string has been completely converted, including the 10239 terminating L'\0' (which has the side effect of bringing back ps to the 10240 initial state). In this case, src is set to NULL, and the number of bytes 10241 written to dest, excluding the terminating '\0' byte, is returned. 10242 10243 If dest is NULL, len is ignored, and the conversion proceeds as above, except 10244 that the converted bytes are not written out to memory, and that no destination 10245 length limit exists. 10246 10247 In both of the above cases, if ps is a NULL pointer, a static anonymous state 10248 only known to wcsnrtombs is used instead. 10249 10250 The programmer must ensure that there is room for at least len bytes at dest. 10251 10252 Return Value 10253 10254 wcsnrtombs returns the number of bytes that make up the converted part of 10255 multibyte sequence, not including the terminating NULL byte. If a wide 10256 character was encountered which could not be converted, (size_t)(-1) is 10257 returned, and the global variable errno set to EILSEQ. 10258 10259 Notes 10260 10261 The behavior of wcsnrtombs depends on the LC_CTYPE category of the current 10262 locale. 10263 10264 Passing NULL as ps is not multi-thread safe. 10265 10266 wcstoq 10267 10268 Name 10269 10270 wcstoq -- convert initial portion of wide string NPTR to long int 10271 representation 10272 10273 Synopsis 10274 10275 #include 10276 10277 extern long long int wcstoq(const wchar_t *restrict nptr, wchar_t **restrict 10278 endptr, int base); 10279 10280 Description 10281 10282 wcstoq converts the initial portion of the wide string nptr to long int 10283 representation. 10284 10285 wcstouq 10286 10287 Name 10288 10289 wcstouq -- convert initial portion of wide string NPTR to unsigned long long 10290 int representation 10291 10292 Synopsis 10293 10294 #include 10295 10296 extern unsigned long long int wcstouq(const wchar_t *restrict nptr, wchar_t 10297 **restrict endptr, int base); 10298 10299 Description 10300 10301 wcstouq converts the initial portion of the wide string nptr to unsigned long 10302 long int representation. 10303 10304 xdr_u_int 10305 10306 Name 10307 10308 xdr_u_int -- library routines for external data representation 10309 10310 Synopsis 10311 10312 int xdr_u_int(XDR * xdrs, unsigned int * up); 10313 10314 Description 10315 10316 xdr_u_int is a filter primitive that translates between C unsigned integers and 10317 their external representations. 10318 10319 Return Value 10320 10321 On success, 1 is returned. On error, 0 is returned. 10322 10323 ------------------------------------------------------------------------------- 10324 10325 Interfaces for libm 10326 10327 Table 13-31. libm Definition 10328 10329 +----------------------+ 10330 |Library:|libm | 10331 |--------+-------------| 10332 |SONAME: |See archLSB. | 10333 +----------------------+ 10334 10335 The behavior of the interfaces in this library is specified by the following 10336 standards. 10337 10338 ISO/IEC 9899: 1999, Programming Languages --C[23] 10339 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 10340 (ISBN: 1-85912-181-0, C606)[24] 10341 10342 ------------------------------------------------------------------------------- 10343 10344 Math 10345 10346 Table 13-32. libm - Math Function Interfaces 10347 10348 +-----------------------------------------------------------------------------+ 10349 |acos[24] |cexp[23] |expf[23] |jnf[23] |remquof[23] | 10350 |-----------+-------------+------------------+---------------+----------------| 10351 |acosf[23] |cexpf[23] |expl[23] |jnl[23] |remquol[23] | 10352 |-----------+-------------+------------------+---------------+----------------| 10353 |acosh[24] |cexpl[23] |expm1[24] |ldexp[24] |rint[24] | 10354 |-----------+-------------+------------------+---------------+----------------| 10355 |acoshf[23] |cimag[23] |fabs[24] |ldexpf[23] |rintf[23] | 10356 |-----------+-------------+------------------+---------------+----------------| 10357 |acoshl[23] |cimagf[23] |fabsf[23] |ldexpl[23] |rintl[23] | 10358 |-----------+-------------+------------------+---------------+----------------| 10359 |acosl[23] |cimagl[23] |fabsl[23] |lgamma[24] |round[23] | 10360 |-----------+-------------+------------------+---------------+----------------| 10361 |asin[24] |clog[23] |fdim[23] |lgamma_r[23] |roundf[23] | 10362 |-----------+-------------+------------------+---------------+----------------| 10363 |asinf[23] |clog10[23] |fdimf[23] |lgammaf[23] |roundl[23] | 10364 |-----------+-------------+------------------+---------------+----------------| 10365 |asinh[24] |clog10f[23] |fdiml[23] |lgammaf_r[23] |scalb[24] | 10366 |-----------+-------------+------------------+---------------+----------------| 10367 |asinhf[23] |clog10l[23] |feclearexcept[23] |lgammal[23] |scalbf[23] | 10368 |-----------+-------------+------------------+---------------+----------------| 10369 |asinhl[23] |clogf[23] |fegetenv[23] |lgammal_r[23] |scalbl[23] | 10370 |-----------+-------------+------------------+---------------+----------------| 10371 |asinl[23] |clogl[23] |fegetexceptflag |llrint[23] |scalbln[23] | 10372 | | |[23] | | | 10373 |-----------+-------------+------------------+---------------+----------------| 10374 |atan[24] |conj[23] |fegetround[23] |llrintf[23] |scalblnf[23] | 10375 |-----------+-------------+------------------+---------------+----------------| 10376 |atan2[24] |conjf[23] |feholdexcept[23] |llrintl[23] |scalblnl[23] | 10377 |-----------+-------------+------------------+---------------+----------------| 10378 |atan2f[23] |conjl[23] |feraiseexcept[23] |llround[23] |scalbn[23] | 10379 |-----------+-------------+------------------+---------------+----------------| 10380 |atan2l[23] |copysign[23] |fesetenv[23] |llroundf[23] |scalbnf[23] | 10381 |-----------+-------------+------------------+---------------+----------------| 10382 |atanf[23] |copysignf[23]|fesetexceptflag |llroundl[23] |scalbnl[23] | 10383 | | |[23] | | | 10384 |-----------+-------------+------------------+---------------+----------------| 10385 |atanh[24] |copysignl[23]|fesetround[23] |log[24] |significand[23] | 10386 |-----------+-------------+------------------+---------------+----------------| 10387 |atanhf[23] |cos[24] |fetestexcept[23] |log10[24] |significandf[23]| 10388 |-----------+-------------+------------------+---------------+----------------| 10389 |atanhl[23] |cosf[23] |feupdateenv[23] |log10f[23] |significandl[23]| 10390 |-----------+-------------+------------------+---------------+----------------| 10391 |atanl[23] |cosh[24] |finite[24] |log10l[23] |sin[24] | 10392 |-----------+-------------+------------------+---------------+----------------| 10393 |cabs[24] |coshf[23] |finitef[23] |log1p[24] |sincos[23] | 10394 |-----------+-------------+------------------+---------------+----------------| 10395 |cabsf[23] |coshl[23] |finitel[23] |logb[24] |sincosf[23] | 10396 |-----------+-------------+------------------+---------------+----------------| 10397 |cabsl[23] |cosl[23] |floor[24] |logf[23] |sincosl[23] | 10398 |-----------+-------------+------------------+---------------+----------------| 10399 |cacos[23] |cpow[23] |floorf[23] |logl[23] |sinf[23] | 10400 |-----------+-------------+------------------+---------------+----------------| 10401 |cacosf[23] |cpowf[23] |floorl[23] |lrint[23] |sinh[24] | 10402 |-----------+-------------+------------------+---------------+----------------| 10403 |cacosh[23] |cpowl[23] |fma[23] |lrintf[23] |sinhf[23] | 10404 |-----------+-------------+------------------+---------------+----------------| 10405 |cacoshf[23]|cproj[23] |fmaf[23] |lrintl[23] |sinhl[23] | 10406 |-----------+-------------+------------------+---------------+----------------| 10407 |cacoshl[23]|cprojf[23] |fmal[23] |lround[23] |sinl[23] | 10408 |-----------+-------------+------------------+---------------+----------------| 10409 |cacosl[23] |cprojl[23] |fmax[23] |lroundf[23] |sqrt[24] | 10410 |-----------+-------------+------------------+---------------+----------------| 10411 |carg[23] |creal[23] |fmaxf[23] |lroundl[23] |sqrtf[23] | 10412 |-----------+-------------+------------------+---------------+----------------| 10413 |cargf[23] |crealf[23] |fmaxl[23] |matherr[23] |sqrtl[23] | 10414 |-----------+-------------+------------------+---------------+----------------| 10415 |cargl[23] |creall[23] |fmin[23] |modf[24] |tan[24] | 10416 |-----------+-------------+------------------+---------------+----------------| 10417 |casin[23] |csin[23] |fminf[23] |modff[23] |tanf[23] | 10418 |-----------+-------------+------------------+---------------+----------------| 10419 |casinf[23] |csinf[23] |fminl[23] |modfl[23] |tanh[24] | 10420 |-----------+-------------+------------------+---------------+----------------| 10421 |casinh[23] |csinh[23] |fmod[24] |nan[23] |tanhf[23] | 10422 |-----------+-------------+------------------+---------------+----------------| 10423 |casinhf[23]|csinhf[23] |fmodf[23] |nanf[23] |tanhl[23] | 10424 |-----------+-------------+------------------+---------------+----------------| 10425 |casinhl[23]|csinhl[23] |fmodl[23] |nanl[23] |tanl[23] | 10426 |-----------+-------------+------------------+---------------+----------------| 10427 |casinl[23] |csinl[23] |frexp[24] |nearbyint[23] |tgamma[23] | 10428 |-----------+-------------+------------------+---------------+----------------| 10429 |catan[23] |csqrt[23] |frexpf[23] |nearbyintf[23] |tgammaf[23] | 10430 |-----------+-------------+------------------+---------------+----------------| 10431 |catanf[23] |csqrtf[23] |frexpl[23] |nearbyintl[23] |tgammal[23] | 10432 |-----------+-------------+------------------+---------------+----------------| 10433 |catanh[23] |csqrtl[23] |gamma[24] |nextafter[24] |trunc[23] | 10434 |-----------+-------------+------------------+---------------+----------------| 10435 |catanhf[23]|ctan[23] |gammaf[23] |nextafterf[23] |truncf[23] | 10436 |-----------+-------------+------------------+---------------+----------------| 10437 |catanhl[23]|ctanf[23] |gammal[23] |nextafterl[23] |truncl[23] | 10438 |-----------+-------------+------------------+---------------+----------------| 10439 |catanl[23] |ctanh[23] |hypot[24] |nexttoward[23] |y0[24] | 10440 |-----------+-------------+------------------+---------------+----------------| 10441 |cbrt[24] |ctanhf[23] |hypotf[23] |nexttowardf[23]|y0f[23] | 10442 |-----------+-------------+------------------+---------------+----------------| 10443 |cbrtf[23] |ctanhl[23] |hypotl[23] |nexttowardl[23]|y0l[23] | 10444 |-----------+-------------+------------------+---------------+----------------| 10445 |cbrtl[23] |ctanl[23] |ilogb[24] |pow[23] |y1[24] | 10446 |-----------+-------------+------------------+---------------+----------------| 10447 |ccos[23] |dremf[23] |ilogbf[23] |pow10[23] |y1f[23] | 10448 |-----------+-------------+------------------+---------------+----------------| 10449 |ccosf[23] |dreml[23] |ilogbl[23] |pow10f[23] |y1l[23] | 10450 |-----------+-------------+------------------+---------------+----------------| 10451 |ccosh[23] |erf[24] |j0[24] |pow10l[23] |yn[24] | 10452 |-----------+-------------+------------------+---------------+----------------| 10453 |ccoshf[23] |erfc[24] |j0f[23] |powf[23] |ynf[23] | 10454 |-----------+-------------+------------------+---------------+----------------| 10455 |ccoshl[23] |erfcf[23] |j0l[23] |powl[23] |ynl[23] | 10456 |-----------+-------------+------------------+---------------+----------------| 10457 |ccosl[23] |erfcl[23] |j1[24] |remainder[24] | | 10458 |-----------+-------------+------------------+---------------+----------------| 10459 |ceil[24] |erff[23] |j1f[23] |remainderf[23] | | 10460 |-----------+-------------+------------------+---------------+----------------| 10461 |ceilf[23] |erfl[23] |j1l[23] |remainderl[23] | | 10462 |-----------+-------------+------------------+---------------+----------------| 10463 |ceill[23] |exp[24] |jn[24] |remquo[23] | | 10464 +-----------------------------------------------------------------------------+ 10465 10466 Table 13-33. libm - Math Data Interfaces 10467 10468 +----------------------+ 10469 |signgam[24] | | | | | 10470 +----------------------+ 10471 ------------------------------------------------------------------------------- 10472 10473 Data Definitions for libm 10474 10475 This section contains standard data definitions that describe system data. 10476 These definitions are organized into groups that correspond to system headers. 10477 This convention is used as a convenience for the reader, and does not imply the 10478 existence of these headers, or their content. 10479 10480 ISO C serves as the LSB reference programming language, and data definitions 10481 are specified in ISO C format. The C language is used here as a convenient 10482 notation. Using a C language description of these data objects does not 10483 preclude their use by other programming languages. 10484 10485 ------------------------------------------------------------------------------- 10486 10487 math.h 10488 10489 #define HUGE_VAL 0x7FF00000UL 10490 #define DOMAIN 1 10491 #define SING 2 10492 10493 10494 struct exception 10495 { 10496 int type; 10497 char *name; 10498 double arg1; 10499 double arg2; 10500 double retval; 10501 } 10502 ; 10503 #define M_1_PI 0.31830988618379067154 10504 #define M_LOG10E 0.43429448190325182765 10505 #define M_2_PI 0.63661977236758134308 10506 #define M_LN2 0.69314718055994530942 10507 #define M_SQRT1_2 0.70710678118654752440 10508 #define M_PI_4 0.78539816339744830962 10509 #define M_2_SQRTPI 1.12837916709551257390 10510 #define M_SQRT2 1.41421356237309504880 10511 #define M_LOG2E 1.4426950408889634074 10512 #define M_PI_2 1.57079632679489661923 10513 #define M_LN10 2.30258509299404568402 10514 #define M_E 2.7182818284590452354 10515 #define M_PI 3.14159265358979323846 10516 ------------------------------------------------------------------------------- 10517 10518 Interfaces for libpthread 10519 10520 Table 13-34. libpthread Definition 10521 10522 +-------------------------+ 10523 |Library:|libpthread | 10524 |--------+----------------| 10525 |SONAME: |libpthread.so.0 | 10526 +-------------------------+ 10527 10528 LSB systems support POSIX threads with the following exceptions. This list is 10529 intended to match the behavior of historical Linux implementations. 10530 Applications should be written to deal with either POSIX threads or the thread 10531 behaviors described here. 10532 10533 * POSIX specifies a concept of per-process rather than per-thread signals. 10534 The LSB does not require this behavior; traditional Linux implementations 10535 have had per-thread signals only. A related issue is that applications 10536 cannot rely on getpid() returning the same value in different threads. 10537 10538 * Note: one implication of per-thread signals is that a core dump (for 10539 example) may not stop all threads in a given process. This may be an issue 10540 when designing ways to stop/start applications. 10541 10542 * Applications which create child processes (using fork() and the like) must 10543 then wait for them (using waitpid() family of functions) in the same thread 10544 as they created them. Note that coding applications this way will work both 10545 with full POSIX threads and legacy Linux thread implementations. 10546 10547 * POSIX specifies that changing the user or group id instantly affects the 10548 behavior of all threads. This behavior is not specified; applications must 10549 use their own lock if they need this behavior. Rationale: it seems 10550 unnecessary and it is a performance hit (an SMP kernel must lock the user 10551 id). 10552 10553 * Although this standard doesn't have a way to list processes (/proc or "ps" 10554 command line isn't in, right?), it is our intention to not specify one way 10555 or the other whether multiple threads appear as separate processes or as a 10556 single process. 10557 10558 * Applications cannot rely on resource limits (getrusage and setrusage) being 10559 maintained per-process rather than per-thread. 10560 10561 * Applications must disconnect from the controlling tty before calling 10562 pthread_create. 10563 10564 * times() doesn't account for all threads, just the caller. 10565 10566 * Applications must not call pthread_cancel if they call any system libraries 10567 (most notably X Window System libraries), as system libraries are not 10568 guaranteed to be thread safe. Likewise, for such libraries, only one thread 10569 per process may call them. 10570 10571 * Applications cannot rely on fcntl/lockf locks being visible per-process 10572 rather than per-thread. Likewise for mandatory file locks. 10573 10574 * Threaded applications cannot use SIGUSR1 or SIGUSR2. 10575 10576 The behavior of the interfaces in this library is specified by the following 10577 standards. 10578 10579 Linux Standard Base[25] 10580 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 10581 (ISBN: 1-85912-181-0, C606)[26] 10582 10583 ------------------------------------------------------------------------------- 10584 10585 Posix Threads 10586 10587 Table 13-35. libpthread - Posix Threads Function Interfaces 10588 10589 +----------------------------------------------------------------------------------------------------------------------------------------+ 10590 |pthread_attr_destroy[26] |pthread_attr_setstackaddr|pthread_getspecific[26] |pthread_once[26] |pthread_setcanceltype | 10591 | |[26] | | |[26] | 10592 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10593 |pthread_attr_getdetachstate |pthread_attr_setstacksize|pthread_join[26] |pthread_rwlock_destroy[26] |pthread_setconcurrency| 10594 |[26] |[26] | | |[26] | 10595 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10596 |pthread_attr_getguardsize |pthread_cancel[26] |pthread_key_create[26] |pthread_rwlock_init[26] |pthread_setschedparam | 10597 |[26] | | | |[26] | 10598 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10599 |pthread_attr_getinheritsched|pthread_cond_broadcast |pthread_key_delete[26] |pthread_rwlock_rdlock[26] |pthread_setspecific | 10600 |[26] |[26] | | |[26] | 10601 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10602 |pthread_attr_getschedparam |pthread_cond_destroy[26] |pthread_kill[26] |pthread_rwlock_timedrdlock |pthread_sigmask[26] | 10603 |[26] | | |[26] | | 10604 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10605 |pthread_attr_getschedpolicy |pthread_cond_init[26] |pthread_mutex_destroy[26] |pthread_rwlock_timedwrlock |pthread_testcancel[26]| 10606 |[26] | | |[26] | | 10607 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10608 |pthread_attr_getscope[26] |pthread_cond_signal[26] |pthread_mutex_init[26] |pthread_rwlock_tryrdlock[26] |sem_close[26] | 10609 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10610 |pthread_attr_getstackaddr |pthread_cond_timedwait |pthread_mutex_lock[26] |pthread_rwlock_trywrlock[26] |sem_destroy[26] | 10611 |[26] |[26] | | | | 10612 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10613 |pthread_attr_getstacksize |pthread_cond_wait[26] |pthread_mutex_trylock[26] |pthread_rwlock_unlock[26] |sem_getvalue[26] | 10614 |[26] | | | | | 10615 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10616 |pthread_attr_init[26] |pthread_condattr_destroy |pthread_mutex_unlock[26] |pthread_rwlock_wrlock[26] |sem_init[26] | 10617 | |[26] | | | | 10618 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10619 |pthread_attr_setdetachstate |pthread_condattr_init[26]|pthread_mutexattr_destroy |pthread_rwlockattr_destroy |sem_open[26] | 10620 |[26] | |[26] |[26] | | 10621 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10622 |pthread_attr_setguardsize |pthread_create[26] |pthread_mutexattr_getpshared|pthread_rwlockattr_getpshared|sem_post[26] | 10623 |[26] | |[26] |[26] | | 10624 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10625 |pthread_attr_setinheritsched|pthread_detach[26] |pthread_mutexattr_gettype |pthread_rwlockattr_init[26] |sem_timedwait[25] | 10626 |[26] | |[26] | | | 10627 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10628 |pthread_attr_setschedparam |pthread_equal[26] |pthread_mutexattr_init[26] |pthread_rwlockattr_setpshared|sem_trywait[26] | 10629 |[26] | | |[26] | | 10630 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10631 |pthread_attr_setschedpolicy |pthread_exit[26] |pthread_mutexattr_setpshared|pthread_self[26] |sem_unlink[26] | 10632 |[26] | |[26] | | | 10633 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 10634 |pthread_attr_setscope[26] |pthread_getschedparam[26]|pthread_mutexattr_settype |pthread_setcancelstate[26] |sem_wait[26] | 10635 | | |[26] | | | 10636 +----------------------------------------------------------------------------------------------------------------------------------------+ 10637 ------------------------------------------------------------------------------- 10638 10639 Data Definitions for libpthread 10640 10641 This section contains standard data definitions that describe system data. 10642 These definitions are organized into groups that correspond to system headers. 10643 This convention is used as a convenience for the reader, and does not imply the 10644 existence of these headers, or their content. 10645 10646 ISO C serves as the LSB reference programming language, and data definitions 10647 are specified in ISO C format. The C language is used here as a convenient 10648 notation. Using a C language description of these data objects does not 10649 preclude their use by other programming languages. 10650 10651 ------------------------------------------------------------------------------- 10652 10653 pthread.h 10654 10655 #define PTHREAD_MUTEX_DEFAULT 1 10656 #define PTHREAD_MUTEX_NORMAL 1 10657 #define PTHREAD_MUTEX_TIMED_NP 1 10658 #define PTHREAD_MUTEX_RECURSIVE 2 10659 #define PTHREAD_RWLOCK_DEFAULT_NP 2 10660 #define PTHREAD_MUTEX_ERRORCHECK 3 10661 #define __LOCK_INITIALIZER { 0, 0 } 10662 #define PTHREAD_RWLOCK_INITIALIZER { __LOCK_INITIALIZER, 0, NULL, NULL, NULL,PTHREAD_RWLOCK_DEFAULT_NP, PTHREAD_PROCESS_PRIVATE } 10663 #define PTHREAD_MUTEX_INITIALIZER {0,0,0,PTHREAD_MUTEX_TIMED_NP,__LOCK_INITIALIZER} 10664 #define PTHREAD_COND_INITIALIZER {__LOCK_INITIALIZER,0} 10665 10666 10667 typedef unsigned int pthread_key_t; 10668 typedef int pthread_once_t; 10669 10670 10671 typedef unsigned long pthread_t; 10672 struct _pthread_fastlock 10673 { 10674 long __status; 10675 int __spinlock; 10676 } 10677 ; 10678 10679 10680 typedef struct _pthread_descr_struct *_pthread_descr; 10681 10682 10683 typedef struct 10684 { 10685 int __m_reserved; 10686 int __m_count; 10687 _pthread_descr __m_owner; 10688 int __m_kind; 10689 struct _pthread_fastlock __m_lock; 10690 } 10691 pthread_mutex_t; 10692 typedef struct 10693 { 10694 int __mutexkind; 10695 } 10696 pthread_mutexattr_t; 10697 10698 10699 typedef struct 10700 { 10701 int __detachstate; 10702 int __schedpolicy; 10703 struct sched_param __schedparam; 10704 int __inheritsched; 10705 int __scope; 10706 size_t __guardsize; 10707 int __stackaddr_set; 10708 void *__stackaddr; 10709 unsigned long __stacksize; 10710 } 10711 pthread_attr_t; 10712 10713 10714 typedef struct 10715 { 10716 struct _pthread_fastlock lock; 10717 _pthread_descr wait_chain; 10718 } 10719 pthread_cond_t; 10720 typedef struct 10721 { 10722 int __dummy; 10723 } 10724 pthread_condattr_t; 10725 10726 10727 typedef struct _pthread_rwlock_t 10728 { 10729 struct _pthread_fastlock __rw_lock; 10730 int __rw_readers; 10731 _pthread_descr __rw_writer; 10732 _pthread_descr __rw_read_waiting; 10733 _pthread_descr __rw_write_waiting; 10734 int __rw_kind; 10735 int __rw_pshared; 10736 } 10737 pthread_rwlock_t; 10738 typedef struct 10739 { 10740 int __lockkind; 10741 int __pshared; 10742 } 10743 pthread_rwlockattr_t; 10744 10745 10746 10747 #define PTHREAD_CREATE_JOINABLE 0 10748 #define PTHREAD_INHERIT_SCHED 0 10749 #define PTHREAD_ONCE_INIT 0 10750 #define PTHREAD_PROCESS_PRIVATE 0 10751 #define PTHREAD_SCOPE_SYSTEM 0 10752 #define PTHREAD_CREATE_DETACHED 1 10753 #define PTHREAD_EXPLICIT_SCHED 1 10754 #define PTHREAD_PROCESS_SHARED 1 10755 #define PTHREAD_SCOPE_PROCESS 1 10756 10757 10758 10759 #define PTHREAD_CANCELED ((void*)-1) 10760 #define PTHREAD_CANCEL_DEFERRED 0 10761 #define PTHREAD_CANCEL_ENABLE 0 10762 #define PTHREAD_CANCEL_ASYNCHRONOUS 1 10763 #define PTHREAD_CANCEL_DISABLE 1 10764 ------------------------------------------------------------------------------- 10765 10766 semaphore.h 10767 10768 10769 10770 10771 10772 10773 typedef struct 10774 { 10775 struct _pthread_fastlock __sem_lock; 10776 int __sem_value; 10777 _pthread_descr __sem_waiting; 10778 } 10779 sem_t; 10780 #define SEM_FAILED ((sem_t*)0) 10781 10782 10783 10784 #define SEM_VALUE_MAX ((int)((~0u)>>1)) 10785 ------------------------------------------------------------------------------- 10786 10787 Interfaces Definitions for libpthread 10788 10789 Table of Contents 10790 sem_timedwait -- operation on semaphore 10791 10792 sem_timedwait 10793 10794 Name 10795 10796 sem_timedwait -- operation on semaphore 10797 10798 Synopsis 10799 10800 #include 10801 10802 int sem_timedwait(sem_t *__restrict __sem, (__const struct timespec *__restrict 10803 __abstime)); 10804 10805 Description 10806 10807 sem_timedwait waits for semaphore object SEM being posted. It is a new function 10808 from IEEE Std. 1003.1-200x that is similar to sem_wait but waits only until 10809 ABSTIME. 10810 10811 ------------------------------------------------------------------------------- 10812 10813 Interfaces for libgcc_s 10814 10815 Table 13-36. libgcc_s Definition 10816 10817 +-----------------------+ 10818 |Library:|libgcc_s | 10819 |--------+--------------| 10820 |SONAME: |libgcc_s.so.1 | 10821 +-----------------------+ 10822 10823 The behavior of the interfaces in this library is specified by the following 10824 standards. 10825 10826 Linux Standard Base[27] 10827 10828 ------------------------------------------------------------------------------- 10829 10830 Unwind Library 10831 10832 Table 13-37. libgcc_s - Unwind Library Function Interfaces 10833 10834 +-------------------------------------------------------------------------------------------------------------------+ 10835 |_Unwind_DeleteException|_Unwind_GetDataRelBase|_Unwind_GetLanguageSpecificData|_Unwind_RaiseException|_Unwind_SetIP| 10836 |(GCC_3.0)[27] |(GCC_3.0)[27] |(GCC_3.0)[27] |(GCC_3.0)[27] |(GCC_3.0)[27]| 10837 |-----------------------+----------------------+-------------------------------+----------------------+-------------| 10838 |_Unwind_Find_FDE |_Unwind_GetGR(GCC_3.0)|_Unwind_GetRegionStart(GCC_3.0)|_Unwind_Resume | | 10839 |(GCC_3.0)[27] |[27] |[27] |(GCC_3.0)[27] | | 10840 |-----------------------+----------------------+-------------------------------+----------------------+-------------| 10841 |_Unwind_ForcedUnwind |_Unwind_GetIP(GCC_3.0)|_Unwind_GetTextRelBase(GCC_3.0)|_Unwind_SetGR(GCC_3.0)| | 10842 |(GCC_3.0)[27] |[27] |[27] |[27] | | 10843 +-------------------------------------------------------------------------------------------------------------------+ 10844 ------------------------------------------------------------------------------- 10845 10846 Data Definitions for libgcc_s 10847 10848 This section contains standard data definitions that describe system data. 10849 These definitions are organized into groups that correspond to system headers. 10850 This convention is used as a convenience for the reader, and does not imply the 10851 existence of these headers, or their content. 10852 10853 ISO C serves as the LSB reference programming language, and data definitions 10854 are specified in ISO C format. The C language is used here as a convenient 10855 notation. Using a C language description of these data objects does not 10856 preclude their use by other programming languages. 10857 10858 ------------------------------------------------------------------------------- 10859 10860 unwind.h 10861 10862 10863 10864 struct dwarf_eh_base 10865 { 10866 void *tbase; 10867 void *dbase; 10868 void *func; 10869 } 10870 ; 10871 struct _Unwind_Context; 10872 10873 10874 typedef unsigned int _Unwind_Ptr; 10875 typedef unsigned int _Unwind_Word; 10876 10877 10878 typedef enum 10879 { 10880 _URC_NO_REASON, _URC_FOREIGN_EXCEPTION_CAUGHT = 1, _URC_FATAL_PHASE2_ERROR = 10881 2, _URC_FATAL_PHASE1_ERROR = 3, _URC_NORMAL_STOP = 4, _URC_END_OF_STACK = 10882 5, _URC_HANDLER_FOUND = 6, _URC_INSTALL_CONTEXT = 10883 7, _URC_CONTINUE_UNWIND = 8 10884 } 10885 _Unwind_Reason_Code; 10886 10887 10888 10889 10890 10891 struct _Unwind_Exception 10892 { 10893 _Unwind_Exception_Class; 10894 _Unwind_Exception_Cleanup_Fn; 10895 _Unwind_Word; 10896 _Unwind_Word; 10897 } 10898 ; 10899 #define _UA_SEARCH_PHASE 1 10900 #define _UA_END_OF_STACK 16 10901 #define _UA_CLEANUP_PHASE 2 10902 #define _UA_HANDLER_FRAME 4 10903 #define _UA_FORCE_UNWIND 8 10904 ------------------------------------------------------------------------------- 10905 10906 Interfaces Definitions for libgcc_s 10907 10908 Table of Contents 10909 _Unwind_DeleteException -- private C++ error handling method 10910 _Unwind_Find_FDE -- private C++ error handling method 10911 _Unwind_ForcedUnwind -- private C++ error handling method 10912 _Unwind_GetDataRelBase -- private IA64 C++ error handling method 10913 _Unwind_GetGR -- private C++ error handling method 10914 _Unwind_GetIP -- private C++ error handling method 10915 _Unwind_GetLanguageSpecificData -- private C++ error handling method 10916 _Unwind_GetRegionStart -- private C++ error handling method 10917 _Unwind_GetTextRelBase -- private IA64 C++ error handling method 10918 _Unwind_RaiseException -- private C++ error handling method 10919 _Unwind_Resume -- private C++ error handling method 10920 _Unwind_SetGR -- private C++ error handling method 10921 _Unwind_SetIP -- private C++ error handling method 10922 10923 _Unwind_DeleteException 10924 10925 Name 10926 10927 _Unwind_DeleteException -- private C++ error handling method 10928 10929 Synopsis 10930 10931 void _Unwind_DeleteException((struct _Unwind_Exception *object)); 10932 10933 Description 10934 10935 _Unwind_DeleteException deletes the given exception object. If a given runtime 10936 resumes normal execution after catching a foreign exception, it will not know 10937 how to delete that exception. Such an exception will be deleted by calling 10938 _Unwind_DeleteException. This is a convenience function that calls the function 10939 pointed to by the exception_cleanup field of the exception header. 10940 10941 _Unwind_Find_FDE 10942 10943 Name 10944 10945 _Unwind_Find_FDE -- private C++ error handling method 10946 10947 Synopsis 10948 10949 fde * _Unwind_Find_FDE(void *pc, (struct dwarf_eh_bases *bases)); 10950 10951 Description 10952 10953 _Unwind_Find_FDE looks for the object containing pc, then inserts into bases. 10954 10955 _Unwind_ForcedUnwind 10956 10957 Name 10958 10959 _Unwind_ForcedUnwind -- private C++ error handling method 10960 10961 Synopsis 10962 10963 _Unwind_Reason_Code _Unwind_ForcedUnwind((struct _Unwind_Exception *object), 10964 _Unwind_Stop_Fn stop, void *stop_parameter); 10965 10966 Description 10967 10968 _Unwind_ForcedUnwind raises an exception for forced unwinding, passing along 10969 the given exception object, which should have its exception_class and 10970 exception_cleanup fields set. The exception object has been allocated by the 10971 language-specific runtime, and has a language-specific format, except that it 10972 must contain an _Unwind_Exception struct. 10973 10974 Forced unwinding is a single-phase process. stop and stop_parameter control the 10975 termination of the unwind process instead of the usual personality routine 10976 query. stop is called for each unwind frame, with the parameteres described for 10977 the usual personality routine below, plus an additional stop_parameter. 10978 10979 Return Value 10980 10981 When stop identifies the destination frame, it transfers control to the user 10982 code as appropriate without returning, normally after calling 10983 _Unwind_DeleteException. If not, then it should return an _Unwind_Reason_Code 10984 value. 10985 10986 If stop returns any reason code other than _URC_NO_REASON, then the stack state 10987 is indeterminate from the point of view of the caller of _Unwind_ForcedUnwind. 10988 Rather than attempt to return, therefore, the unwind library should use the 10989 exception_cleanup entry in the exception, and then call abort. 10990 10991 _URC_NO_REASON 10992 10993 This is not the destination from. The unwind runtime will call frame's 10994 personality routine with the _UA_FORCE_UNWIND and _UA_CLEANUP_PHASE flag 10995 set in actions, and then unwind to the next frame and call the stop 10996 function again. 10997 10998 _URC_END_OF_STACK 10999 11000 In order to allow _Unwind_ForcedUnwind to perform special processing when 11001 it reaches the end of the stack, the unwind runtime will call it after the 11002 last frame is rejected, with a NULL stack pointer in the context, and the 11003 stop function must catch this condition. It may return this code if it 11004 cannot handle end-of-stack. 11005 11006 _URC_FATAL_PHASE2_ERROR 11007 11008 The stop function may return this code for other fatal conditions like 11009 stack corruption. 11010 11011 _Unwind_GetDataRelBase 11012 11013 Name 11014 11015 _Unwind_GetDataRelBase -- private IA64 C++ error handling method 11016 11017 Synopsis 11018 11019 _Unwind_Ptr _Unwind_GetDataRelBase((struct _Unwind_Context *context)); 11020 11021 Description 11022 11023 _Unwind_GetDataRelBase returns the global pointer in register one for context. 11024 11025 _Unwind_GetGR 11026 11027 Name 11028 11029 _Unwind_GetGR -- private C++ error handling method 11030 11031 Synopsis 11032 11033 _Unwind_Word _Unwind_GetGR((struct _Unwind_Context *context), int index); 11034 11035 Description 11036 11037 _Unwind_GetGR returns data at index found in context. The register is 11038 identified by its index: 0 to 31 are for the fixed registers, and 32 to 127 are 11039 for the stacked registers. 11040 11041 During the two phases of unwinding, only GR1 has a guaranteed value, which is 11042 the global pointer of the frame referenced by the unwind context. If the 11043 register has its NAT bit set, the behavior is unspecified. 11044 11045 _Unwind_GetIP 11046 11047 Name 11048 11049 _Unwind_GetIP -- private C++ error handling method 11050 11051 Synopsis 11052 11053 _Unwind_Ptr _Unwind_GetIP((struct _Unwind_Context *context)); 11054 11055 Description 11056 11057 _Unwind_GetIP returns the instruction pointer value for the routine identified 11058 by the unwind context. 11059 11060 _Unwind_GetLanguageSpecificData 11061 11062 Name 11063 11064 _Unwind_GetLanguageSpecificData -- private C++ error handling method 11065 11066 Synopsis 11067 11068 _Unwind_Ptr _Unwind_GetLanguageSpecificData((struct _Unwind_Context *context), 11069 uint value); 11070 11071 Description 11072 11073 _Unwind_GetLanguageSpecificData returns the address of the language specific 11074 data area for the current stack frame. 11075 11076 _Unwind_GetRegionStart 11077 11078 Name 11079 11080 _Unwind_GetRegionStart -- private C++ error handling method 11081 11082 Synopsis 11083 11084 _Unwind_Ptr _Unwind_GetRegionStart((struct _Unwind_Context *context)); 11085 11086 Description 11087 11088 _Unwind_GetRegionStart routine returns the address (i.e., 0) of the beginning 11089 of the procedure or code fragment described by the current unwind descriptor 11090 block. 11091 11092 _Unwind_GetTextRelBase 11093 11094 Name 11095 11096 _Unwind_GetTextRelBase -- private IA64 C++ error handling method 11097 11098 Synopsis 11099 11100 _Unwind_Ptr _Unwind_GetTextRelBase((struct _Unwind_Context *context)); 11101 11102 Description 11103 11104 _Unwind_GetTextRelBase calls the abort method, then returns. 11105 11106 _Unwind_RaiseException 11107 11108 Name 11109 11110 _Unwind_RaiseException -- private C++ error handling method 11111 11112 Synopsis 11113 11114 _Unwind_Reason_Code _Unwind_RaiseException((struct _Unwind_Exception *object)); 11115 11116 Description 11117 11118 _Unwind_RaiseException raises an exception, passing along the given exception 11119 object, which should have its exception_class and exception_cleanup fields set. 11120 The exception object has been allocated by the language-specific runtime, and 11121 has a language-specific format, exception that it must contain an 11122 _Unwind_Exception. 11123 11124 Return Value 11125 11126 _Unwind_RaiseException does not return unless an error condition is found. If 11127 an error condition occurs, an _Unwind_Reason_Code is returnd: 11128 11129 _URC_END_OF_STACK 11130 11131 The unwinder encountered the end of the stack during phase one without 11132 finding a handler. The unwind runtime will not have modified the stack. The 11133 C++ runtime will normally call uncaught_exception in this case. 11134 11135 _URC_FATAL_PHASE1_ERROR 11136 11137 The unwinder encountered an unexpected error during phase one, because of 11138 something like stack corruption. The unwind runtime will not have modified 11139 the stack. The C++ runtime will normally call terminate in this case. 11140 11141 _URC_FATAL_PHASE2_ERROR 11142 11143 The unwinder encountered an unexpected error during phase two. This is 11144 usually a throw, which will call terminate. 11145 11146 _Unwind_Resume 11147 11148 Name 11149 11150 _Unwind_Resume -- private C++ error handling method 11151 11152 Synopsis 11153 11154 void _Unwind_Resume((struct _Unwind_Exception *object)); 11155 11156 Description 11157 11158 _Unwind_Resume resumes propagation of an existing exception object. A call to 11159 this routine is inserted as the end of a landing pad that performs cleanup, but 11160 does not resume normal execution. It causes unwinding to proceed further. 11161 11162 _Unwind_SetGR 11163 11164 Name 11165 11166 _Unwind_SetGR -- private C++ error handling method 11167 11168 Synopsis 11169 11170 void _Unwind_SetGR((struct _Unwind_Context *context), int index, uint value); 11171 11172 Description 11173 11174 _Unwind_SetGR sets the value of the register indexed for the routine identified 11175 by the unwind context. 11176 11177 _Unwind_SetIP 11178 11179 Name 11180 11181 _Unwind_SetIP -- private C++ error handling method 11182 11183 Synopsis 11184 11185 void _Unwind_SetIP((struct _Unwind_Context *context), uint value); 11186 11187 Description 11188 11189 _Unwind_SetIP sets the value of the instruction pointer for the routine 11190 identified by the unwind context 11191 11192 ------------------------------------------------------------------------------- 11193 11194 Interfaces for libdl 11195 11196 Table 13-38. libdl Definition 11197 11198 +--------------------+ 11199 |Library:|libdl | 11200 |--------+-----------| 11201 |SONAME: |libdl.so.2 | 11202 +--------------------+ 11203 11204 The behavior of the interfaces in this library is specified by the following 11205 standards. 11206 11207 Linux Standard Base[28] 11208 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 11209 (ISBN: 1-85912-181-0, C606)[29] 11210 11211 ------------------------------------------------------------------------------- 11212 11213 Dynamic Loader 11214 11215 Table 13-39. libdl - Dynamic Loader Function Interfaces 11216 11217 +------------------------------------------------------------------------------+ 11218 |dladdr |dlclose |dlerror |dlopen |dlsym | 11219 |(GLIBC_2.0)[28]|(GLIBC_2.0)[29]|(GLIBC_2.0)[29]|(GLIBC_2.0)[29]|(GLIBC_2.0) | 11220 | | | | |[29] | 11221 +------------------------------------------------------------------------------+ 11222 ------------------------------------------------------------------------------- 11223 11224 Data Definitions for libdl 11225 11226 This section contains standard data definitions that describe system data. 11227 These definitions are organized into groups that correspond to system headers. 11228 This convention is used as a convenience for the reader, and does not imply the 11229 existence of these headers, or their content. 11230 11231 ISO C serves as the LSB reference programming language, and data definitions 11232 are specified in ISO C format. The C language is used here as a convenient 11233 notation. Using a C language description of these data objects does not 11234 preclude their use by other programming languages. 11235 11236 ------------------------------------------------------------------------------- 11237 11238 dlfcn.h 11239 11240 #define RTLD_LOCAL 0 11241 #define RTLD_LAZY 0x00001 11242 #define RTLD_NOW 0x00002 11243 #define RTLD_GLOBAL 0x00100 11244 11245 11246 typedef struct 11247 { 11248 char *dli_fname; 11249 void *dli_fbase; 11250 char *dli_sname; 11251 void *dli_saddr; 11252 } 11253 Dl_info; 11254 ------------------------------------------------------------------------------- 11255 11256 Interfaces Definitions for libdl 11257 11258 Table of Contents 11259 dladdr -- library routine for dynamic linking of object files 11260 11261 dladdr 11262 11263 Name 11264 11265 dladdr -- library routine for dynamic linking of object files 11266 11267 Synopsis 11268 11269 cc ... -ldl ... 11270 11271 #include 11272 11273 typedef struct { 11274 const char *dli_fname; 11275 void *dli_fbase; 11276 const char *dli_sname; 11277 void *dli_saddr; 11278 } Dl_info; 11279 11280 int dladdr(void *address, Dlinfo *dlip); 11281 11282 Description 11283 11284 dladdr implements the System V dynamic linking routines. 11285 11286 Return Value 11287 11288 dladdr is the inverse of dlsym. If address is successfully located inside a 11289 module, dladdr returns a non-ZERO value, otherwise, it returns a 0. On success, 11290 dladdr fills in the fields of dlip as follows: 11291 11292 dli_fname 11293 11294 the pathname of the module 11295 11296 dli_fbase 11297 11298 the base address of the module 11299 11300 dli_sname 11301 11302 the name of the highest addressed symbol whose address precedes the given 11303 address 11304 11305 dli_saddr 11306 11307 the address of that symbol 11308 11309 Shared objects must be linked using the -shared option to the linker ld(1). The 11310 linker flag -rpath may be used to add a directory to the default search path 11311 for shared objects and shared libraries. The linker flag -E or the C compiler 11312 flag -rdynamic should be used to cause the application to export its symbols to 11313 the shared objects. 11314 11315 Environment 11316 11317 LD_LIBRARY_PATH 11318 11319 directory search-path for object files 11320 11321 ------------------------------------------------------------------------------- 11322 11323 Interfaces for libcrypt 11324 11325 Table 13-40. libcrypt Definition 11326 11327 +-----------------------+ 11328 |Library:|libcrypt | 11329 |--------+--------------| 11330 |SONAME: |libcrypt.so.1 | 11331 +-----------------------+ 11332 11333 The behavior of the interfaces in this library is specified by the following 11334 standards. 11335 11336 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 11337 (ISBN: 1-85912-181-0, C606)[30] 11338 11339 ------------------------------------------------------------------------------- 11340 11341 Encryption 11342 11343 Table 13-41. libcrypt - Encryption Function Interfaces 11344 11345 +------------------------------------------------------------------------+ 11346 |crypt(GLIBC_2.0)[30] |encrypt(GLIBC_2.0)[30] |setkey(GLIBC_2.0)[30] | | | 11347 +------------------------------------------------------------------------+ 11348 ------------------------------------------------------------------------------- 11349 11350 Data Definitions for libcrypt 11351 11352 This section contains standard data definitions that describe system data. 11353 These definitions are organized into groups that correspond to system headers. 11354 This convention is used as a convenience for the reader, and does not imply the 11355 existence of these headers, or their content. 11356 11357 ISO C serves as the LSB reference programming language, and data definitions 11358 are specified in ISO C format. The C language is used here as a convenient 11359 notation. Using a C language description of these data objects does not 11360 preclude their use by other programming languages. 11361 11362 ------------------------------------------------------------------------------- 11363 11364 Interfaces for libpam 11365 11366 Table 13-42. libpam Definition 11367 11368 +---------------------+ 11369 |Library:|libpam | 11370 |--------+------------| 11371 |SONAME: |libpam.so.0 | 11372 +---------------------+ 11373 11374 A single service name, other, must always be present. The behavior of this 11375 service shall be determined by the system administrator. Additional service 11376 names may also exist. [31] 11377 11378 The behavior of the interfaces in this library is specified by the following 11379 standards. 11380 11381 Linux Standard Base[32] 11382 11383 ------------------------------------------------------------------------------- 11384 11385 Pluggable Authentication API 11386 11387 Table 13-43. libpam - Pluggable Authentication API Function Interfaces 11388 11389 +-------------------------------------------------------------------------------+ 11390 |pam_acct_mgmt |pam_close_session|pam_get_item[32]|pam_set_item |pam_strerror | 11391 |[32] |[32] | |[32] |[32] | 11392 |----------------+-----------------+----------------+-------------+-------------| 11393 |pam_authenticate|pam_end[32] |pam_getenvlist |pam_setcred | | 11394 |[32] | |[32] |[32] | | 11395 |----------------+-----------------+----------------+-------------+-------------| 11396 |pam_chauthtok |pam_fail_delay |pam_open_session|pam_start[32]| | 11397 |[32] |[32] |[32] | | | 11398 +-------------------------------------------------------------------------------+ 11399 ------------------------------------------------------------------------------- 11400 11401 Data Definitions for libpam 11402 11403 This section contains standard data definitions that describe system data. 11404 These definitions are organized into groups that correspond to system headers. 11405 This convention is used as a convenience for the reader, and does not imply the 11406 existence of these headers, or their content. 11407 11408 ISO C serves as the LSB reference programming language, and data definitions 11409 are specified in ISO C format. The C language is used here as a convenient 11410 notation. Using a C language description of these data objects does not 11411 preclude their use by other programming languages. 11412 11413 ------------------------------------------------------------------------------- 11414 11415 security/pam_appl.h 11416 11417 11418 11419 11420 11421 11422 typedef struct pam_handle pam_handle_t; 11423 struct pam_message 11424 { 11425 int msg_style; 11426 const char *msg; 11427 } 11428 ; 11429 struct pam_response 11430 { 11431 char *resp; 11432 int resp_retcode; 11433 } 11434 ; 11435 11436 11437 struct pam_conv 11438 { 11439 int (*conv) (int num_msg, const struct pam_message * *msg, 11440 struct pam_response * *resp, void *appdata_ptr); 11441 void *appdata_ptr; 11442 } 11443 ; 11444 #define PAM_PROMPT_ECHO_OFF 1 11445 #define PAM_PROMPT_ECHO_ON 2 11446 #define PAM_ERROR_MSG 3 11447 #define PAM_TEXT_INFO 4 11448 11449 11450 11451 #define PAM_SERVICE 1 11452 #define PAM_USER 2 11453 #define PAM_TTY 3 11454 #define PAM_RHOST 4 11455 #define PAM_CONV 5 11456 #define PAM_RUSER 8 11457 #define PAM_USER_PROMPT 9 11458 11459 11460 11461 #define PAM_SUCCESS 0 11462 #define PAM_OPEN_ERR 1 11463 #define PAM_USER_UNKNOWN 10 11464 #define PAM_MAXTRIES 11 11465 #define PAM_NEW_AUTHTOK_REQD 12 11466 #define PAM_ACCT_EXPIRED 13 11467 #define PAM_SESSION_ERR 14 11468 #define PAM_CRED_UNAVAIL 15 11469 #define PAM_CRED_EXPIRED 16 11470 #define PAM_CRED_ERR 17 11471 #define PAM_CONV_ERR 19 11472 #define PAM_SYMBOL_ERR 2 11473 #define PAM_AUTHTOK_ERR 20 11474 #define PAM_AUTHTOK_RECOVER_ERR 21 11475 #define PAM_AUTHTOK_LOCK_BUSY 22 11476 #define PAM_AUTHTOK_DISABLE_AGING 23 11477 #define PAM_TRY_AGAIN 24 11478 #define PAM_ABORT 26 11479 #define PAM_AUTHTOK_EXPIRED 27 11480 #define PAM_BAD_ITEM 29 11481 #define PAM_SERVICE_ERR 3 11482 #define PAM_SYSTEM_ERR 4 11483 #define PAM_BUF_ERR 5 11484 #define PAM_PERM_DENIED 6 11485 #define PAM_AUTH_ERR 7 11486 #define PAM_CRED_INSUFFICIENT 8 11487 #define PAM_AUTHINFO_UNAVAIL 9 11488 11489 11490 11491 #define PAM_DISALLOW_NULL_AUTHTOK 0x0001U 11492 #define PAM_ESTABLISH_CRED 0x0002U 11493 #define PAM_DELETE_CRED 0x0004U 11494 #define PAM_REINITIALIZE_CRED 0x0008U 11495 #define PAM_REFRESH_CRED 0x0010U 11496 #define PAM_CHANGE_EXPIRED_AUTHTOK 0x0020U 11497 #define PAM_SILENT 0x8000U 11498 ------------------------------------------------------------------------------- 11499 11500 Interfaces Definitions for libpam 11501 11502 Table of Contents 11503 pam_acct_mgmt -- establish the status of a user's account 11504 pam_authenticate -- authenticate the user 11505 pam_chauthtok -- change the authentication token for a given user 11506 pam_close_session -- indicate that an authenticated session has ended 11507 pam_end -- terminate the use of the PAM library 11508 pam_fail_delay -- specify delay time to use on authentication error 11509 pam_get_item -- obtain the value of the indicated item. 11510 pam_getenvlist -- returns a pointer to the complete PAM environment. 11511 pam_open_session -- used to indicate that an authenticated session has been 11512 initiated 11513 pam_set_item -- (re)set the value of an item. 11514 pam_setcred -- set the module-specific credentials of the user 11515 pam_start -- initialize the PAM library 11516 pam_strerror -- returns a string describing the PAM error 11517 11518 pam_acct_mgmt 11519 11520 Name 11521 11522 pam_acct_mgmt -- establish the status of a user's account 11523 11524 Synopsis 11525 11526 #include 11527 11528 extern int pam_acct_mgmt(pam_handle_t *pamh, int flags); 11529 11530 Description 11531 11532 pam_acct_mgmt establishes the account's usability and the user's accessibility 11533 to the system. It is typically called after the user has been authenticated. 11534 11535 flags may be specified as any valid flag (namely, one of those applicable to 11536 the flags argument of pam_authenticate). Additionally, the value of flags may 11537 be logically OR'd with PAM_SILENT. 11538 11539 Return Value 11540 11541 PAM_SUCCESS 11542 11543 Success. 11544 11545 PAM_AUTHTOKEN_REQD 11546 11547 User is valid, but user's authentication token has expired. The correct 11548 response to this return-value is to require that the user satisfy the 11549 pam_chauthtok function before obtaining service. It may not be possible for 11550 an application to do this. In such a case, the user should be denied access 11551 until the account password is updated. 11552 11553 PAM_ACCT_EXPIRED 11554 11555 User is no longer permitted access to the system. 11556 11557 PAM_AUTH_ERR 11558 11559 Authentication error. 11560 11561 PAM_PERM_DENIED 11562 11563 User is not permitted to gain access at this time. 11564 11565 PAM_USER_UNKNOWN 11566 11567 User is not known to a module's account management component. 11568 11569 Errors 11570 11571 May be translated to text with pam_strerror. 11572 11573 pam_authenticate 11574 11575 Name 11576 11577 pam_authenticate -- authenticate the user 11578 11579 Synopsis 11580 11581 #include 11582 11583 extern int pam_authenticate(pam_handle_t *pamh, int flags); 11584 11585 Description 11586 11587 pam_authenticate serves as an interface to the authentication mechanisms of the 11588 loaded modules. 11589 11590 flags is an optional parameter that may be specified by the following value: 11591 11592 PAM_DISALLOW_NULL_AUTHTOK 11593 11594 Instruct the authentication modules to return PAM_AUTH_ERR if the user does 11595 not have a registered authorization token. 11596 11597 Additionally, the value of flags may be logically OR'd with PAM_SILENT. 11598 11599 Return Value 11600 11601 PAM_SUCCESS 11602 11603 Success. 11604 11605 PAM_AUTH_ERR 11606 11607 User was not authenticated. 11608 11609 PAM_CRED_INSUFFICIENT 11610 11611 Application does not have sufficient credentials to authenticate the user. 11612 11613 PAM_AUTHINFO_UNAVAIL 11614 11615 Modules were not able to access the authentication information. This might 11616 be due to a network or hardware failure, etc. 11617 11618 PAM_USER_UNKNOWN 11619 11620 Supplied username is not known to the authentication service. 11621 11622 PAM_MAXTRIES 11623 11624 One or more authentication modules has reached its limit of tries 11625 authenticating the user. Do not try again. 11626 11627 PAM_ABORT 11628 11629 One or more authentication modules failed to load. 11630 11631 Errors 11632 11633 May be translated to text with pam_strerror. 11634 11635 pam_chauthtok 11636 11637 Name 11638 11639 pam_chauthtok -- change the authentication token for a given user 11640 11641 Synopsis 11642 11643 #include 11644 11645 extern int pam_chauthtok(pam_handle_t *pamh, const int flags); 11646 11647 Description 11648 11649 pam_chauthtok is used to change the authentication token for a given user as 11650 indicated by the state associated with the handle pamh. 11651 11652 flags is an optional parameter that may be specified by the following value: 11653 11654 PAM_CHANGE_EXPIRED_AUTHTOK 11655 11656 User's authentication token should only be changed if it has expired. 11657 11658 Additionally, the value of flags may be logically OR'd with PAM_SILENT. 11659 11660 RETURN VALUE 11661 11662 PAM_SUCCESS 11663 11664 Success. 11665 11666 PAM_AUTHTOK_ERR 11667 11668 A module was unable to obtain the new authentication token. 11669 11670 PAM_AUTHTOK_RECOVER_ERR 11671 11672 A module was unable to obtain the old authentication token. 11673 11674 PAM_AUTHTOK_LOCK_BUSY 11675 11676 One or more modules were unable to change the authentication token since it 11677 is currently locked. 11678 11679 PAM_AUTHTOK_DISABLE_AGING 11680 11681 Authentication token aging has been disabled for at least one of the 11682 modules. 11683 11684 PAM_PERM_DENIED 11685 11686 Permission denied. 11687 11688 PAM_TRY_AGAIN 11689 11690 Not all modules were in a position to update the authentication token(s). 11691 In such a case, none of the user's authentication tokens are updated. 11692 11693 PAM_USER_UNKNOWN 11694 11695 User is not known to the authentication token changing service. 11696 11697 ERRORS 11698 11699 May be translated to text with pam_strerror. 11700 11701 pam_close_session 11702 11703 Name 11704 11705 pam_close_session -- indicate that an authenticated session has ended 11706 11707 Synopsis 11708 11709 #include 11710 11711 extern int pam_close_session(pam_handle_t *pamh, int flags); 11712 11713 Description 11714 11715 pam_close_session is used to indicate that an authenticated session has ended. 11716 It is used to inform the module that the user is exiting a session. It should 11717 be possible for the PAM library to open a session and close the same session 11718 from different applications. 11719 11720 flags may have the value PAM_SILENT to indicate that no output should be 11721 generated as a result of this function call. 11722 11723 Return Value 11724 11725 PAM_SUCCESS 11726 11727 Success. 11728 11729 PAM_SESSION_ERR 11730 11731 One of the required loaded modules was unable to close a session for the 11732 user. 11733 11734 Errors 11735 11736 May be translated to text with pam_strerror. 11737 11738 pam_end 11739 11740 Name 11741 11742 pam_end -- terminate the use of the PAM library 11743 11744 Synopsis 11745 11746 #include 11747 11748 extern int pam_end(pam_handle_t *pamh, int pam_status); 11749 11750 Description 11751 11752 pam_end terminates use of the PAM library. On success, the contents of *pamh 11753 are no longer valid, and all memory associated with it is invalid. 11754 11755 Normally, pam_status is passed the value PAM_SUCCESS, but in the event of an 11756 unsuccessful service application, the appropriate PAM error return value should 11757 be used. 11758 11759 Return Value 11760 11761 PAM_SUCCESS 11762 11763 Success. 11764 11765 Errors 11766 11767 May be translated to text with pam_strerror. 11768 11769 pam_fail_delay 11770 11771 Name 11772 11773 pam_fail_delay -- specify delay time to use on authentication error 11774 11775 Synopsis 11776 11777 #include 11778 11779 extern int pam_fail_delay(pam_handle_t *pamh, unsigned int micro_sec); 11780 11781 Description 11782 11783 pam_fail_delay specifies the minimum delay for the PAM library to use when an 11784 authentication error occurs. The actual delay will vary by as much at 25%. If 11785 this function is called multiple times, the longest time specified by any of 11786 the call will be used. 11787 11788 The delay is invoked if an authentication error occurs during the 11789 pam_authenticate or pam_chauthtok function calls. 11790 11791 Independent of the success of pam_authenticate or pam_chauthtok, the delay time 11792 is reset to its default value of 0 when the PAM library returns control to the 11793 application from these two functions. 11794 11795 Return Value 11796 11797 PAM_SUCCESS 11798 11799 Success. 11800 11801 Errors 11802 11803 May be translated to text with pam_strerror. 11804 11805 pam_get_item 11806 11807 Name 11808 11809 pam_get_item -- obtain the value of the indicated item. 11810 11811 Synopsis 11812 11813 #include 11814 11815 extern int pam_get_item(const pam_handle_t *pamh, int item_type, const void 11816 **item); 11817 11818 Description 11819 11820 pam_get_item obtains the value of the indicated item_type. The possible values 11821 of item_type are the same as listed for pam_set_item. 11822 11823 On success, item contains a pointer to the value of the corresponding item. 11824 Note that this is a pointer to the actual data and should not be free'd or 11825 over-written. 11826 11827 Return Value 11828 11829 PAM_SUCCESS 11830 11831 Success. 11832 11833 PAM_PERM_DENIED 11834 11835 Application passed a NULL pointer for item. 11836 11837 PAM_BAD_ITEM 11838 11839 Application attempted to get an undefined item. 11840 11841 Errors 11842 11843 May be translated to text with pam_strerror. 11844 11845 pam_getenvlist 11846 11847 Name 11848 11849 pam_getenvlist -- returns a pointer to the complete PAM environment. 11850 11851 Synopsis 11852 11853 #include 11854 11855 extern char * const *pam_getenvlist(pam_handle_t *pamh); 11856 11857 Description 11858 11859 pam_getenvlist returns a pointer to the complete PAM environment. This pointer 11860 points to an array of pointers to NUL-terminated strings and must be terminated 11861 by a NULL pointer. Each string has the form "name=value". 11862 11863 The PAM library module allocates memory for the returned value and the 11864 associated strings. The calling application is responsible for freeing this 11865 memory. 11866 11867 Return Value 11868 11869 pam_getenvlist returns an array of string pointers containing the PAM 11870 environment. On error, NULL is returned. 11871 11872 pam_open_session 11873 11874 Name 11875 11876 pam_open_session -- used to indicate that an authenticated session has been 11877 initiated 11878 11879 Synopsis 11880 11881 #include 11882 11883 extern int pam_open_session(pam_handle_t *pamh, int flags); 11884 11885 Description 11886 11887 pam_handle_t is used to indicate that an authenticated session has begun. It is 11888 used to inform the module that the user is currently in a session. It should be 11889 possible for the PAM library to open a session and close the same session from 11890 different applications. 11891 11892 flags may have the value PAM_SILENT to indicate that no output be generated as 11893 a rsult of this function call. 11894 11895 Return Value 11896 11897 PAM_SUCCESS 11898 11899 Success. 11900 11901 PAM_SESSION_ERR 11902 11903 One of the loaded modules was unable to open a session for the user. 11904 11905 ERRORS 11906 11907 May be translated to text with pam_strerror. 11908 11909 pam_set_item 11910 11911 Name 11912 11913 pam_set_item -- (re)set the value of an item. 11914 11915 Synopsis 11916 11917 #include 11918 11919 extern int pam_set_item(pam_handle_t *pamh, int item_type, const void *item); 11920 11921 Description 11922 11923 pam_set_item (re)sets the value of one of the following item_types: 11924 11925 PAM_SERVICE 11926 11927 service name 11928 11929 PAM_USER 11930 11931 user name 11932 11933 PAM_TTY 11934 11935 terminal name 11936 11937 The value for a device file should include the /dev/ prefix. The value for 11938 graphical, X-based, applications should be the $DISPLAY variable. 11939 11940 PAM_RHOST 11941 11942 remote host name 11943 11944 PAM_CONV 11945 11946 conversation structure 11947 11948 PAM_RUSER 11949 11950 remote user name 11951 11952 PAM_USER_PROMPT 11953 11954 string to be used when prompting for a user's name 11955 11956 The default value for this string is Please enter username: . 11957 11958 For all item_types other than PAM_CONV, item is a pointer to a NULL-terminated 11959 character string. In the case of PAM_CONV, item points to an initialized 11960 pam_conv structure. 11961 11962 Return Value 11963 11964 PAM_SUCCESS 11965 11966 Success. 11967 11968 PAM_PERM_DENIED 11969 11970 An attempt was made to replace the conversation structure with a NULL 11971 value. 11972 11973 PAM_BUF_ERR 11974 11975 Function ran out of memory making a copy of the item. 11976 11977 PAM_BAD_ITEM 11978 11979 Application attempted to set an undefined item. 11980 11981 Errors 11982 11983 May be translated to text with pam_strerror. 11984 11985 pam_setcred 11986 11987 Name 11988 11989 pam_setcred -- set the module-specific credentials of the user 11990 11991 Synopsis 11992 11993 #include 11994 11995 extern int pam_setcred(pam_handle_t *pamh, int flags); 11996 11997 Description 11998 11999 pam_setcred sets the module-specific credentials of the user. It is usually 12000 called after the user has been authenticated, after the account management 12001 function has been called and after a session has been opened for the user. 12002 12003 flags maybe specified from among the following values: 12004 12005 PAM_ESTABLISH_CRED 12006 12007 set credentials for the authentication service 12008 12009 PAM_DELETE_CRED 12010 12011 delete credentials associated with the authentication service 12012 12013 PAM_REINITIALIZE_CRED 12014 12015 reinitialize the user credentials 12016 12017 PAM_REFRESH_CRED 12018 12019 extend lifetime of the user credentials 12020 12021 Additionally, the value of flags may be logically OR'd with PAM_SILENT. 12022 12023 Return Value 12024 12025 PAM_SUCCESS 12026 12027 Success. 12028 12029 PAM_CRED_UNAVAIL 12030 12031 Module cannot retrieve the user's credentials. 12032 12033 PAM_CRED_EXPIRED 12034 12035 User's credentials have expired. 12036 12037 PAM_USER_UNKNOWN 12038 12039 User is not known to an authentication module. 12040 12041 PAM_CRED_ERR 12042 12043 Module was unable to set the credentials of the user. 12044 12045 Errors 12046 12047 May be translated to text with pam_strerror. 12048 12049 pam_start 12050 12051 Name 12052 12053 pam_start -- initialize the PAM library 12054 12055 Synopsis 12056 12057 #include 12058 12059 extern int pam_start(const char *service_name, const char *user, const (struct 12060 pam_conv *pam_conversation), pam_handle_t **pamh); 12061 12062 Description 12063 12064 pam_start is used to initialize the PAM library. It must be called prior to any 12065 other usage of the PAM library. On success, *pamh becomes a handle that 12066 provides continuity for successive calls to the PAM library. pam_start expects 12067 arguments as follows: the service_name of the program, the username of the 12068 individual to be authenticated, a pointer to an application-supplied pam_conv 12069 structure, and a pointer to a pam_handle_t pointer. 12070 12071 An application must provide the conversation function used for direct 12072 communication between a loaded module and the application. The application also 12073 typically provides a means for the module to prompt the user for a password, 12074 etc. 12075 12076 The structure, pam_conv, is defined to be, 12077 struct pam_conv { 12078 int (*conv) (int num_msg, 12079 const struct pam_message * *msg, 12080 struct pam_response * *resp, 12081 void *appdata_ptr); 12082 void *appdata_ptr; 12083 }; 12084 It is initialized by the application before it is passed to the library. The 12085 contents of this structure are attached to the *pamh handle. The point of this 12086 argument is to provide a mechanism for any loaded module to interact directly 12087 with the application program; this is why it is called a conversation 12088 structure. 12089 12090 When a module calls the referenced conv function, appdata_ptr is set to the 12091 second element of this structure. 12092 12093 The other arguments of a call to conv concern the information exchanged by 12094 module and application. num_msg holds the length of the array of pointers 12095 passed via msg. On success, the pointer resp points to an array of num_msg 12096 pam_response structures, holding the application-supplied text. Note that resp 12097 is a struct pam_response array and not an array of pointers. 12098 12099 Return Value 12100 12101 PAM_SUCCESS 12102 12103 Success. 12104 12105 PAM_BUF_ERR 12106 12107 Memory allocation error. 12108 12109 PAM_ABORT 12110 12111 Internal failure. 12112 12113 ERRORS 12114 12115 May be translated to text with pam_strerror. 12116 12117 pam_strerror 12118 12119 Name 12120 12121 pam_strerror -- returns a string describing the PAM error 12122 12123 Synopsis 12124 12125 #include 12126 12127 extern int pam_strerror(pam_handle_t *pamh, int errnum); 12128 12129 Description 12130 12131 pam_strerror returns a string describing the PAM error associated with errnum. 12132 12133 Return Value 12134 12135 On success, this function returns a description of the indicated error. If the 12136 error is not recognized, a string beginning with Unknown Linux-PAM error is 12137 returned. The application should not free or modify this string. This returned 12138 string will not be translated. 12139 12140 V. Utility Libraries 12141 12142 Table of Contents 12143 14. Libraries 12144 12145 ------------------------------------------------------------------------------- 12146 12147 Chapter 14. Libraries 12148 12149 An LSB-conforming implementation may also support some utility libraries which 12150 are built on top of the interfaces provided by the base libraries. These 12151 libraries implement common functionality, and hide additional system dependent 12152 information such as file formats and device names. 12153 12154 ------------------------------------------------------------------------------- 12155 12156 Interfaces for libz 12157 12158 Table 14-1. libz Definition 12159 12160 +-------------------+ 12161 |Library:|libz | 12162 |--------+----------| 12163 |SONAME: |libz.so.1 | 12164 +-------------------+ 12165 12166 [33] 12167 12168 The behavior of the interfaces in this library is specified by the following 12169 standards. 12170 12171 zlib 1.1.3 Manual[34] 12172 12173 ------------------------------------------------------------------------------- 12174 12175 Compression Library 12176 12177 Table 14-2. libz - Compression Library Function Interfaces 12178 12179 +-----------------------------------------------------------------------------+ 12180 |adler32[34] |deflateInit_[34] |gzerror |gzread[34] |inflateInit2_[34] | 12181 | | |[34] | | | 12182 |-------------+--------------------+---------+-----------+--------------------| 12183 |compress[34] |deflateParams[34] |gzflush |gzrewind |inflateInit_[34] | 12184 | | |[34] |[34] | | 12185 |-------------+--------------------+---------+-----------+--------------------| 12186 |compress2[34]|deflateReset[34] |gzgetc |gzseek[34] |inflateReset[34] | 12187 | | |[34] | | | 12188 |-------------+--------------------+---------+-----------+--------------------| 12189 |crc32[34] |deflateSetDictionary|gzgets |gzsetparams|inflateSetDictionary| 12190 | |[34] |[34] |[34] |[34] | 12191 |-------------+--------------------+---------+-----------+--------------------| 12192 |deflate[34] |get_crc_table[34] |gzopen |gztell[34] |inflateSync[34] | 12193 | | |[34] | | | 12194 |-------------+--------------------+---------+-----------+--------------------| 12195 |deflateCopy |gzclose[34] |gzprintf |gzwrite[34]|inflateSyncPoint[34]| 12196 |[34] | |[34] | | | 12197 |-------------+--------------------+---------+-----------+--------------------| 12198 |deflateEnd |gzdopen[34] |gzputc |inflate[34]|uncompress[34] | 12199 |[34] | |[34] | | | 12200 |-------------+--------------------+---------+-----------+--------------------| 12201 |deflateInit2_|gzeof[34] |gzputs |inflateEnd |zError[34] | 12202 |[34] | |[34] |[34] | | 12203 +-----------------------------------------------------------------------------+ 12204 ------------------------------------------------------------------------------- 12205 12206 Data Definitions for libz 12207 12208 This section contains standard data definitions that describe system data. 12209 These definitions are organized into groups that correspond to system headers. 12210 This convention is used as a convenience for the reader, and does not imply the 12211 existence of these headers, or their content. 12212 12213 ISO C serves as the LSB reference programming language, and data definitions 12214 are specified in ISO C format. The C language is used here as a convenient 12215 notation. Using a C language description of these data objects does not 12216 preclude their use by other programming languages. 12217 12218 ------------------------------------------------------------------------------- 12219 12220 zlib.h 12221 12222 #define Z_NULL 0 12223 #define MAX_WBITS 15 12224 #define MAX_MEM_LEVEL 9 12225 #define deflateInit2(strm,level, method, windowBits, memLevel, stratgey) deflateInit2_((strm),(level),(method),(windowBits),(memLevel),(strategy), ZLIB_VERSION, sizeof(z_stream)) 12226 #define deflateInit(strm,level) deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream)) 12227 #define inflateInit2(strm,windowBits) inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream)) 12228 #define inflateInit(strm) inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream)) 12229 12230 12231 typedef int intf; 12232 12233 12234 typedef void *voidpf; 12235 typedef unsigned int uInt; 12236 typedef unsigned long uLong; 12237 typedef uLong uLongf; 12238 typedef void *voidp; 12239 typedef unsigned char Byte; 12240 typedef off_t z_off_t; 12241 12242 12243 typedef voidpf (*alloc_func) (voidpf opaque, uInt items, uInt size); 12244 typedef void (*free_func) (voidpf opaque, voidpf address); 12245 struct internal_state 12246 { 12247 int dummy; 12248 } 12249 ; 12250 typedef Byte Bytef; 12251 typedef uInt uIntf; 12252 12253 12254 typedef struct z_stream_s 12255 { 12256 Bytef *next_in; 12257 uInt avail_in; 12258 uLong total_in; 12259 Bytef *next_out; 12260 uInt avail_out; 12261 uLong total_out; 12262 char *msg; 12263 struct internal_state *state; 12264 alloc_func zalloc; 12265 free_func zfree; 12266 voidpf opaque; 12267 int data_type; 12268 uLong adler; 12269 uLong reserved; 12270 } 12271 z_stream; 12272 12273 12274 typedef z_stream *z_streamp; 12275 typedef voidp gzFile; 12276 #define Z_NO_FLUSH 0 12277 #define Z_PARTIAL_FLUSH 1 12278 #define Z_SYNC_FLUSH 2 12279 #define Z_FULL_FLUSH 3 12280 #define Z_FINISH 4 12281 12282 12283 12284 #define Z_ERRNO (-1) 12285 #define Z_STREAM_ERROR (-2) 12286 #define Z_DATA_ERROR (-3) 12287 #define Z_MEM_ERROR (-4) 12288 #define Z_BUF_ERROR (-5) 12289 #define Z_OK 0 12290 #define Z_STREAM_END 1 12291 #define Z_NEED_DICT 2 12292 12293 12294 12295 #define Z_DEFAULT_COMPRESSION (-1) 12296 #define Z_NO_COMPRESSION 0 12297 #define Z_BEST_SPEED 1 12298 #define Z_BEST_COMPRESSION 9 12299 12300 12301 12302 #define Z_DEFAULT_STRATEGY 0 12303 #define Z_FILTERED 1 12304 #define Z_HUFFMAN_ONLY 2 12305 12306 12307 12308 #define Z_BINARY 0 12309 #define Z_ASCII 1 12310 #define Z_UNKNOWN 2 12311 12312 12313 12314 #define Z_DEFLATED 8 12315 ------------------------------------------------------------------------------- 12316 12317 Interfaces for libncurses 12318 12319 Table 14-3. libncurses Definition 12320 12321 +-------------------------+ 12322 |Library:|libncurses | 12323 |--------+----------------| 12324 |SONAME: |libncurses.so.5 | 12325 +-------------------------+ 12326 12327 The behavior of the interfaces in this library is specified by the following 12328 standards. 12329 12330 CAE Specification, May 1996, X/Open Curses, Issue 4, Version 2 (ISBN: 12331 1-85912-171-3, C610), plus Corrigendum U018[35] 12332 12333 ------------------------------------------------------------------------------- 12334 12335 Curses 12336 12337 Table 14-4. libncurses - Curses Function Interfaces 12338 12339 +-----------------------------------------------------------------------------+ 12340 |addch[35] |has_il[35] |mvwaddchstr[35] |scr_set[35] |waddnstr[35]| 12341 |----------------+--------------+----------------+---------------+------------| 12342 |addchnstr[35] |hline[35] |mvwaddnstr[35] |scrl[35] |waddstr[35] | 12343 |----------------+--------------+----------------+---------------+------------| 12344 |addchstr[35] |idcok[35] |mvwaddstr[35] |scroll[35] |wattr_get | 12345 | | | | |[35] | 12346 |----------------+--------------+----------------+---------------+------------| 12347 |addnstr[35] |idlok[35] |mvwchgat[35] |scrollok[35] |wattr_off | 12348 | | | | |[35] | 12349 |----------------+--------------+----------------+---------------+------------| 12350 |addstr[35] |immedok[35] |mvwdelch[35] |set_term[35] |wattr_on[35]| 12351 |----------------+--------------+----------------+---------------+------------| 12352 |attr_get[35] |inch[35] |mvwgetch[35] |setscrreg[35] |wattr_set | 12353 | | | | |[35] | 12354 |----------------+--------------+----------------+---------------+------------| 12355 |attr_off[35] |inchnstr[35] |mvwgetnstr[35] |setupterm[35] |wattroff[35]| 12356 |----------------+--------------+----------------+---------------+------------| 12357 |attr_on[35] |inchstr[35] |mvwgetstr[35] |slk_attr_set |wattron[35] | 12358 | | | |[35] | | 12359 |----------------+--------------+----------------+---------------+------------| 12360 |attr_set[35] |init_color[35]|mvwhline[35] |slk_attroff[35]|wattrset[35]| 12361 |----------------+--------------+----------------+---------------+------------| 12362 |attroff[35] |init_pair[35] |mvwin[35] |slk_attron[35] |wbkgd[35] | 12363 |----------------+--------------+----------------+---------------+------------| 12364 |attron[35] |initscr[35] |mvwinch[35] |slk_attrset[35]|wbkgdset[35]| 12365 |----------------+--------------+----------------+---------------+------------| 12366 |attrset[35] |innstr[35] |mvwinchnstr[35] |slk_clear[35] |wborder[35] | 12367 |----------------+--------------+----------------+---------------+------------| 12368 |baudrate[35] |insch[35] |mvwinchstr[35] |slk_color[35] |wchgat[35] | 12369 |----------------+--------------+----------------+---------------+------------| 12370 |beep[35] |insdelln[35] |mvwinnstr[35] |slk_init[35] |wclear[35] | 12371 |----------------+--------------+----------------+---------------+------------| 12372 |bkgd[35] |insertln[35] |mvwinsch[35] |slk_label[35] |wclrtobot | 12373 | | | | |[35] | 12374 |----------------+--------------+----------------+---------------+------------| 12375 |bkgdset[35] |insnstr[35] |mvwinsnstr[35] |slk_noutrefresh|wclrtoeol | 12376 | | | |[35] |[35] | 12377 |----------------+--------------+----------------+---------------+------------| 12378 |border[35] |insstr[35] |mvwinsstr[35] |slk_refresh[35]|wcolor_set | 12379 | | | | |[35] | 12380 |----------------+--------------+----------------+---------------+------------| 12381 |box[35] |instr[35] |mvwinstr[35] |slk_restore[35]|wcursyncup | 12382 | | | | |[35] | 12383 |----------------+--------------+----------------+---------------+------------| 12384 |can_change_color|intrflush[35] |mvwprintw[35] |slk_set[35] |wdelch[35] | 12385 |[35] | | | | | 12386 |----------------+--------------+----------------+---------------+------------| 12387 |cbreak[35] |is_linetouched|mvwscanw[35] |slk_touch[35] |wdeleteln | 12388 | |[35] | | |[35] | 12389 |----------------+--------------+----------------+---------------+------------| 12390 |chgat[35] |is_wintouched |mvwvline[35] |standend[35] |wechochar | 12391 | |[35] | | |[35] | 12392 |----------------+--------------+----------------+---------------+------------| 12393 |clear[35] |isendwin[35] |napms[35] |standout[35] |werase[35] | 12394 |----------------+--------------+----------------+---------------+------------| 12395 |clearok[35] |keyname[35] |newpad[35] |start_color[35]|wgetch[35] | 12396 |----------------+--------------+----------------+---------------+------------| 12397 |clrtobot[35] |keypad[35] |newterm[35] |subpad[35] |wgetnstr[35]| 12398 |----------------+--------------+----------------+---------------+------------| 12399 |clrtoeol[35] |killchar[35] |newwin[35] |subwin[35] |wgetstr[35] | 12400 |----------------+--------------+----------------+---------------+------------| 12401 |color_content |leaveok[35] |nl[35] |syncok[35] |whline[35] | 12402 |[35] | | | | | 12403 |----------------+--------------+----------------+---------------+------------| 12404 |color_set[35] |longname[35] |nocbreak[35] |termattrs[35] |winch[35] | 12405 |----------------+--------------+----------------+---------------+------------| 12406 |copywin[35] |meta[35] |nodelay[35] |termname[35] |winchnstr | 12407 | | | | |[35] | 12408 |----------------+--------------+----------------+---------------+------------| 12409 |curs_set[35] |move[35] |noecho[35] |tgetent[35] |winchstr[35]| 12410 |----------------+--------------+----------------+---------------+------------| 12411 |def_prog_mode |mvaddch[35] |nonl[35] |tgetflag[35] |winnstr[35] | 12412 |[35] | | | | | 12413 |----------------+--------------+----------------+---------------+------------| 12414 |def_shell_mode |mvaddchnstr |noqiflush[35] |tgetnum[35] |winsch[35] | 12415 |[35] |[35] | | | | 12416 |----------------+--------------+----------------+---------------+------------| 12417 |delay_output[35]|mvaddchstr[35]|noraw[35] |tgetstr[35] |winsdelln | 12418 | | | | |[35] | 12419 |----------------+--------------+----------------+---------------+------------| 12420 |delch[35] |mvaddnstr[35] |notimeout[35] |tgoto[35] |winsertln | 12421 | | | | |[35] | 12422 |----------------+--------------+----------------+---------------+------------| 12423 |deleteln[35] |mvaddstr[35] |overlay[35] |tigetflag[35] |winsnstr[35]| 12424 |----------------+--------------+----------------+---------------+------------| 12425 |delscreen[35] |mvchgat[35] |overwrite[35] |tigetnum[35] |winsstr[35] | 12426 |----------------+--------------+----------------+---------------+------------| 12427 |delwin[35] |mvcur[35] |pair_content[35]|tigetstr[35] |winstr[35] | 12428 |----------------+--------------+----------------+---------------+------------| 12429 |derwin[35] |mvdelch[35] |pechochar[35] |timeout[35] |wmove[35] | 12430 |----------------+--------------+----------------+---------------+------------| 12431 |doupdate[35] |mvderwin[35] |pnoutrefresh[35]|touchline[35] |wnoutrefresh| 12432 | | | | |[35] | 12433 |----------------+--------------+----------------+---------------+------------| 12434 |dupwin[35] |mvgetch[35] |prefresh[35] |touchwin[35] |wprintw[35] | 12435 |----------------+--------------+----------------+---------------+------------| 12436 |echo[35] |mvgetnstr[35] |printw[35] |tparm[35] |wredrawln | 12437 | | | | |[35] | 12438 |----------------+--------------+----------------+---------------+------------| 12439 |echochar[35] |mvgetstr[35] |putp[35] |tputs[35] |wrefresh[35]| 12440 |----------------+--------------+----------------+---------------+------------| 12441 |endwin[35] |mvhline[35] |putwin[35] |typeahead[35] |wscanw[35] | 12442 |----------------+--------------+----------------+---------------+------------| 12443 |erase[35] |mvinch[35] |qiflush[35] |ungetch[35] |wscrl[35] | 12444 |----------------+--------------+----------------+---------------+------------| 12445 |erasechar[35] |mvinchnstr[35]|raw[35] |untouchwin[35] |wsetscrreg | 12446 | | | | |[35] | 12447 |----------------+--------------+----------------+---------------+------------| 12448 |filter[35] |mvinchstr[35] |redrawwin[35] |use_env[35] |wstandend | 12449 | | | | |[35] | 12450 |----------------+--------------+----------------+---------------+------------| 12451 |flash[35] |mvinnstr[35] |refresh[35] |vidattr[35] |wstandout | 12452 | | | | |[35] | 12453 |----------------+--------------+----------------+---------------+------------| 12454 |flushinp[35] |mvinsch[35] |reset_prog_mode |vidputs[35] |wsyncdown | 12455 | | |[35] | |[35] | 12456 |----------------+--------------+----------------+---------------+------------| 12457 |getbkgd[35] |mvinsnstr[35] |reset_shell_mode|vline[35] |wsyncup[35] | 12458 | | |[35] | | | 12459 |----------------+--------------+----------------+---------------+------------| 12460 |getch[35] |mvinsstr[35] |resetty[35] |vw_printw[35] |wtimeout[35]| 12461 |----------------+--------------+----------------+---------------+------------| 12462 |getnstr[35] |mvinstr[35] |ripoffline[35] |vw_scanw[35] |wtouchln[35]| 12463 |----------------+--------------+----------------+---------------+------------| 12464 |getstr[35] |mvprintw[35] |savetty[35] |vwprintw[35] |wvline[35] | 12465 |----------------+--------------+----------------+---------------+------------| 12466 |getwin[35] |mvscanw[35] |scanw[35] |vwscanw[35] | | 12467 |----------------+--------------+----------------+---------------+------------| 12468 |halfdelay[35] |mvvline[35] |scr_dump[35] |waddch[35] | | 12469 |----------------+--------------+----------------+---------------+------------| 12470 |has_colors[35] |mvwaddch[35] |scr_init[35] |waddchnstr[35] | | 12471 |----------------+--------------+----------------+---------------+------------| 12472 |has_ic[35] |mvwaddchnstr |scr_restore[35] |waddchstr[35] | | 12473 | |[35] | | | | 12474 +-----------------------------------------------------------------------------+ 12475 12476 Table 14-5. libncurses - Curses Data Interfaces 12477 12478 +---------------------------------------------+ 12479 |COLS[35]|LINES[35] |curscr[35] |stdscr[35] | | 12480 +---------------------------------------------+ 12481 ------------------------------------------------------------------------------- 12482 12483 Data Definitions for libncurses 12484 12485 This section contains standard data definitions that describe system data. 12486 These definitions are organized into groups that correspond to system headers. 12487 This convention is used as a convenience for the reader, and does not imply the 12488 existence of these headers, or their content. 12489 12490 ISO C serves as the LSB reference programming language, and data definitions 12491 are specified in ISO C format. The C language is used here as a convenient 12492 notation. Using a C language description of these data objects does not 12493 preclude their use by other programming languages. 12494 12495 ------------------------------------------------------------------------------- 12496 12497 curses.h 12498 12499 #define NCURSES_BITS(mask,shift) ((mask)<<((shift)+8)) 12500 #define ERR (-1) 12501 #define OK (0) 12502 #define A_CHARTEXT (NCURSES_BITS(1UL,0)-1UL) 12503 #define getmaxyx(win,y,x) (y=(win)?((win)->_maxy+1):ERR,x=(win)?((win)->_maxx+1):ERR) 12504 #define getbegyx(win,y,x) (y=(win)?(win)->_begy:ERR,x=(win)?(win)->_begx:ERR) 12505 #define getyx(win,y,x) (y=(win)?(win)->_cury:ERR,x=(win)?(win)->_curx:ERR) 12506 #define getparyx(win,y,x) (y=(win)?(win)->_pary:ERR,x=(win)?(win)->_parx:ERR) 12507 #define A_NORMAL 0L 12508 #define A_COLOR NCURSES_BITS(((1UL)<<8)-1UL,0) 12509 #define A_REVERSE NCURSES_BITS(1UL,10) 12510 #define A_BLINK NCURSES_BITS(1UL,11) 12511 #define A_DIM NCURSES_BITS(1UL,12) 12512 #define A_BOLD NCURSES_BITS(1UL,13) 12513 #define A_ALTCHARSET NCURSES_BITS(1UL,14) 12514 #define A_INVIS NCURSES_BITS(1UL,15) 12515 #define A_PROTECT NCURSES_BITS(1UL,16) 12516 #define A_HORIZONTAL NCURSES_BITS(1UL,17) 12517 #define A_LEFT NCURSES_BITS(1UL,18) 12518 #define A_LOW NCURSES_BITS(1UL,19) 12519 #define A_RIGHT NCURSES_BITS(1UL,20) 12520 #define A_TOP NCURSES_BITS(1UL,21) 12521 #define A_VERTICAL NCURSES_BITS(1UL,22) 12522 #define A_STANDOUT NCURSES_BITS(1UL,8) 12523 #define A_UNDERLINE NCURSES_BITS(1UL,9) 12524 #define A_ATTRIBUTES NCURSES_BITS(~(1UL-1UL),0) 12525 12526 12527 12528 #define WA_ALTCHARSET A_ALTCHARSET 12529 #define WA_ATTRIBUTES A_ATTRIBUTES 12530 #define WA_BLINK A_BLINK 12531 #define WA_BOLD A_BOLD 12532 #define WA_DIM A_DIM 12533 #define WA_HORIZONTAL A_HORIZONTAL 12534 #define WA_INVIS A_INVIS 12535 #define WA_LEFT A_LEFT 12536 #define WA_LOW A_LOW 12537 #define WA_NORMAL A_NORMAL 12538 #define WA_PROTECT A_PROTECT 12539 #define WA_REVERSE A_REVERSE 12540 #define WA_RIGHT A_RIGHT 12541 #define WA_STANDOUT A_STANDOUT 12542 #define WA_TOP A_TOP 12543 #define WA_UNDERLINE A_UNDERLINE 12544 #define WA_VERTICAL A_VERTICAL 12545 12546 12547 12548 #define COLOR_BLACK 0 12549 #define COLOR_RED 1 12550 #define COLOR_GREEN 2 12551 #define COLOR_YELLOW 3 12552 #define COLOR_BLUE 4 12553 #define COLOR_MAGENTA 5 12554 #define COLOR_CYAN 6 12555 #define COLOR_WHITE 7 12556 12557 12558 12559 #define _SUBWIN 0x01 12560 #define _ENDLINE 0x02 12561 #define _FULLWIN 0x04 12562 #define _ISPAD 0x10 12563 #define _HASMOVED 0x20 12564 12565 12566 12567 12568 12569 12570 12571 12572 typedef unsigned long chtype; 12573 typedef struct screen SCREEN; 12574 typedef struct _win_st WINDOW; 12575 typedef chtype attr_t; 12576 typedef struct 12577 { 12578 attr_t attr; 12579 wchar_t chars[5]; 12580 } 12581 cchar_t; 12582 struct pdat 12583 { 12584 short _pad_y; 12585 short _pad_x; 12586 short _pad_top; 12587 short _pad_left; 12588 short _pad_bottom; 12589 short _pad_right; 12590 } 12591 ; 12592 12593 12594 struct _win_st 12595 { 12596 short _cury; 12597 short _curx; 12598 short _maxy; 12599 short _maxx; 12600 short _begy; 12601 short _begx; 12602 short _flags; 12603 attr_t _attrs; 12604 chtype _bkgd; 12605 bool _notimeout; 12606 bool _clear; 12607 bool _leaveok; 12608 bool _scroll; 12609 bool _idlok; 12610 bool _idcok; 12611 bool _immed; 12612 bool _sync; 12613 bool _use_keypad; 12614 int _delay; 12615 struct ldat *_line; 12616 short _regtop; 12617 short _regbottom; 12618 int _parx; 12619 int _pary; 12620 WINDOW *_parent; 12621 struct pdat _pad; 12622 short _yoffset; 12623 cchar_t _bkgrnd; 12624 } 12625 ; 12626 #define KEY_CODE_YES 0400 12627 #define KEY_BREAK 0401 12628 #define KEY_MIN 0401 12629 #define KEY_DOWN 0402 12630 #define KEY_UP 0403 12631 #define KEY_LEFT 0404 12632 #define KEY_RIGHT 0405 12633 #define KEY_HOME 0406 12634 #define KEY_BACKSPACE 0407 12635 #define KEY_F0 0410 12636 #define KEY_DL 0510 12637 #define KEY_IL 0511 12638 #define KEY_DC 0512 12639 #define KEY_IC 0513 12640 #define KEY_EIC 0514 12641 #define KEY_CLEAR 0515 12642 #define KEY_EOS 0516 12643 #define KEY_EOL 0517 12644 #define KEY_SF 0520 12645 #define KEY_SR 0521 12646 #define KEY_NPAGE 0522 12647 #define KEY_PPAGE 0523 12648 #define KEY_STAB 0524 12649 #define KEY_CTAB 0525 12650 #define KEY_CATAB 0526 12651 #define KEY_ENTER 0527 12652 #define KEY_SRESET 0530 12653 #define KEY_RESET 0531 12654 #define KEY_PRINT 0532 12655 #define KEY_LL 0533 12656 #define KEY_A1 0534 12657 #define KEY_A3 0535 12658 #define KEY_B2 0536 12659 #define KEY_C1 0537 12660 #define KEY_C3 0540 12661 #define KEY_BTAB 0541 12662 #define KEY_BEG 0542 12663 #define KEY_CANCEL 0543 12664 #define KEY_CLOSE 0544 12665 #define KEY_COMMAND 0545 12666 #define KEY_COPY 0546 12667 #define KEY_CREATE 0547 12668 #define KEY_END 0550 12669 #define KEY_EXIT 0551 12670 #define KEY_FIND 0552 12671 #define KEY_HELP 0553 12672 #define KEY_MARK 0554 12673 #define KEY_MESSAGE 0555 12674 #define KEY_MOVE 0556 12675 #define KEY_NEXT 0557 12676 #define KEY_OPEN 0560 12677 #define KEY_OPTIONS 0561 12678 #define KEY_PREVIOUS 0562 12679 #define KEY_REDO 0563 12680 #define KEY_REFERENCE 0564 12681 #define KEY_REFRESH 0565 12682 #define KEY_REPLACE 0566 12683 #define KEY_RESTART 0567 12684 #define KEY_RESUME 0570 12685 #define KEY_SAVE 0571 12686 #define KEY_SBEG 0572 12687 #define KEY_SCANCEL 0573 12688 #define KEY_SCOMMAND 0574 12689 #define KEY_SCOPY 0575 12690 #define KEY_SCREATE 0576 12691 #define KEY_SDC 0577 12692 #define KEY_SDL 0600 12693 #define KEY_SELECT 0601 12694 #define KEY_SEND 0602 12695 #define KEY_SEOL 0603 12696 #define KEY_SEXIT 0604 12697 #define KEY_SFIND 0605 12698 #define KEY_SHELP 0606 12699 #define KEY_SHOME 0607 12700 #define KEY_SIC 0610 12701 #define KEY_SLEFT 0611 12702 #define KEY_SMESSAGE 0612 12703 #define KEY_SMOVE 0613 12704 #define KEY_SNEXT 0614 12705 #define KEY_SOPTIONS 0615 12706 #define KEY_SPREVIOUS 0616 12707 #define KEY_SPRINT 0617 12708 #define KEY_SREDO 0620 12709 #define KEY_SREPLACE 0621 12710 #define KEY_SRIGHT 0622 12711 #define KEY_SRSUME 0623 12712 #define KEY_SSAVE 0624 12713 #define KEY_SSUSPEND 0625 12714 #define KEY_SUNDO 0626 12715 #define KEY_SUSPEND 0627 12716 #define KEY_UNDO 0630 12717 #define KEY_MOUSE 0631 12718 #define KEY_RESIZE 0632 12719 #define KEY_MAX 0777 12720 ------------------------------------------------------------------------------- 12721 12722 Interfaces for libutil 12723 12724 Table 14-6. libutil Definition 12725 12726 +----------------------+ 12727 |Library:|libutil | 12728 |--------+-------------| 12729 |SONAME: |libutil.so.1 | 12730 +----------------------+ 12731 12732 The behavior of the interfaces in this library is specified by the following 12733 standards. 12734 12735 Linux Standard Base[36] 12736 12737 ------------------------------------------------------------------------------- 12738 12739 Utility Functions 12740 12741 Table 14-7. libutil - Utility Functions Function Interfaces 12742 12743 +-----------------------------------------------------------------------------+ 12744 |forkpty(GLIBC_2.0)[36] |login_tty(GLIBC_2.0)[36] |logwtmp(GLIBC_2.0)[36] | | | 12745 |-----------------------+-------------------------+-----------------------+-+-| 12746 |login(GLIBC_2.0)[36] |logout(GLIBC_2.0)[36] |openpty(GLIBC_2.0)[36] | | | 12747 +-----------------------------------------------------------------------------+ 12748 ------------------------------------------------------------------------------- 12749 12750 Interfaces Definitions for libutil 12751 12752 Table of Contents 12753 forkpty -- find and open an available pseudo-tty 12754 login -- login utility function 12755 login_tty -- find and open an available pseudo-tty 12756 logout -- logout utility function 12757 logwtmp -- append an entry to the wtmp file 12758 openpty -- find and open an available pseudo-tty 12759 12760 forkpty 12761 12762 Name 12763 12764 forkpty -- find and open an available pseudo-tty 12765 12766 Synopsis 12767 12768 int forkpty(int *amaster, 12769 char *name, 12770 struct termios *termp, 12771 struct winsize *winp); 12772 12773 Description 12774 12775 The forkpty() function joins openpty(), fork(), and login_tty() to create a new 12776 process operating on a pseudo-tty. The file descriptor of the master side of 12777 the pseudo-tty is returned in amaster, and null or the filename of the slave in 12778 name. If non-null, the termp and winp parameters will determine the terminal 12779 attributes and window size of the slave side of the pseudo-tty. 12780 12781 Return Value 12782 12783 On success of the child process, zero is returned. When the parent process 12784 receives the PID of its child process, pid is returned. On error, -1 is 12785 returned, and errno is set appropriately. 12786 12787 login 12788 12789 Name 12790 12791 login -- login utility function 12792 12793 Synopsis 12794 12795 void login(struct utmp *ut); 12796 12797 Description 12798 12799 The login() function updates the /var/run/utmp and /var/log/wtmp files with 12800 user information contained in ut. 12801 12802 login_tty 12803 12804 Name 12805 12806 login_tty -- find and open an available pseudo-tty 12807 12808 Synopsis 12809 12810 int login_tty(int fdr); 12811 12812 Description 12813 12814 login_tty() sets up for a login on the tty referenced by the file descriptor 12815 fdr. This function creates a new session, makes the tty for the current process 12816 the controlling terminal, sets the standard input, output, and error streams of 12817 the current process, and closes fdr. 12818 12819 Return Value 12820 12821 On success, zero is returned. On error, -1 is returned, and errno is set 12822 appropriately. 12823 12824 logout 12825 12826 Name 12827 12828 logout -- logout utility function 12829 12830 Synopsis 12831 12832 int logout(const char *line); 12833 12834 Description 12835 12836 Given the device line, the logout() function removes the entry from the 12837 corresponding /var/run/utmp system file. 12838 12839 Return Value 12840 12841 Zero is returned if there was no entry to remove. A non-zero return value 12842 indicates success. 12843 12844 logwtmp 12845 12846 Name 12847 12848 logwtmp -- append an entry to the wtmp file 12849 12850 Synopsis 12851 12852 #include 12853 12854 void logwtmp(const char *line, const char *name, const char *host); 12855 12856 Description 12857 12858 logwtmp() constructs an utmp structure using line, name, host, current time and 12859 current process id. Then it calls updwtmp() to append the structure to the utmp 12860 file. 12861 12862 Availability 12863 12864 Both functions are available under glibc2, but not under libc5. However, 12865 logwtmp occurs in the old libbsd. 12866 12867 Files 12868 12869 /var/log/wtmp database of past user logins 12870 12871 openpty 12872 12873 Name 12874 12875 openpty -- find and open an available pseudo-tty 12876 12877 Synopsis 12878 12879 int openpty(int *amaster, 12880 int *aslave, 12881 char *name, 12882 struct termios *termp, 12883 struct winsize *winp); 12884 12885 Description 12886 12887 The openpty() function finds an available pseudo-tty and returns file 12888 descriptors for the amaster and aslave. The filename of the slave is returned 12889 in name, otherwise a null. The terminal parameters of the slave will be set to 12890 the values in termp, otherwise a null. The window size of the slave will be set 12891 to the values in winp, otherwise a null. 12892 12893 Return Value 12894 12895 On success, zero is returned. On error, -1 is returned, and errno is set 12896 appropriately. 12897 12898 Errors 12899 12900 ENOENT 12901 12902 There are no available ttys. 12903 12904 VI. Graphic Libraries 12905 12906 Table of Contents 12907 15. Libraries 12908 12909 ------------------------------------------------------------------------------- 12910 12911 Chapter 15. Libraries 12912 12913 The X Libraries should be built thread-safe. 12914 12915 ------------------------------------------------------------------------------- 12916 12917 Interfaces for libX11 12918 12919 Table 15-1. libX11 Definition 12920 12921 +---------------------+ 12922 |Library:|libX11 | 12923 |--------+------------| 12924 |SONAME: |libX11.so.6 | 12925 +---------------------+ 12926 12927 The behavior of the interfaces in this library is specified by the following 12928 standards. 12929 12930 X11R6.4 Xlib - C library[37] 12931 12932 ------------------------------------------------------------------------------- 12933 12934 X Windows System Interface 12935 12936 Table 15-2. libX11 - X Windows System Interface Function Interfaces 12937 12938 +------------------------------------------------------------------------------------------------------------------------+ 12939 |XActivateScreenSaver[37] |XFreePixmap[37] |XSetClipRectangles[37] |XkbAllocCompatMap[37] | 12940 |----------------------------+------------------------------+--------------------------------+---------------------------| 12941 |XAddConnectionWatch[37] |XFreeStringList[37] |XSetCloseDownMode[37] |XkbAllocControls[37] | 12942 |----------------------------+------------------------------+--------------------------------+---------------------------| 12943 |XAddExtension[37] |XGContextFromGC[37] |XSetCommand[37] |XkbAllocGeomColors[37] | 12944 |----------------------------+------------------------------+--------------------------------+---------------------------| 12945 |XAddHost[37] |XGeometry[37] |XSetDashes[37] |XkbAllocGeomDoodads[37] | 12946 |----------------------------+------------------------------+--------------------------------+---------------------------| 12947 |XAddHosts[37] |XGetAtomName[37] |XSetErrorHandler[37] |XkbAllocGeomKeyAliases[37] | 12948 |----------------------------+------------------------------+--------------------------------+---------------------------| 12949 |XAddPixel[37] |XGetAtomNames[37] |XSetFillRule[37] |XkbAllocGeomKeys[37] | 12950 |----------------------------+------------------------------+--------------------------------+---------------------------| 12951 |XAddToExtensionList[37] |XGetClassHint[37] |XSetFillStyle[37] |XkbAllocGeomOutlines[37] | 12952 |----------------------------+------------------------------+--------------------------------+---------------------------| 12953 |XAddToSaveSet[37] |XGetCommand[37] |XSetFont[37] |XkbAllocGeomOverlayKeys[37]| 12954 |----------------------------+------------------------------+--------------------------------+---------------------------| 12955 |XAllPlanes[37] |XGetDefault[37] |XSetFontPath[37] |XkbAllocGeomOverlayRows[37]| 12956 |----------------------------+------------------------------+--------------------------------+---------------------------| 12957 |XAllocClassHint[37] |XGetErrorDatabaseText[37] |XSetForeground[37] |XkbAllocGeomOverlays[37] | 12958 |----------------------------+------------------------------+--------------------------------+---------------------------| 12959 |XAllocColor[37] |XGetErrorText[37] |XSetFunction[37] |XkbAllocGeomPoints[37] | 12960 |----------------------------+------------------------------+--------------------------------+---------------------------| 12961 |XAllocColorCells[37] |XGetFontPath[37] |XSetGraphicsExposures[37] |XkbAllocGeomProps[37] | 12962 |----------------------------+------------------------------+--------------------------------+---------------------------| 12963 |XAllocColorPlanes[37] |XGetFontProperty[37] |XSetICFocus[37] |XkbAllocGeomRows[37] | 12964 |----------------------------+------------------------------+--------------------------------+---------------------------| 12965 |XAllocIconSize[37] |XGetGCValues[37] |XSetICValues[37] |XkbAllocGeomSectionDoodads | 12966 | | | |[37] | 12967 |----------------------------+------------------------------+--------------------------------+---------------------------| 12968 |XAllocNamedColor[37] |XGetGeometry[37] |XSetIMValues[37] |XkbAllocGeomSections[37] | 12969 |----------------------------+------------------------------+--------------------------------+---------------------------| 12970 |XAllocSizeHints[37] |XGetICValues[37] |XSetIOErrorHandler[37] |XkbAllocGeomShapes[37] | 12971 |----------------------------+------------------------------+--------------------------------+---------------------------| 12972 |XAllocStandardColormap[37] |XGetIMValues[37] |XSetIconName[37] |XkbAllocGeometry[37] | 12973 |----------------------------+------------------------------+--------------------------------+---------------------------| 12974 |XAllocWMHints[37] |XGetIconName[37] |XSetIconSizes[37] |XkbAllocIndicatorMaps[37] | 12975 |----------------------------+------------------------------+--------------------------------+---------------------------| 12976 |XAllowEvents[37] |XGetIconSizes[37] |XSetInputFocus[37] |XkbAllocKeyboard[37] | 12977 |----------------------------+------------------------------+--------------------------------+---------------------------| 12978 |XAutoRepeatOff[37] |XGetImage[37] |XSetLineAttributes[37] |XkbAllocNames[37] | 12979 |----------------------------+------------------------------+--------------------------------+---------------------------| 12980 |XAutoRepeatOn[37] |XGetInputFocus[37] |XSetLocaleModifiers[37] |XkbAllocServerMap[37] | 12981 |----------------------------+------------------------------+--------------------------------+---------------------------| 12982 |XBaseFontNameListOfFontSet |XGetKeyboardControl[37] |XSetModifierMapping[37] |XkbApplyCompatMapToKey[37] | 12983 |[37] | | | | 12984 |----------------------------+------------------------------+--------------------------------+---------------------------| 12985 |XBell[37] |XGetKeyboardMapping[37] |XSetNormalHints[37] |XkbBell[37] | 12986 |----------------------------+------------------------------+--------------------------------+---------------------------| 12987 |XBitmapBitOrder[37] |XGetModifierMapping[37] |XSetOCValues[37] |XkbBellEvent[37] | 12988 |----------------------------+------------------------------+--------------------------------+---------------------------| 12989 |XBitmapPad[37] |XGetMotionEvents[37] |XSetOMValues[37] |XkbChangeEnabledControls | 12990 | | | |[37] | 12991 |----------------------------+------------------------------+--------------------------------+---------------------------| 12992 |XBitmapUnit[37] |XGetNormalHints[37] |XSetPlaneMask[37] |XkbChangeMap[37] | 12993 |----------------------------+------------------------------+--------------------------------+---------------------------| 12994 |XBlackPixel[37] |XGetOCValues[37] |XSetPointerMapping[37] |XkbChangeNames[37] | 12995 |----------------------------+------------------------------+--------------------------------+---------------------------| 12996 |XBlackPixelOfScreen[37] |XGetOMValues[37] |XSetRGBColormaps[37] |XkbChangeTypesOfKey[37] | 12997 |----------------------------+------------------------------+--------------------------------+---------------------------| 12998 |XCellsOfScreen[37] |XGetPixel[37] |XSetRegion[37] |XkbComputeEffectiveMap[37] | 12999 |----------------------------+------------------------------+--------------------------------+---------------------------| 13000 |XChangeActivePointerGrab[37]|XGetPointerControl[37] |XSetScreenSaver[37] |XkbComputeRowBounds[37] | 13001 |----------------------------+------------------------------+--------------------------------+---------------------------| 13002 |XChangeGC[37] |XGetPointerMapping[37] |XSetSelectionOwner[37] |XkbComputeSectionBounds[37]| 13003 |----------------------------+------------------------------+--------------------------------+---------------------------| 13004 |XChangeKeyboardControl[37] |XGetRGBColormaps[37] |XSetSizeHints[37] |XkbComputeShapeBounds[37] | 13005 |----------------------------+------------------------------+--------------------------------+---------------------------| 13006 |XChangeKeyboardMapping[37] |XGetScreenSaver[37] |XSetStandardColormap[37] |XkbComputeShapeTop[37] | 13007 |----------------------------+------------------------------+--------------------------------+---------------------------| 13008 |XChangePointerControl[37] |XGetSelectionOwner[37] |XSetStandardProperties[37] |XkbCopyKeyType[37] | 13009 |----------------------------+------------------------------+--------------------------------+---------------------------| 13010 |XChangeProperty[37] |XGetSizeHints[37] |XSetState[37] |XkbCopyKeyTypes[37] | 13011 |----------------------------+------------------------------+--------------------------------+---------------------------| 13012 |XChangeSaveSet[37] |XGetStandardColormap[37] |XSetStipple[37] |XkbFindOverlayForKey[37] | 13013 |----------------------------+------------------------------+--------------------------------+---------------------------| 13014 |XChangeWindowAttributes[37] |XGetSubImage[37] |XSetSubwindowMode[37] |XkbForceBell[37] | 13015 |----------------------------+------------------------------+--------------------------------+---------------------------| 13016 |XCheckIfEvent[37] |XGetTextProperty[37] |XSetTSOrigin[37] |XkbFreeClientMap[37] | 13017 |----------------------------+------------------------------+--------------------------------+---------------------------| 13018 |XCheckMaskEvent[37] |XGetTransientForHint[37] |XSetTextProperty[37] |XkbFreeCompatMap[37] | 13019 |----------------------------+------------------------------+--------------------------------+---------------------------| 13020 |XCheckTypedEvent[37] |XGetVisualInfo[37] |XSetTile[37] |XkbFreeComponentList[37] | 13021 |----------------------------+------------------------------+--------------------------------+---------------------------| 13022 |XCheckTypedWindowEvent[37] |XGetWMClientMachine[37] |XSetTransientForHint[37] |XkbFreeControls[37] | 13023 |----------------------------+------------------------------+--------------------------------+---------------------------| 13024 |XCheckWindowEvent[37] |XGetWMColormapWindows[37] |XSetWMClientMachine[37] |XkbFreeGeomColors[37] | 13025 |----------------------------+------------------------------+--------------------------------+---------------------------| 13026 |XCirculateSubwindows[37] |XGetWMHints[37] |XSetWMColormapWindows[37] |XkbFreeGeomDoodads[37] | 13027 |----------------------------+------------------------------+--------------------------------+---------------------------| 13028 |XCirculateSubwindowsDown[37]|XGetWMIconName[37] |XSetWMHints[37] |XkbFreeGeomKeyAliases[37] | 13029 |----------------------------+------------------------------+--------------------------------+---------------------------| 13030 |XCirculateSubwindowsUp[37] |XGetWMName[37] |XSetWMIconName[37] |XkbFreeGeomKeys[37] | 13031 |----------------------------+------------------------------+--------------------------------+---------------------------| 13032 |XClearArea[37] |XGetWMNormalHints[37] |XSetWMName[37] |XkbFreeGeomOutlines[37] | 13033 |----------------------------+------------------------------+--------------------------------+---------------------------| 13034 |XClearWindow[37] |XGetWMProtocols[37] |XSetWMNormalHints[37] |XkbFreeGeomOverlayKeys[37] | 13035 |----------------------------+------------------------------+--------------------------------+---------------------------| 13036 |XClipBox[37] |XGetWMSizeHints[37] |XSetWMProperties[37] |XkbFreeGeomOverlayRows[37] | 13037 |----------------------------+------------------------------+--------------------------------+---------------------------| 13038 |XCloseDisplay[37] |XGetWindowAttributes[37] |XSetWMProtocols[37] |XkbFreeGeomOverlays[37] | 13039 |----------------------------+------------------------------+--------------------------------+---------------------------| 13040 |XCloseIM[37] |XGetWindowProperty[37] |XSetWMSizeHints[37] |XkbFreeGeomPoints[37] | 13041 |----------------------------+------------------------------+--------------------------------+---------------------------| 13042 |XCloseOM[37] |XGetZoomHints[37] |XSetWindowBackground[37] |XkbFreeGeomProperties[37] | 13043 |----------------------------+------------------------------+--------------------------------+---------------------------| 13044 |XConfigureWindow[37] |XGrabButton[37] |XSetWindowBackgroundPixmap[37] |XkbFreeGeomRows[37] | 13045 |----------------------------+------------------------------+--------------------------------+---------------------------| 13046 |XConnectionNumber[37] |XGrabKey[37] |XSetWindowBorder[37] |XkbFreeGeomSections[37] | 13047 |----------------------------+------------------------------+--------------------------------+---------------------------| 13048 |XContextDependentDrawing[37]|XGrabKeyboard[37] |XSetWindowBorderPixmap[37] |XkbFreeGeomShapes[37] | 13049 |----------------------------+------------------------------+--------------------------------+---------------------------| 13050 |XContextualDrawing[37] |XGrabPointer[37] |XSetWindowBorderWidth[37] |XkbFreeGeometry[37] | 13051 |----------------------------+------------------------------+--------------------------------+---------------------------| 13052 |XConvertCase[37] |XGrabServer[37] |XSetWindowColormap[37] |XkbFreeIndicatorMaps[37] | 13053 |----------------------------+------------------------------+--------------------------------+---------------------------| 13054 |XConvertSelection[37] |XHeightMMOfScreen[37] |XSetZoomHints[37] |XkbFreeKeyboard[37] | 13055 |----------------------------+------------------------------+--------------------------------+---------------------------| 13056 |XCopyArea[37] |XHeightOfScreen[37] |XShrinkRegion[37] |XkbFreeNames[37] | 13057 |----------------------------+------------------------------+--------------------------------+---------------------------| 13058 |XCopyColormapAndFree[37] |XIMOfIC[37] |XStoreBuffer[37] |XkbFreeServerMap[37] | 13059 |----------------------------+------------------------------+--------------------------------+---------------------------| 13060 |XCopyGC[37] |XIconifyWindow[37] |XStoreBytes[37] |XkbGetAutoRepeatRate[37] | 13061 |----------------------------+------------------------------+--------------------------------+---------------------------| 13062 |XCopyPlane[37] |XIfEvent[37] |XStoreColor[37] |XkbGetCompatMap[37] | 13063 |----------------------------+------------------------------+--------------------------------+---------------------------| 13064 |XCreateBitmapFromData[37] |XImageByteOrder[37] |XStoreColors[37] |XkbGetControls[37] | 13065 |----------------------------+------------------------------+--------------------------------+---------------------------| 13066 |XCreateColormap[37] |XInitExtension[37] |XStoreName[37] |XkbGetGeometry[37] | 13067 |----------------------------+------------------------------+--------------------------------+---------------------------| 13068 |XCreateFontCursor[37] |XInitImage[37] |XStoreNamedColor[37] |XkbGetIndicatorMap[37] | 13069 |----------------------------+------------------------------+--------------------------------+---------------------------| 13070 |XCreateFontSet[37] |XInitThreads[37] |XStringListToTextProperty[37] |XkbGetIndicatorState[37] | 13071 |----------------------------+------------------------------+--------------------------------+---------------------------| 13072 |XCreateGC[37] |XInsertModifiermapEntry[37] |XStringToKeysym[37] |XkbGetKeyActions[37] | 13073 |----------------------------+------------------------------+--------------------------------+---------------------------| 13074 |XCreateGlyphCursor[37] |XInstallColormap[37] |XSubImage[37] |XkbGetKeyBehaviors[37] | 13075 |----------------------------+------------------------------+--------------------------------+---------------------------| 13076 |XCreateIC[37] |XInternAtom[37] |XSubtractRegion[37] |XkbGetKeyExplicitComponents| 13077 | | | |[37] | 13078 |----------------------------+------------------------------+--------------------------------+---------------------------| 13079 |XCreateImage[37] |XInternAtoms[37] |XSupportsLocale[37] |XkbGetKeyModifierMap[37] | 13080 |----------------------------+------------------------------+--------------------------------+---------------------------| 13081 |XCreateOC[37] |XInternalConnectionNumbers[37]|XSync[37] |XkbGetKeySyms[37] | 13082 |----------------------------+------------------------------+--------------------------------+---------------------------| 13083 |XCreatePixmap[37] |XIntersectRegion[37] |XSynchronize[37] |XkbGetKeyTypes[37] | 13084 |----------------------------+------------------------------+--------------------------------+---------------------------| 13085 |XCreatePixmapCursor[37] |XKeycodeToKeysym[37] |XTextExtents[37] |XkbGetKeyboard[37] | 13086 |----------------------------+------------------------------+--------------------------------+---------------------------| 13087 |XCreatePixmapFromBitmapData |XKeysymToKeycode[37] |XTextExtents16[37] |XkbGetKeyboardByName[37] | 13088 |[37] | | | | 13089 |----------------------------+------------------------------+--------------------------------+---------------------------| 13090 |XCreateRegion[37] |XKeysymToString[37] |XTextPropertyToStringList[37] |XkbGetMap[37] | 13091 |----------------------------+------------------------------+--------------------------------+---------------------------| 13092 |XCreateSimpleWindow[37] |XKillClient[37] |XTextWidth[37] |XkbGetMapChanges[37] | 13093 |----------------------------+------------------------------+--------------------------------+---------------------------| 13094 |XCreateWindow[37] |XLastKnownRequestProcessed[37]|XTextWidth16[37] |XkbGetNamedGeometry[37] | 13095 |----------------------------+------------------------------+--------------------------------+---------------------------| 13096 |XDefaultColormap[37] |XListDepths[37] |XTranslateCoordinates[37] |XkbGetNamedIndicator[37] | 13097 |----------------------------+------------------------------+--------------------------------+---------------------------| 13098 |XDefaultColormapOfScreen[37]|XListExtensions[37] |XUndefineCursor[37] |XkbGetNames[37] | 13099 |----------------------------+------------------------------+--------------------------------+---------------------------| 13100 |XDefaultDepth[37] |XListFonts[37] |XUngrabButton[37] |XkbGetState[37] | 13101 |----------------------------+------------------------------+--------------------------------+---------------------------| 13102 |XDefaultDepthOfScreen[37] |XListFontsWithInfo[37] |XUngrabKey[37] |XkbGetUpdatedMap[37] | 13103 |----------------------------+------------------------------+--------------------------------+---------------------------| 13104 |XDefaultGC[37] |XListHosts[37] |XUngrabKeyboard[37] |XkbGetVirtualMods[37] | 13105 |----------------------------+------------------------------+--------------------------------+---------------------------| 13106 |XDefaultGCOfScreen[37] |XListInstalledColormaps[37] |XUngrabPointer[37] |XkbGetXlibControls[37] | 13107 |----------------------------+------------------------------+--------------------------------+---------------------------| 13108 |XDefaultRootWindow[37] |XListPixmapFormats[37] |XUngrabServer[37] |XkbIgnoreExtension[37] | 13109 |----------------------------+------------------------------+--------------------------------+---------------------------| 13110 |XDefaultScreen[37] |XListProperties[37] |XUninstallColormap[37] |XkbInitCanonicalKeyTypes | 13111 | | | |[37] | 13112 |----------------------------+------------------------------+--------------------------------+---------------------------| 13113 |XDefaultScreenOfDisplay[37] |XLoadFont[37] |XUnionRectWithRegion[37] |XkbKeyTypesForCoreSymbols | 13114 | | | |[37] | 13115 |----------------------------+------------------------------+--------------------------------+---------------------------| 13116 |XDefaultString[37] |XLoadQueryFont[37] |XUnionRegion[37] |XkbKeycodeToKeysym[37] | 13117 |----------------------------+------------------------------+--------------------------------+---------------------------| 13118 |XDefaultVisual[37] |XLocaleOfFontSet[37] |XUnloadFont[37] |XkbKeysymToModifiers[37] | 13119 |----------------------------+------------------------------+--------------------------------+---------------------------| 13120 |XDefaultVisualOfScreen[37] |XLocaleOfIM[37] |XUnlockDisplay[37] |XkbLatchGroup[37] | 13121 |----------------------------+------------------------------+--------------------------------+---------------------------| 13122 |XDefineCursor[37] |XLocaleOfOM[37] |XUnmapSubwindows[37] |XkbLatchModifiers[37] | 13123 |----------------------------+------------------------------+--------------------------------+---------------------------| 13124 |XDeleteContext[37] |XLockDisplay[37] |XUnmapWindow[37] |XkbLibraryVersion[37] | 13125 |----------------------------+------------------------------+--------------------------------+---------------------------| 13126 |XDeleteModifiermapEntry[37] |XLookupColor[37] |XUnregisterIMInstantiateCallback|XkbListComponents[37] | 13127 | | |[37] | | 13128 |----------------------------+------------------------------+--------------------------------+---------------------------| 13129 |XDeleteProperty[37] |XLookupKeysym[37] |XUnsetICFocus[37] |XkbLockGroup[37] | 13130 |----------------------------+------------------------------+--------------------------------+---------------------------| 13131 |XDestroyIC[37] |XLookupString[37] |XVaCreateNestedList[37] |XkbLockModifiers[37] | 13132 |----------------------------+------------------------------+--------------------------------+---------------------------| 13133 |XDestroyImage[37] |XLowerWindow[37] |XVendorRelease[37] |XkbLookupKeyBinding[37] | 13134 |----------------------------+------------------------------+--------------------------------+---------------------------| 13135 |XDestroyOC[37] |XMapRaised[37] |XVisualIDFromVisual[37] |XkbLookupKeySym[37] | 13136 |----------------------------+------------------------------+--------------------------------+---------------------------| 13137 |XDestroyRegion[37] |XMapSubwindows[37] |XWMGeometry[37] |XkbNoteControlsChanges[37] | 13138 |----------------------------+------------------------------+--------------------------------+---------------------------| 13139 |XDestroySubwindows[37] |XMapWindow[37] |XWarpPointer[37] |XkbNoteMapChanges[37] | 13140 |----------------------------+------------------------------+--------------------------------+---------------------------| 13141 |XDestroyWindow[37] |XMaskEvent[37] |XWhitePixel[37] |XkbNoteNameChanges[37] | 13142 |----------------------------+------------------------------+--------------------------------+---------------------------| 13143 |XDirectionalDependentDrawing|XMatchVisualInfo[37] |XWhitePixelOfScreen[37] |XkbOpenDisplay[37] | 13144 |[37] | | | | 13145 |----------------------------+------------------------------+--------------------------------+---------------------------| 13146 |XDisableAccessControl[37] |XMaxCmapsOfScreen[37] |XWidthMMOfScreen[37] |XkbQueryExtension[37] | 13147 |----------------------------+------------------------------+--------------------------------+---------------------------| 13148 |XDisplayCells[37] |XMaxRequestSize[37] |XWidthOfScreen[37] |XkbRefreshKeyboardMapping | 13149 | | | |[37] | 13150 |----------------------------+------------------------------+--------------------------------+---------------------------| 13151 |XDisplayHeight[37] |XMinCmapsOfScreen[37] |XWindowEvent[37] |XkbResizeKeyActions[37] | 13152 |----------------------------+------------------------------+--------------------------------+---------------------------| 13153 |XDisplayHeightMM[37] |XMoveResizeWindow[37] |XWithdrawWindow[37] |XkbResizeKeySyms[37] | 13154 |----------------------------+------------------------------+--------------------------------+---------------------------| 13155 |XDisplayKeycodes[37] |XMoveWindow[37] |XWriteBitmapFile[37] |XkbResizeKeyType[37] | 13156 |----------------------------+------------------------------+--------------------------------+---------------------------| 13157 |XDisplayMotionBufferSize[37]|XNewModifiermap[37] |XXorRegion[37] |XkbSelectEventDetails[37] | 13158 |----------------------------+------------------------------+--------------------------------+---------------------------| 13159 |XDisplayName[37] |XNextEvent[37] |XauDisposeAuth[37] |XkbSelectEvents[37] | 13160 |----------------------------+------------------------------+--------------------------------+---------------------------| 13161 |XDisplayOfIM[37] |XNextRequest[37] |XauFileName[37] |XkbSetAtomFuncs[37] | 13162 |----------------------------+------------------------------+--------------------------------+---------------------------| 13163 |XDisplayOfOM[37] |XNoOp[37] |XauGetBestAuthByAddr[37] |XkbSetAutoRepeatRate[37] | 13164 |----------------------------+------------------------------+--------------------------------+---------------------------| 13165 |XDisplayOfScreen[37] |XOMOfOC[37] |XauReadAuth[37] |XkbSetAutoResetControls[37]| 13166 |----------------------------+------------------------------+--------------------------------+---------------------------| 13167 |XDisplayPlanes[37] |XOffsetRegion[37] |XcmsAddColorSpace[37] |XkbSetCompatMap[37] | 13168 |----------------------------+------------------------------+--------------------------------+---------------------------| 13169 |XDisplayString[37] |XOpenDisplay[37] |XcmsAddFunctionSet[37] |XkbSetControls[37] | 13170 |----------------------------+------------------------------+--------------------------------+---------------------------| 13171 |XDisplayWidth[37] |XOpenIM[37] |XcmsAllocColor[37] |XkbSetDebuggingFlags[37] | 13172 |----------------------------+------------------------------+--------------------------------+---------------------------| 13173 |XDisplayWidthMM[37] |XOpenOM[37] |XcmsAllocNamedColor[37] |XkbSetDetectableAutoRepeat | 13174 | | | |[37] | 13175 |----------------------------+------------------------------+--------------------------------+---------------------------| 13176 |XDoesBackingStore[37] |XParseColor[37] |XcmsCCCOfColormap[37] |XkbSetGeometry[37] | 13177 |----------------------------+------------------------------+--------------------------------+---------------------------| 13178 |XDoesSaveUnders[37] |XParseGeometry[37] |XcmsCIELabClipL[37] |XkbSetIgnoreLockMods[37] | 13179 |----------------------------+------------------------------+--------------------------------+---------------------------| 13180 |XDrawArc[37] |XPeekEvent[37] |XcmsCIELabClipLab[37] |XkbSetIndicatorMap[37] | 13181 |----------------------------+------------------------------+--------------------------------+---------------------------| 13182 |XDrawArcs[37] |XPeekIfEvent[37] |XcmsCIELabClipab[37] |XkbSetMap[37] | 13183 |----------------------------+------------------------------+--------------------------------+---------------------------| 13184 |XDrawImageString[37] |XPending[37] |XcmsCIELabQueryMaxC[37] |XkbSetNamedIndicator[37] | 13185 |----------------------------+------------------------------+--------------------------------+---------------------------| 13186 |XDrawImageString16[37] |XPlanesOfScreen[37] |XcmsCIELabQueryMaxL[37] |XkbSetNames[37] | 13187 |----------------------------+------------------------------+--------------------------------+---------------------------| 13188 |XDrawLine[37] |XPointInRegion[37] |XcmsCIELabQueryMaxLC[37] |XkbSetServerInternalMods | 13189 | | | |[37] | 13190 |----------------------------+------------------------------+--------------------------------+---------------------------| 13191 |XDrawLines[37] |XPolygonRegion[37] |XcmsCIELabQueryMinL[37] |XkbSetXlibControls[37] | 13192 |----------------------------+------------------------------+--------------------------------+---------------------------| 13193 |XDrawPoint[37] |XProcessInternalConnection[37]|XcmsCIELabToCIEXYZ[37] |XkbToControl[37] | 13194 |----------------------------+------------------------------+--------------------------------+---------------------------| 13195 |XDrawPoints[37] |XProtocolRevision[37] |XcmsCIELabWhiteShiftColors[37] |XkbTranslateKeyCode[37] | 13196 |----------------------------+------------------------------+--------------------------------+---------------------------| 13197 |XDrawRectangle[37] |XProtocolVersion[37] |XcmsCIELuvClipL[37] |XkbTranslateKeySym[37] | 13198 |----------------------------+------------------------------+--------------------------------+---------------------------| 13199 |XDrawRectangles[37] |XPutBackEvent[37] |XcmsCIELuvClipLuv[37] |XkbUpdateMapFromCore[37] | 13200 |----------------------------+------------------------------+--------------------------------+---------------------------| 13201 |XDrawSegments[37] |XPutImage[37] |XcmsCIELuvClipuv[37] |XkbUseExtension[37] | 13202 |----------------------------+------------------------------+--------------------------------+---------------------------| 13203 |XDrawString[37] |XPutPixel[37] |XcmsCIELuvQueryMaxC[37] |XkbVirtualModsToReal[37] | 13204 |----------------------------+------------------------------+--------------------------------+---------------------------| 13205 |XDrawString16[37] |XQLength[37] |XcmsCIELuvQueryMaxL[37] |XmbDrawImageString[37] | 13206 |----------------------------+------------------------------+--------------------------------+---------------------------| 13207 |XDrawText[37] |XQueryBestCursor[37] |XcmsCIELuvQueryMaxLC[37] |XmbDrawString[37] | 13208 |----------------------------+------------------------------+--------------------------------+---------------------------| 13209 |XDrawText16[37] |XQueryBestSize[37] |XcmsCIELuvQueryMinL[37] |XmbDrawText[37] | 13210 |----------------------------+------------------------------+--------------------------------+---------------------------| 13211 |XEHeadOfExtensionList[37] |XQueryBestStipple[37] |XcmsCIELuvToCIEuvY[37] |XmbLookupString[37] | 13212 |----------------------------+------------------------------+--------------------------------+---------------------------| 13213 |XESetBeforeFlush[37] |XQueryBestTile[37] |XcmsCIELuvWhiteShiftColors[37] |XmbResetIC[37] | 13214 |----------------------------+------------------------------+--------------------------------+---------------------------| 13215 |XESetCloseDisplay[37] |XQueryColor[37] |XcmsCIEXYZToCIELab[37] |XmbSetWMProperties[37] | 13216 |----------------------------+------------------------------+--------------------------------+---------------------------| 13217 |XESetCopyGC[37] |XQueryColors[37] |XcmsCIEXYZToCIEuvY[37] |XmbTextEscapement[37] | 13218 |----------------------------+------------------------------+--------------------------------+---------------------------| 13219 |XESetCreateFont[37] |XQueryExtension[37] |XcmsCIEXYZToCIExyY[37] |XmbTextExtents[37] | 13220 |----------------------------+------------------------------+--------------------------------+---------------------------| 13221 |XESetCreateGC[37] |XQueryFont[37] |XcmsCIEXYZToRGBi[37] |XmbTextListToTextProperty | 13222 | | | |[37] | 13223 |----------------------------+------------------------------+--------------------------------+---------------------------| 13224 |XESetError[37] |XQueryKeymap[37] |XcmsCIEuvYToCIELuv[37] |XmbTextPerCharExtents[37] | 13225 |----------------------------+------------------------------+--------------------------------+---------------------------| 13226 |XESetErrorString[37] |XQueryPointer[37] |XcmsCIEuvYToCIEXYZ[37] |XmbTextPropertyToTextList | 13227 | | | |[37] | 13228 |----------------------------+------------------------------+--------------------------------+---------------------------| 13229 |XESetEventToWire[37] |XQueryTextExtents[37] |XcmsCIEuvYToTekHVC[37] |XrmCombineDatabase[37] | 13230 |----------------------------+------------------------------+--------------------------------+---------------------------| 13231 |XESetFlushGC[37] |XQueryTextExtents16[37] |XcmsCIExyYToCIEXYZ[37] |XrmCombineFileDatabase[37] | 13232 |----------------------------+------------------------------+--------------------------------+---------------------------| 13233 |XESetFreeFont[37] |XQueryTree[37] |XcmsClientWhitePointOfCCC[37] |XrmDestroyDatabase[37] | 13234 |----------------------------+------------------------------+--------------------------------+---------------------------| 13235 |XESetFreeGC[37] |XRaiseWindow[37] |XcmsConvertColors[37] |XrmEnumerateDatabase[37] | 13236 |----------------------------+------------------------------+--------------------------------+---------------------------| 13237 |XESetPrintErrorValues[37] |XReadBitmapFile[37] |XcmsCreateCCC[37] |XrmGetDatabase[37] | 13238 |----------------------------+------------------------------+--------------------------------+---------------------------| 13239 |XESetWireToError[37] |XReadBitmapFileData[37] |XcmsDefaultCCC[37] |XrmGetFileDatabase[37] | 13240 |----------------------------+------------------------------+--------------------------------+---------------------------| 13241 |XESetWireToEvent[37] |XRebindKeysym[37] |XcmsDisplayOfCCC[37] |XrmGetResource[37] | 13242 |----------------------------+------------------------------+--------------------------------+---------------------------| 13243 |XEmptyRegion[37] |XRecolorCursor[37] |XcmsFormatOfPrefix[37] |XrmGetStringDatabase[37] | 13244 |----------------------------+------------------------------+--------------------------------+---------------------------| 13245 |XEnableAccessControl[37] |XReconfigureWMWindow[37] |XcmsFreeCCC[37] |XrmInitialize[37] | 13246 |----------------------------+------------------------------+--------------------------------+---------------------------| 13247 |XEqualRegion[37] |XRectInRegion[37] |XcmsLookupColor[37] |XrmLocaleOfDatabase[37] | 13248 |----------------------------+------------------------------+--------------------------------+---------------------------| 13249 |XEventMaskOfScreen[37] |XRefreshKeyboardMapping[37] |XcmsPrefixOfFormat[37] |XrmMergeDatabases[37] | 13250 |----------------------------+------------------------------+--------------------------------+---------------------------| 13251 |XEventsQueued[37] |XRegisterIMInstantiateCallback|XcmsQueryBlack[37] |XrmParseCommand[37] | 13252 | |[37] | | | 13253 |----------------------------+------------------------------+--------------------------------+---------------------------| 13254 |XExtendedMaxRequestSize[37] |XRemoveConnectionWatch[37] |XcmsQueryBlue[37] |XrmPermStringToQuark[37] | 13255 |----------------------------+------------------------------+--------------------------------+---------------------------| 13256 |XExtentsOfFontSet[37] |XRemoveFromSaveSet[37] |XcmsQueryColor[37] |XrmPutFileDatabase[37] | 13257 |----------------------------+------------------------------+--------------------------------+---------------------------| 13258 |XFetchBuffer[37] |XRemoveHost[37] |XcmsQueryColors[37] |XrmPutLineResource[37] | 13259 |----------------------------+------------------------------+--------------------------------+---------------------------| 13260 |XFetchBytes[37] |XRemoveHosts[37] |XcmsQueryGreen[37] |XrmPutResource[37] | 13261 |----------------------------+------------------------------+--------------------------------+---------------------------| 13262 |XFetchName[37] |XReparentWindow[37] |XcmsQueryRed[37] |XrmPutStringResource[37] | 13263 |----------------------------+------------------------------+--------------------------------+---------------------------| 13264 |XFillArc[37] |XResetScreenSaver[37] |XcmsQueryWhite[37] |XrmQGetResource[37] | 13265 |----------------------------+------------------------------+--------------------------------+---------------------------| 13266 |XFillArcs[37] |XResizeWindow[37] |XcmsRGBToRGBi[37] |XrmQGetSearchList[37] | 13267 |----------------------------+------------------------------+--------------------------------+---------------------------| 13268 |XFillPolygon[37] |XResourceManagerString[37] |XcmsRGBiToCIEXYZ[37] |XrmQGetSearchResource[37] | 13269 |----------------------------+------------------------------+--------------------------------+---------------------------| 13270 |XFillRectangle[37] |XRestackWindows[37] |XcmsRGBiToRGB[37] |XrmQPutResource[37] | 13271 |----------------------------+------------------------------+--------------------------------+---------------------------| 13272 |XFillRectangles[37] |XRootWindow[37] |XcmsScreenNumberOfCCC[37] |XrmQPutStringResource[37] | 13273 |----------------------------+------------------------------+--------------------------------+---------------------------| 13274 |XFilterEvent[37] |XRootWindowOfScreen[37] |XcmsScreenWhitePointOfCCC[37] |XrmQuarkToString[37] | 13275 |----------------------------+------------------------------+--------------------------------+---------------------------| 13276 |XFindContext[37] |XRotateBuffers[37] |XcmsSetCCCOfColormap[37] |XrmSetDatabase[37] | 13277 |----------------------------+------------------------------+--------------------------------+---------------------------| 13278 |XFindOnExtensionList[37] |XRotateWindowProperties[37] |XcmsSetCompressionProc[37] |XrmStringToBindingQuarkList| 13279 | | | |[37] | 13280 |----------------------------+------------------------------+--------------------------------+---------------------------| 13281 |XFlush[37] |XSaveContext[37] |XcmsSetWhiteAdjustProc[37] |XrmStringToQuark[37] | 13282 |----------------------------+------------------------------+--------------------------------+---------------------------| 13283 |XFlushGC[37] |XScreenCount[37] |XcmsSetWhitePoint[37] |XrmStringToQuarkList[37] | 13284 |----------------------------+------------------------------+--------------------------------+---------------------------| 13285 |XFontsOfFontSet[37] |XScreenNumberOfScreen[37] |XcmsStoreColor[37] |XrmUniqueQuark[37] | 13286 |----------------------------+------------------------------+--------------------------------+---------------------------| 13287 |XForceScreenSaver[37] |XScreenOfDisplay[37] |XcmsStoreColors[37] |Xutf8TextListToTextProperty| 13288 |----------------------------+------------------------------+--------------------------------+---------------------------| 13289 |XFree[37] |XScreenResourceString[37] |XcmsTekHVCClipC[37] |Xutf8TextPropertyToTextList| 13290 |----------------------------+------------------------------+--------------------------------+---------------------------| 13291 |XFreeColormap[37] |XSelectInput[37] |XcmsTekHVCClipV[37] |XwcDrawImageString[37] | 13292 |----------------------------+------------------------------+--------------------------------+---------------------------| 13293 |XFreeColors[37] |XSendEvent[37] |XcmsTekHVCClipVC[37] |XwcDrawString[37] | 13294 |----------------------------+------------------------------+--------------------------------+---------------------------| 13295 |XFreeCursor[37] |XServerVendor[37] |XcmsTekHVCQueryMaxC[37] |XwcDrawText[37] | 13296 |----------------------------+------------------------------+--------------------------------+---------------------------| 13297 |XFreeExtensionList[37] |XSetAccessControl[37] |XcmsTekHVCQueryMaxV[37] |XwcFreeStringList[37] | 13298 |----------------------------+------------------------------+--------------------------------+---------------------------| 13299 |XFreeFont[37] |XSetAfterFunction[37] |XcmsTekHVCQueryMaxVC[37] |XwcLookupString[37] | 13300 |----------------------------+------------------------------+--------------------------------+---------------------------| 13301 |XFreeFontInfo[37] |XSetArcMode[37] |XcmsTekHVCQueryMaxVSamples[37] |XwcResetIC[37] | 13302 |----------------------------+------------------------------+--------------------------------+---------------------------| 13303 |XFreeFontNames[37] |XSetAuthorization[37] |XcmsTekHVCQueryMinV[37] |XwcTextEscapement[37] | 13304 |----------------------------+------------------------------+--------------------------------+---------------------------| 13305 |XFreeFontPath[37] |XSetBackground[37] |XcmsTekHVCToCIEuvY[37] |XwcTextExtents[37] | 13306 |----------------------------+------------------------------+--------------------------------+---------------------------| 13307 |XFreeFontSet[37] |XSetClassHint[37] |XcmsTekHVCWhiteShiftColors[37] |XwcTextListToTextProperty | 13308 | | | |[37] | 13309 |----------------------------+------------------------------+--------------------------------+---------------------------| 13310 |XFreeGC[37] |XSetClipMask[37] |XcmsVisualOfCCC[37] |XwcTextPerCharExtents[37] | 13311 |----------------------------+------------------------------+--------------------------------+---------------------------| 13312 |XFreeModifiermap[37] |XSetClipOrigin[37] |XkbAllocClientMap[37] |XwcTextPropertyToTextList | 13313 | | | |[37] | 13314 +------------------------------------------------------------------------------------------------------------------------+ 13315 ------------------------------------------------------------------------------- 13316 13317 Data Definitions for libX11 13318 13319 This section contains standard data definitions that describe system data. 13320 These definitions are organized into groups that correspond to system headers. 13321 This convention is used as a convenience for the reader, and does not imply the 13322 existence of these headers, or their content. 13323 13324 ISO C serves as the LSB reference programming language, and data definitions 13325 are specified in ISO C format. The C language is used here as a convenient 13326 notation. Using a C language description of these data objects does not 13327 preclude their use by other programming languages. 13328 13329 ------------------------------------------------------------------------------- 13330 13331 X11/X.h 13332 13333 13334 13335 13336 13337 13338 typedef unsigned long XID; 13339 typedef unsigned long Atom; 13340 typedef unsigned long VisualID; 13341 typedef unsigned long Time; 13342 typedef XID Window; 13343 typedef XID Font; 13344 typedef XID Pixmap; 13345 typedef unsigned char KeyCode; 13346 typedef XID Drawable; 13347 typedef XID Cursor; 13348 typedef XID Colormap; 13349 typedef XID GContext; 13350 typedef XID KeySym; 13351 #define AllTemporary 0L 13352 #define AnyButton 0L 13353 #define AnyKey 0L 13354 #define AnyPropertyType 0L 13355 #define CopyFromParent 0L 13356 #define CurrentTime 0L 13357 #define NoSymbol 0L 13358 #define None 0L 13359 #define PointerWindow 0L 13360 #define InputFocus 1L 13361 #define ParentRelative 1L 13362 #define PointerRoot 1L 13363 13364 13365 13366 #define KeyPressMask (1L<<0) 13367 #define KeyReleaseMask (1L<<1) 13368 #define Button3MotionMask (1L<<10) 13369 #define Button4MotionMask (1L<<11) 13370 #define Button5MotionMask (1L<<12) 13371 #define ButtonMotionMask (1L<<13) 13372 #define KeymapStateMask (1L<<14) 13373 #define ExposureMask (1L<<15) 13374 #define VisibilityChangeMask (1L<<16) 13375 #define StructureNotifyMask (1L<<17) 13376 #define ResizeRedirectMask (1L<<18) 13377 #define SubstructureNotifyMask (1L<<19) 13378 #define ButtonPressMask (1L<<2) 13379 #define SubstructureRedirectMask (1L<<20) 13380 #define FocusChangeMask (1L<<21) 13381 #define PropertyChangeMask (1L<<22) 13382 #define ColormapChangeMask (1L<<23) 13383 #define ButtonReleaseMask (1L<<3) 13384 #define EnterWindowMask (1L<<4) 13385 #define LeaveWindowMask (1L<<5) 13386 #define PointerMotionMask (1L<<6) 13387 #define PointerMotionHintMask (1L<<7) 13388 #define Button1MotionMask (1L<<8) 13389 #define Button2MotionMask (1L<<9) 13390 13391 13392 13393 #define NoEventMask 0L 13394 #define FocusOut 10 13395 #define KeymapNotify 11 13396 #define Expose 12 13397 #define GraphicsExpose 13 13398 #define NoExpose 14 13399 #define VisibilityNotify 15 13400 #define CreateNotify 16 13401 #define DestroyNotify 17 13402 #define UnmapNotify 18 13403 #define MapNotify 19 13404 #define KeyPress 2 13405 #define MapRequest 20 13406 #define ReparentNotify 21 13407 #define ConfigureNotify 22 13408 #define ConfigureRequest 23 13409 #define GravityNotify 24 13410 #define ResizeRequest 25 13411 #define CirculateNotify 26 13412 #define CirculateRequest 27 13413 #define PropertyNotify 28 13414 #define SelectionClear 29 13415 #define KeyRelease 3 13416 #define SelectionRequest 30 13417 #define SelectionNotify 31 13418 #define ColormapNotify 32 13419 #define ClientMessage 33 13420 #define MappingNotify 34 13421 #define LASTEvent 35 13422 #define ButtonPress 4 13423 #define ButtonRelease 5 13424 #define MotionNotify 6 13425 #define EnterNotify 7 13426 #define LeaveNotify 8 13427 #define FocusIn 9 13428 13429 13430 13431 #define ShiftMask (1<<0) 13432 #define LockMask (1<<1) 13433 #define ControlMask (1<<2) 13434 #define Mod1Mask (1<<3) 13435 #define Mod2Mask (1<<4) 13436 #define Mod3Mask (1<<5) 13437 #define Mod4Mask (1<<6) 13438 #define Mod5Mask (1<<7) 13439 13440 13441 13442 #define ShiftMapIndex 0 13443 #define LockMapIndex 1 13444 #define ControlMapIndex 2 13445 #define Mod1MapIndex 3 13446 #define Mod2MapIndex 4 13447 #define Mod3MapIndex 5 13448 #define Mod4MapIndex 6 13449 #define Mod5MapIndex 7 13450 13451 13452 13453 #define Button3Mask (1<<10) 13454 #define Button4Mask (1<<11) 13455 #define Button5Mask (1<<12) 13456 #define AnyModifier (1<<15) 13457 #define Button1Mask (1<<8) 13458 #define Button2Mask (1<<9) 13459 13460 13461 13462 #define Button1 1 13463 #define Button2 2 13464 #define Button3 3 13465 #define Button4 4 13466 #define Button5 5 13467 13468 13469 13470 #define NotifyNormal 0 13471 #define NotifyGrab 1 13472 #define NotifyHint 1 13473 #define NotifyUngrab 2 13474 #define NotifyWhileGrabbed 3 13475 13476 13477 13478 #define NotifyAncestor 0 13479 #define NotifyVirtual 1 13480 #define NotifyInferior 2 13481 #define NotifyNonlinear 3 13482 #define NotifyNonlinearVirtual 4 13483 #define NotifyPointer 5 13484 #define NotifyPointerRoot 6 13485 #define NotifyDetailNone 7 13486 13487 13488 13489 #define VisibilityUnobscured 0 13490 #define VisibilityPartiallyObscured 1 13491 #define VisibilityFullyObscured 2 13492 13493 13494 13495 #define PlaceOnTop 0 13496 #define PlaceOnBottom 1 13497 13498 13499 13500 #define FamilyInternet 0 13501 #define FamilyDECnet 1 13502 #define FamilyChaos 2 13503 13504 13505 13506 #define PropModeReplace 0 13507 #define PropertyNewValue 0 13508 #define PropertyDelete 1 13509 13510 13511 13512 #define ColormapUninstalled 0 13513 #define ColormapInstalled 1 13514 13515 13516 13517 #define GrabModeSync 0 13518 #define GrabModeAsync 1 13519 13520 13521 13522 #define GrabSuccess 0 13523 #define AlreadyGrabbed 1 13524 #define GrabInvalidTime 2 13525 #define GrabNotViewable 3 13526 #define GrabFrozen 4 13527 13528 13529 13530 #define AsyncPointer 0 13531 #define SyncPointer 1 13532 #define ReplayPointer 2 13533 #define AsyncKeyboard 3 13534 #define SyncKeyboard 4 13535 #define ReplayKeyboard 5 13536 #define AsyncBoth 6 13537 #define SyncBoth 7 13538 13539 13540 13541 #define RevertToNone (int)None 13542 #define RevertToPointerRoot (int)PointerRoot 13543 #define RevertToParent 2 13544 13545 13546 13547 #define Success 0 13548 #define BadRequest 1 13549 #define BadAccess 10 13550 #define BadAlloc 11 13551 #define BadColor 12 13552 #define FirstExtensionError 128 13553 #define BadGC 13 13554 #define BadIDChoice 14 13555 #define BadName 15 13556 #define BadLength 16 13557 #define BadImplementation 17 13558 #define BadValue 2 13559 #define LastExtensionError 255 13560 #define BadWindow 3 13561 #define BadPixmap 4 13562 #define BadAtom 5 13563 #define BadCursor 6 13564 #define BadFont 7 13565 #define BadMatch 8 13566 #define BadDrawable 9 13567 13568 13569 13570 #define CWX (1<<0) 13571 #define InputOutput 1 13572 #define InputOnly 2 13573 13574 13575 13576 #define CWBackPixmap (1L<<0) 13577 #define CWBackPixel (1L<<1) 13578 #define CWSaveUnder (1L<<10) 13579 #define CWEventMask (1L<<11) 13580 #define CWDontPropagate (1L<<12) 13581 #define CWColormap (1L<<13) 13582 #define CWCursor (1L<<14) 13583 #define CWBorderPixmap (1L<<2) 13584 #define CWBorderPixel (1L<<3) 13585 #define CWBitGravity (1L<<4) 13586 #define CWWinGravity (1L<<5) 13587 #define CWBackingStore (1L<<6) 13588 #define CWBackingPlanes (1L<<7) 13589 #define CWBackingPixel (1L<<8) 13590 #define CWOverrideRedirect (1L<<9) 13591 13592 13593 13594 #define CWY (1<<1) 13595 #define CWWidth (1<<2) 13596 #define CWHeight (1<<3) 13597 #define CWBorderWidth (1<<4) 13598 #define CWSibling (1<<5) 13599 #define CWStackMode (1<<6) 13600 13601 13602 13603 #define ForgetGravity 0 13604 #define UnmapGravity 0 13605 #define NorthWestGravity 1 13606 #define StaticGravity 10 13607 #define NorthGravity 2 13608 #define NorthEastGravity 3 13609 #define WestGravity 4 13610 #define CenterGravity 5 13611 #define EastGravity 6 13612 #define SouthWestGravity 7 13613 #define SouthGravity 8 13614 #define SouthEastGravity 9 13615 13616 13617 13618 13619 13620 13621 #define NotUseful 0 13622 #define WhenMapped 1 13623 #define Always 2 13624 13625 13626 13627 #define IsUnmapped 0 13628 #define IsUnviewable 1 13629 #define IsViewable 2 13630 13631 13632 13633 #define SetModeInsert 0 13634 #define SetModeDelete 1 13635 13636 13637 13638 #define DestroyAll 0 13639 #define RetainPermanent 1 13640 #define RetainTemporary 2 13641 13642 13643 13644 #define Above 0 13645 #define Below 1 13646 #define TopIf 2 13647 #define BottomIf 3 13648 13649 13650 13651 #define RaiseLowest 0 13652 #define LowerHighest 1 13653 13654 13655 13656 #define PropModePrepend 1 13657 #define PropModeAppend 2 13658 13659 13660 13661 13662 13663 13664 #define GXclear 0x0 13665 #define GXand 0x1 13666 #define GXandReverse 0x2 13667 #define GXcopy 0x3 13668 #define GXandInverted 0x4 13669 #define GXnoop 0x5 13670 #define GXxor 0x6 13671 #define GXor 0x7 13672 #define GXnor 0x8 13673 #define GXequiv 0x9 13674 #define GXinvert 0xa 13675 #define GXorReverse 0xb 13676 #define GXcopyInverted 0xc 13677 #define GXorInverted 0xd 13678 #define GXnand 0xe 13679 #define GXset 0xf 13680 13681 13682 13683 #define LineSolid 0 13684 #define LineOnOffDash 1 13685 #define LineDoubleDash 2 13686 13687 13688 13689 #define CapNotLast 0 13690 #define CapButt 1 13691 #define CapRound 2 13692 #define CapProjecting 3 13693 13694 13695 13696 #define JoinMiter 0 13697 #define JoinRound 1 13698 #define JoinBevel 2 13699 13700 13701 13702 #define FillSolid 0 13703 #define FillTiled 1 13704 #define FillStippled 2 13705 #define FillOpaqueStippled 3 13706 13707 13708 13709 #define EvenOddRule 0 13710 #define WindingRule 1 13711 13712 13713 13714 #define ClipByChildren 0 13715 #define IncludeInferiors 1 13716 13717 13718 13719 #define Unsorted 0 13720 #define XYBitmap 0 13721 #define YSorted 1 13722 #define YXSorted 2 13723 #define YXBanded 3 13724 13725 13726 13727 #define CoordModeOrigin 0 13728 #define CoordModePrevious 1 13729 13730 13731 13732 #define Complex 0 13733 #define Nonconvex 1 13734 #define Convex 2 13735 13736 13737 13738 #define ArcChord 0 13739 #define ArcPieSlice 1 13740 13741 13742 13743 #define GCFunction (1L<<0) 13744 #define GCPlaneMask (1L<<1) 13745 #define GCTile (1L<<10) 13746 #define GCStipple (1L<<11) 13747 #define GCTileStipXOrigin (1L<<12) 13748 #define GCTileStipYOrigin (1L<<13) 13749 #define GCFont (1L<<14) 13750 #define GCSubwindowMode (1L<<15) 13751 #define GCGraphicsExposures (1L<<16) 13752 #define GCClipXOrigin (1L<<17) 13753 #define GCClipYOrigin (1L<<18) 13754 #define GCClipMask (1L<<19) 13755 #define GCForeground (1L<<2) 13756 #define GCDashOffset (1L<<20) 13757 #define GCDashList (1L<<21) 13758 #define GCArcMode (1L<<22) 13759 #define GCBackground (1L<<3) 13760 #define GCLineWidth (1L<<4) 13761 #define GCLineStyle (1L<<5) 13762 #define GCCapStyle (1L<<6) 13763 #define GCJoinStyle (1L<<7) 13764 #define GCFillStyle (1L<<8) 13765 #define GCFillRule (1L<<9) 13766 #define GCLastBit 22 13767 #define FontChange 255 13768 13769 13770 13771 13772 13773 13774 #define FontLeftToRight 0 13775 #define FontRightToLeft 1 13776 13777 13778 13779 13780 13781 13782 #define XYPixmap 1 13783 #define ZPixmap 2 13784 13785 13786 13787 13788 13789 13790 #define AllocNone 0 13791 #define AllocAll 1 13792 13793 13794 13795 #define DoRed (1<<0) 13796 #define DoGreen (1<<1) 13797 #define DoBlue (1<<2) 13798 13799 13800 13801 13802 13803 13804 #define CursorShape 0 13805 #define TileShape 1 13806 #define StippleShape 2 13807 13808 13809 13810 #define AutoRepeatModeOff 0 13811 #define LedModeOff 0 13812 #define AutoRepeatModeOn 1 13813 #define LedModeOn 1 13814 #define AutoRepeatModeDefault 2 13815 13816 13817 13818 #define KBKeyClickPercent (1L<<0) 13819 #define KBBellPercent (1L<<1) 13820 #define KBBellPitch (1L<<2) 13821 #define KBBellDuration (1L<<3) 13822 #define KBLed (1L<<4) 13823 #define KBLedMode (1L<<5) 13824 #define KBKey (1L<<6) 13825 #define KBAutoRepeatMode (1L<<7) 13826 #define MappingModifier 0 13827 #define MappingSuccess 0 13828 #define MappingBusy 1 13829 #define MappingKeyboard 1 13830 #define MappingFailed 2 13831 #define MappingPointer 2 13832 13833 13834 13835 #define DisableScreenInterval 0 13836 #define DisableScreenSaver 0 13837 #define DontAllowExposures 0 13838 #define DontPreferBlanking 0 13839 #define AllowExposures 1 13840 #define PreferBlanking 1 13841 #define DefaultBlanking 2 13842 #define DefaultExposures 2 13843 13844 13845 13846 #define ScreenSaverReset 0 13847 #define ScreenSaverActive 1 13848 13849 13850 13851 13852 13853 13854 #define HostInsert 0 13855 #define HostDelete 1 13856 13857 13858 13859 #define DisableAccess 0 13860 #define EnableAccess 1 13861 13862 13863 13864 #define StaticGray 0 13865 #define GrayScale 1 13866 #define StaticColor 2 13867 #define PseudoColor 3 13868 #define TrueColor 4 13869 #define DirectColor 5 13870 13871 13872 13873 #define LSBFirst 0 13874 #define MSBFirst 1 13875 ------------------------------------------------------------------------------- 13876 13877 X11/Xauth.h 13878 13879 13880 13881 typedef struct xauth 13882 { 13883 unsigned short family; 13884 unsigned short address_length; 13885 char *address; 13886 unsigned short number_length; 13887 char *number; 13888 unsigned short name_length; 13889 char *name; 13890 unsigned short data_length; 13891 char *data; 13892 } 13893 Xauth; 13894 ------------------------------------------------------------------------------- 13895 13896 X11/Xcms.h 13897 13898 13899 13900 typedef struct _XcmsFunctionSet 13901 { 13902 XcmsColorSpace **DDColorSpaces; 13903 XcmsScreenInitProc screenInitProc; 13904 XcmsScreenFreeProc screenFreeProc; 13905 } 13906 XcmsFunctionSet; 13907 13908 13909 typedef unsigned long XcmsColorFormat; 13910 typedef double XcmsFloat; 13911 typedef struct 13912 { 13913 unsigned short red; 13914 unsigned short green; 13915 unsigned short blue; 13916 } 13917 XcmsRGB; 13918 typedef struct 13919 { 13920 XcmsFloat red; 13921 XcmsFloat green; 13922 XcmsFloat blue; 13923 } 13924 XcmsRGBi; 13925 typedef struct 13926 { 13927 XcmsFloat X; 13928 XcmsFloat Y; 13929 XcmsFloat Z; 13930 } 13931 XcmsCIEXYZ; 13932 typedef struct 13933 { 13934 XcmsFloat u_prime; 13935 XcmsFloat v_prime; 13936 XcmsFloat Y; 13937 } 13938 XcmsCIEuvY; 13939 typedef struct 13940 { 13941 XcmsFloat x; 13942 XcmsFloat y; 13943 XcmsFloat Y; 13944 } 13945 XcmsCIExyY; 13946 typedef struct 13947 { 13948 XcmsFloat L_star; 13949 XcmsFloat a_star; 13950 XcmsFloat b_star; 13951 } 13952 XcmsCIELab; 13953 typedef struct 13954 { 13955 XcmsFloat L_star; 13956 XcmsFloat u_star; 13957 XcmsFloat v_star; 13958 } 13959 XcmsCIELuv; 13960 typedef struct 13961 { 13962 XcmsFloat H; 13963 XcmsFloat V; 13964 XcmsFloat C; 13965 } 13966 XcmsTekHVC; 13967 typedef struct 13968 { 13969 XcmsFloat pad0; 13970 XcmsFloat pad1; 13971 XcmsFloat pad2; 13972 XcmsFloat pad3; 13973 } 13974 XcmsPad; 13975 13976 13977 typedef union 13978 { 13979 XcmsRGB RGB; 13980 XcmsRGBi RGBi; 13981 XcmsCIEXYZ CIEXYZ; 13982 XcmsCIEuvY CIEuvY; 13983 XcmsCIExyY CIExyY; 13984 XcmsCIELab CIELab; 13985 XcmsCIELuv CIELuv; 13986 XcmsTekHVC TekHVC; 13987 XcmsPad Pad; 13988 } 13989 XcmsColor; 13990 13991 13992 typedef struct _XcmsPerScrnInfo 13993 { 13994 XcmsColor screenWhitePt; 13995 XPointer functionSet; 13996 XPointer screenData; 13997 unsigned char state; 13998 char pad[1]; 13999 } 14000 XcmsPerScrnInfo; 14001 14002 14003 typedef int (*XcmsCompressionProc) (void); 14004 typedef int (*XcmsWhiteAdjustProc) (void); 14005 typedef int (*XcmsScreenInitProc) (void); 14006 typedef void (*XcmsScreenFreeProc) (void); 14007 typedef int (*XcmsConversionProc) (void); 14008 typedef int (*XcmsParseStringProc) (void); 14009 14010 14011 typedef struct _XcmsCCC 14012 { 14013 Display *dpy; 14014 int screenNumber; 14015 Visual *visual; 14016 XcmsColor clientWhitePt; 14017 XcmsCompressionProc gamutCompProc; 14018 XPointer gamutCompClientData; 14019 XcmsWhiteAdjustProc whitePtAdjProc; 14020 XPointer whitePtAdjClientData; 14021 XcmsPerScrnInfo *pPerScrnInfo; 14022 } 14023 *XcmsCCC; 14024 14025 14026 typedef XcmsConversionProc *XcmsFuncListPtr; 14027 14028 14029 typedef struct _XcmsColorSpace 14030 { 14031 char *prefix; 14032 XcmsColorFormat id; 14033 XcmsParseStringProc parseString; 14034 XcmsFuncListPtr to_CIEXYZ; 14035 XcmsFuncListPtr from_CIEXYZ; 14036 int inverse_flag; 14037 } 14038 XcmsColorSpace; 14039 ------------------------------------------------------------------------------- 14040 14041 X11/Xlib.h 14042 14043 14044 14045 struct _XDisplay; 14046 typedef struct XColor; 14047 typedef void *XVaNestedList; 14048 typedef int (*XErrorHandler) (void); 14049 typedef int (*XIOErrorHandler) (void); 14050 typedef void (*XConnectionWatchProc) (void); 14051 14052 14053 typedef char *XPointer; 14054 14055 14056 typedef struct _XExtData 14057 { 14058 int number; 14059 struct _XExtData *next; 14060 int (*free_private) (struct _XExtData * extension); 14061 XPointer private_data; 14062 } 14063 XExtData; 14064 typedef struct XExtCodes; 14065 14066 14067 typedef struct XPixmapFormatValues; 14068 14069 14070 typedef struct XGCValues; 14071 14072 14073 typedef struct _XGC *GC; 14074 14075 14076 typedef struct Visual; 14077 14078 14079 typedef struct Depth; 14080 14081 14082 typedef struct Screen; 14083 14084 14085 typedef struct ScreenFormat; 14086 14087 14088 typedef struct XSetWindowAttributes; 14089 typedef struct XWindowAttributes; 14090 14091 14092 typedef struct XHostAddress; 14093 14094 14095 typedef struct _XImage 14096 { 14097 int width; 14098 int height; 14099 int xoffset; 14100 int format; 14101 char *data; 14102 int byte_order; 14103 int bitmap_unit; 14104 int bitmap_bit_order; 14105 int bitmap_pad; 14106 int depth; 14107 int bytes_per_line; 14108 int bits_per_pixel; 14109 unsigned long red_mask; 14110 unsigned long green_mask; 14111 unsigned long blue_mask; 14112 XPointer obdata; 14113 struct funcs f; 14114 } 14115 XImage; 14116 14117 14118 typedef struct XWindowChanges; 14119 14120 14121 typedef struct XSegment; 14122 typedef struct XPoint; 14123 typedef struct XRectangle; 14124 typedef struct XArc; 14125 14126 14127 typedef struct XKeyboardControl; 14128 14129 14130 typedef struct XKeyboardState; 14131 14132 14133 typedef struct XTimeCoord; 14134 14135 14136 typedef struct XModifierKeymap; 14137 14138 14139 typedef struct _XDisplay Display; 14140 14141 14142 typedef struct XKeyEvent; 14143 typedef XKeyEvent XKeyPressedEvent; 14144 typedef XKeyEvent XKeyReleasedEvent; 14145 typedef struct XButtonEvent; 14146 typedef XButtonEvent XButtonPressedEvent; 14147 typedef XButtonEvent XButtonReleasedEvent; 14148 typedef struct XMotionEvent; 14149 typedef XMotionEvent XPointerMovedEvent; 14150 typedef struct XCrossingEvent; 14151 typedef XCrossingEvent XEnterWindowEvent; 14152 typedef XCrossingEvent XLeaveWindowEvent; 14153 typedef struct XFocusChangeEvent; 14154 typedef XFocusChangeEvent XFocusInEvent; 14155 typedef XFocusChangeEvent XFocusOutEvent; 14156 typedef struct XKeymapEvent; 14157 typedef struct XExposeEvent; 14158 typedef struct XGraphicsExposeEvent; 14159 typedef struct XNoExposeEvent; 14160 typedef struct XVisibilityEvent; 14161 typedef struct XCreateWindowEvent; 14162 typedef struct XDestroyWindowEvent; 14163 typedef struct XUnmapEvent; 14164 typedef struct XMapEvent; 14165 typedef struct XMapRequestEvent; 14166 typedef struct XReparentEvent; 14167 typedef struct XConfigureEvent; 14168 typedef struct XGravityEvent; 14169 typedef struct XResizeRequestEvent; 14170 typedef struct XConfigureRequestEvent; 14171 typedef struct XCirculateEvent; 14172 typedef struct XCirculateRequestEvent; 14173 typedef struct XPropertyEvent; 14174 typedef struct XSelectionClearEvent; 14175 typedef struct XSelectionRequestEvent; 14176 typedef struct XSelectionEvent; 14177 typedef struct XColormapEvent; 14178 typedef union XClientMessageEvent; 14179 typedef struct XMappingEvent; 14180 typedef struct XErrorEvent; 14181 typedef struct XAnyEvent; 14182 14183 14184 typedef union _XEvent 14185 { 14186 int type; 14187 XAnyEvent xany; 14188 XKeyEvent xkey; 14189 XButtonEvent xbutton; 14190 XMotionEvent xmotion; 14191 XCrossingEvent xcrossing; 14192 XFocusChangeEvent xfocus; 14193 XExposeEvent xexpose; 14194 XGraphicsExposeEvent xgraphicsexpose; 14195 XNoExposeEvent xnoexpose; 14196 XVisibilityEvent xvisibility; 14197 XCreateWindowEvent xcreatewindow; 14198 XDestroyWindowEvent xdestroywindow; 14199 XUnmapEvent xunmap; 14200 XMapEvent xmap; 14201 XMapRequestEvent xmaprequest; 14202 XReparentEvent xreparent; 14203 XConfigureEvent xconfigure; 14204 XGravityEvent xgravity; 14205 XResizeRequestEvent xresizerequest; 14206 XConfigureRequestEvent xconfigurerequest; 14207 XCirculateEvent xcirculate; 14208 XCirculateRequestEvent xcirculaterequest; 14209 XPropertyEvent xproperty; 14210 XSelectionClearEvent xselectionclear; 14211 XSelectionRequestEvent xselectionrequest; 14212 XSelectionEvent xselection; 14213 XColormapEvent xcolormap; 14214 XClientMessageEvent xclient; 14215 XMappingEvent xmapping; 14216 XErrorEvent xerror; 14217 XKeymapEvent xkeymap; 14218 long pad[1]; 14219 } 14220 XEvent; 14221 14222 14223 typedef struct XCharStruct; 14224 14225 14226 typedef struct XFontProp; 14227 typedef struct XFontStruct; 14228 typedef struct XFontSetExtents; 14229 14230 14231 typedef struct XTextItem; 14232 typedef struct XChar2b; 14233 typedef struct XTextItem16; 14234 14235 14236 typedef union XEDataObject; 14237 14238 14239 typedef struct _XOM *XOM; 14240 typedef struct _XOC *XOC; 14241 typedef struct _XOC *XFontSet; 14242 14243 14244 typedef struct XmbTextItem; 14245 typedef struct XwcTextItem; 14246 14247 14248 14249 14250 14251 typedef struct _XIM *XIM; 14252 typedef struct _XIC *XIC; 14253 typedef void (*XIDProc) (void); 14254 ------------------------------------------------------------------------------- 14255 14256 X11/Xutil.h 14257 14258 14259 14260 typedef struct XSizeHints; 14261 typedef struct XWMHints; 14262 typedef struct XTextProperty; 14263 typedef struct XIconSize; 14264 typedef struct XClassHint; 14265 typedef struct _XComposeStatus 14266 { 14267 XPointer compose_ptr; 14268 int chars_matched; 14269 } 14270 XComposeStatus; 14271 typedef struct _XRegion *Region; 14272 typedef struct XVisualInfo; 14273 typedef struct XStandardColormap; 14274 typedef int XContext; 14275 typedef enum XICCEncodingStyle; 14276 ------------------------------------------------------------------------------- 14277 14278 Interfaces for libXext 14279 14280 Table 15-3. libXext Definition 14281 14282 +----------------------+ 14283 |Library:|libXext | 14284 |--------+-------------| 14285 |SONAME: |libXext.so.6 | 14286 +----------------------+ 14287 14288 The behavior of the interfaces in this library is specified by the following 14289 standards. 14290 14291 Double Buffer Extension Library[38] 14292 X Display Power Management Signaling (DPMS) Extension, Library Specification 14293 [39] 14294 Security Extension Specification, Version 7.1[40] 14295 X Nonrectangular Window Shape Extension Library Version 1.0[41] 14296 MIT-SHM--The MIT Shared Memory Extension[42] 14297 X Synchronization Extension Library[43] 14298 14299 ------------------------------------------------------------------------------- 14300 14301 X Shape Extension 14302 14303 Table 15-4. libXext - X Shape Extension Function Interfaces 14304 14305 +-----------------------------------------------------------------------------------+ 14306 |XShapeCombineMask[41] |XShapeCombineShape |XShapeOffsetShape |XShapeQueryVersion| 14307 | |[41] |[41] |[41] | 14308 |-----------------------+-------------------+--------------------+------------------| 14309 |XShapeCombineRectangles|XShapeGetRectangles|XShapeQueryExtension|XShapeSelectInput | 14310 |[41] |[41] |[41] |[41] | 14311 |-----------------------+-------------------+--------------------+------------------| 14312 |XShapeCombineRegion[41]|XShapeInputSelected|XShapeQueryExtents | | 14313 | |[41] |[41] | | 14314 +-----------------------------------------------------------------------------------+ 14315 ------------------------------------------------------------------------------- 14316 14317 X Display Power Management Signaling Extension 14318 14319 Table 15-5. libXext - X Display Power Management Signaling Extension Function 14320 Interfaces 14321 14322 +--------------------------------------------------------------+ 14323 |DPMSCapable[39]|DPMSForceLevel[39] |DPMSInfo[39] | | 14324 |---------------+--------------------+-----------------------+-| 14325 |DPMSDisable[39]|DPMSGetTimeouts[39] |DPMSQueryExtension[39] | | 14326 |---------------+--------------------+-----------------------+-| 14327 |DPMSEnable[39] |DPMSGetVersion[39] |DPMSSetTimeouts[39] | | 14328 +--------------------------------------------------------------+ 14329 ------------------------------------------------------------------------------- 14330 14331 X Shared Memory Extensions 14332 14333 Table 15-6. libXext - X Shared Memory Extensions Function Interfaces 14334 14335 +-----------------------------------------------------------------------------+ 14336 |XShmAttach[42] |XShmDetach[42] |XShmPixmapFormat[42]|XShmQueryVersion | 14337 | | | |[42] | 14338 |------------------+------------------+--------------------+------------------| 14339 |XShmCreateImage |XShmGetEventBase |XShmPutImage[42] | | 14340 |[42] |[42] | | | 14341 |------------------+------------------+--------------------+------------------| 14342 |XShmCreatePixmap |XShmGetImage[42] |XShmQueryExtension | | 14343 |[42] | |[42] | | 14344 +-----------------------------------------------------------------------------+ 14345 ------------------------------------------------------------------------------- 14346 14347 MIT-MISC Extension 14348 14349 ------------------------------------------------------------------------------- 14350 14351 X Synchronization Extension 14352 14353 Table 15-7. libXext - X Synchronization Extension Function Interfaces 14354 14355 +-------------------------------------------------------------------------------------------------+ 14356 |XSyncAwait[43] |XSyncGetPriority[43] |XSyncQueryCounter[43] |XSyncValueHigh32[43] | 14357 |--------------------------+-----------------------+------------------------+---------------------| 14358 |XSyncChangeAlarm[43] |XSyncInitialize[43] |XSyncQueryExtension[43] |XSyncValueIsNegative | 14359 | | | |[43] | 14360 |--------------------------+-----------------------+------------------------+---------------------| 14361 |XSyncChangeCounter[43] |XSyncIntToValue[43] |XSyncSetCounter[43] |XSyncValueIsPositive | 14362 | | | |[43] | 14363 |--------------------------+-----------------------+------------------------+---------------------| 14364 |XSyncCreateAlarm[43] |XSyncIntsToValue[43] |XSyncSetPriority[43] |XSyncValueIsZero[43] | 14365 |--------------------------+-----------------------+------------------------+---------------------| 14366 |XSyncCreateCounter[43] |XSyncListSystemCounters|XSyncValueAdd[43] |XSyncValueLessOrEqual| 14367 | |[43] | |[43] | 14368 |--------------------------+-----------------------+------------------------+---------------------| 14369 |XSyncDestroyAlarm[43] |XSyncMaxValue[43] |XSyncValueEqual[43] |XSyncValueLessThan | 14370 | | | |[43] | 14371 |--------------------------+-----------------------+------------------------+---------------------| 14372 |XSyncDestroyCounter[43] |XSyncMinValue[43] |XSyncValueGreaterOrEqual|XSyncValueLow32[43] | 14373 | | |[43] | | 14374 |--------------------------+-----------------------+------------------------+---------------------| 14375 |XSyncFreeSystemCounterList|XSyncQueryAlarm[43] |XSyncValueGreaterThan |XSyncValueSubtract | 14376 |[43] | |[43] |[43] | 14377 +-------------------------------------------------------------------------------------------------+ 14378 ------------------------------------------------------------------------------- 14379 14380 X Security Extension 14381 14382 Table 15-8. libXext - X Security Extension Function Interfaces 14383 14384 +---------------------------------------------------------------------------------+ 14385 |XSecurityAllocXauth|XSecurityGenerateAuthorization|XSecurityRevokeAuthorization| | 14386 |[40] |[40] |[40] | | 14387 |-------------------+------------------------------+----------------------------+-| 14388 |XSecurityFreeXauth |XSecurityQueryExtension[40] | | | 14389 |[40] | | | | 14390 +---------------------------------------------------------------------------------+ 14391 ------------------------------------------------------------------------------- 14392 14393 X Double Buffer Extension 14394 14395 Table 15-9. libXext - X Double Buffer Extension Function Interfaces 14396 14397 +-----------------------------------------------------------------------------+ 14398 |XdbeAllocateBackBufferName |XdbeEndIdiom[38] |XdbeGetVisualInfo | | 14399 |[38] | |[38] | | 14400 |----------------------------+---------------------------+------------------+-| 14401 |XdbeBeginIdiom[38] |XdbeFreeVisualInfo[38] |XdbeQueryExtension| | 14402 | | |[38] | | 14403 |----------------------------+---------------------------+------------------+-| 14404 |XdbeDeallocateBackBufferName|XdbeGetBackBufferAttributes|XdbeSwapBuffers | | 14405 |[38] |[38] |[38] | | 14406 +-----------------------------------------------------------------------------+ 14407 ------------------------------------------------------------------------------- 14408 14409 Data Definitions for libXext 14410 14411 This section contains standard data definitions that describe system data. 14412 These definitions are organized into groups that correspond to system headers. 14413 This convention is used as a convenience for the reader, and does not imply the 14414 existence of these headers, or their content. 14415 14416 ISO C serves as the LSB reference programming language, and data definitions 14417 are specified in ISO C format. The C language is used here as a convenient 14418 notation. Using a C language description of these data objects does not 14419 preclude their use by other programming languages. 14420 14421 ------------------------------------------------------------------------------- 14422 14423 X11/extensions/security.h 14424 14425 14426 14427 typedef unsigned long XSecurityAuthorization; 14428 typedef struct 14429 { 14430 unsigned int timeout; 14431 unsigned int trust_level; 14432 XID group; 14433 long event_mask; 14434 } 14435 XSecurityAuthorizationAttributes; 14436 ------------------------------------------------------------------------------- 14437 14438 X11/extensions/sync.h 14439 14440 14441 14442 typedef struct _XSyncSystemCounter 14443 { 14444 char *name; 14445 XSyncCounter counter; 14446 XSyncValue resolution; 14447 } 14448 XSyncSystemCounter; 14449 typedef struct 14450 { 14451 XSyncCounter counter; 14452 XSyncValueType value_type; 14453 XSyncValue wait_value; 14454 XSyncTestType test_type; 14455 } 14456 XSyncTrigger; 14457 typedef struct 14458 { 14459 XSyncTrigger trigger; 14460 XSyncValue event_threshold; 14461 } 14462 XSyncWaitCondition; 14463 typedef struct 14464 { 14465 XSyncTrigger trigger; 14466 XSyncValue delta; 14467 int events; 14468 XSyncAlarmState state; 14469 } 14470 XSyncAlarmAttributes; 14471 14472 14473 typedef XID XSyncCounter; 14474 typedef XID XSyncAlarm; 14475 typedef struct _XSyncValue 14476 { 14477 int hi; 14478 unsigned int lo; 14479 } 14480 XSyncValue; 14481 typedef enum 14482 { 14483 XSyncAbsolute, XSyncRelative 14484 } 14485 XSyncValueType; 14486 typedef enum 14487 { 14488 XSyncPositiveTransition, XSyncNegativeTransition, XSyncPositiveComparison, 14489 XSyncNegativeComparison 14490 } 14491 XSyncTestType; 14492 typedef enum 14493 { 14494 XSyncAlarmActive, XSyncAlarmInactive, XSyncAlarmDestroyed 14495 } 14496 XSyncAlarmState; 14497 ------------------------------------------------------------------------------- 14498 14499 Interfaces for libSM 14500 14501 Table 15-10. libSM Definition 14502 14503 +--------------------+ 14504 |Library:|libSM | 14505 |--------+-----------| 14506 |SONAME: |libSM.so.6 | 14507 +--------------------+ 14508 14509 The behavior of the interfaces in this library is specified by the following 14510 standards. 14511 14512 X11R6.4 X Session Management Library[44] 14513 14514 ------------------------------------------------------------------------------- 14515 14516 Session Management Functions 14517 14518 Table 15-11. libSM - Session Management Functions Function Interfaces 14519 14520 +-------------------------------------------------------------------------------------------+ 14521 |SmFreeProperty[44] |SmcOpenConnection[44] |SmsCleanUp[44] |SmsRegisterClientReply| 14522 | | | |[44] | 14523 |-------------------+----------------------------+-------------------+----------------------| 14524 |SmFreeReasons[44] |SmcProtocolRevision[44] |SmsClientHostName |SmsReturnProperties | 14525 | | |[44] |[44] | 14526 |-------------------+----------------------------+-------------------+----------------------| 14527 |SmcClientID[44] |SmcProtocolVersion[44] |SmsClientID[44] |SmsSaveComplete[44] | 14528 |-------------------+----------------------------+-------------------+----------------------| 14529 |SmcCloseConnection |SmcRelease[44] |SmsDie[44] |SmsSaveYourself[44] | 14530 |[44] | | | | 14531 |-------------------+----------------------------+-------------------+----------------------| 14532 |SmcDeleteProperties|SmcRequestSaveYourself[44] |SmsGenerateClientID|SmsSaveYourselfPhase2 | 14533 |[44] | |[44] |[44] | 14534 |-------------------+----------------------------+-------------------+----------------------| 14535 |SmcGetIceConnection|SmcRequestSaveYourselfPhase2|SmsGetIceConnection|SmsSetErrorHandler[44]| 14536 |[44] |[44] |[44] | | 14537 |-------------------+----------------------------+-------------------+----------------------| 14538 |SmcGetProperties |SmcSaveYourselfDone[44] |SmsInitialize[44] |SmsShutdownCancelled | 14539 |[44] | | |[44] | 14540 |-------------------+----------------------------+-------------------+----------------------| 14541 |SmcInteractDone[44]|SmcSetErrorHandler[44] |SmsInteract[44] | | 14542 |-------------------+----------------------------+-------------------+----------------------| 14543 |SmcInteractRequest |SmcSetProperties[44] |SmsProtocolRevision| | 14544 |[44] | |[44] | | 14545 |-------------------+----------------------------+-------------------+----------------------| 14546 |SmcModifyCallbacks |SmcVendor[44] |SmsProtocolVersion | | 14547 |[44] | |[44] | | 14548 +-------------------------------------------------------------------------------------------+ 14549 ------------------------------------------------------------------------------- 14550 14551 Data Definitions for libSM 14552 14553 This section contains standard data definitions that describe system data. 14554 These definitions are organized into groups that correspond to system headers. 14555 This convention is used as a convenience for the reader, and does not imply the 14556 existence of these headers, or their content. 14557 14558 ISO C serves as the LSB reference programming language, and data definitions 14559 are specified in ISO C format. The C language is used here as a convenient 14560 notation. Using a C language description of these data objects does not 14561 preclude their use by other programming languages. 14562 14563 ------------------------------------------------------------------------------- 14564 14565 X11/SM/SMlib.h 14566 14567 14568 14569 typedef IcePointer SmPointer; 14570 typedef struct _SmcConn *SmcConn; 14571 typedef struct _SmsConn *SmsConn; 14572 14573 14574 typedef struct 14575 { 14576 int length; 14577 SmPointer value; 14578 } 14579 SmPropValue; 14580 typedef struct 14581 { 14582 char *name; 14583 char *type; 14584 int num_vals; 14585 SmPropValue *vals; 14586 } 14587 SmProp; 14588 14589 14590 typedef enum 14591 { 14592 SmcClosedNow, SmcClosedASAP, SmcConnectionInUse 14593 } 14594 SmcCloseStatus; 14595 14596 14597 typedef void (*SmcSaveYourselfPhase2Proc) (void); 14598 typedef void (*SmcInteractProc) (void); 14599 typedef void (*SmcDieProc) (void); 14600 typedef void (*SmcShutdownCancelledProc) (void); 14601 typedef void (*SmcSaveCompleteProc) (void); 14602 typedef void (*SmcPropReplyProc) (void); 14603 14604 14605 typedef struct 14606 { 14607 SmcShutdownCancelledProc callback; 14608 SmPointer client_data; 14609 } 14610 SmcCallbacks; 14611 14612 14613 typedef void (*SmsSetPropertiesProc) (void); 14614 typedef void (*SmsDeletePropertiesProc) (void); 14615 typedef void (*SmsGetPropertiesProc) (void); 14616 14617 14618 typedef struct 14619 { 14620 SmsGetPropertiesProc callback; 14621 SmPointer manager_data; 14622 } 14623 SmsCallbacks; 14624 14625 14626 typedef int (*SmsNewClientProc) (void); 14627 14628 14629 typedef void (*SmcErrorHandler) (void); 14630 typedef void (*SmsErrorHandler) (void); 14631 ------------------------------------------------------------------------------- 14632 14633 Interfaces for libICE 14634 14635 Table 15-12. libICE Definition 14636 14637 +---------------------+ 14638 |Library:|libICE | 14639 |--------+------------| 14640 |SONAME: |libICE.so.6 | 14641 +---------------------+ 14642 14643 The behavior of the interfaces in this library is specified by the following 14644 standards. 14645 14646 X11R6.4 X Inter-Client Exchange (ICE) Protocol[45] 14647 14648 ------------------------------------------------------------------------------- 14649 14650 ICE Functions 14651 14652 Table 15-13. libICE - ICE Functions Function Interfaces 14653 14654 +--------------------------------------------------------------------------------------------------------------------+ 14655 |IceAcceptConnection[45] |IceFreeAuthFileEntry[45] |IceListenForWellKnownConnections|IceRemoveConnectionWatch | 14656 | | |[45] |[45] | 14657 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14658 |IceAddConnectionWatch[45] |IceFreeListenObjs[45] |IceLockAuthFile[45] |IceSetErrorHandler[45] | 14659 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14660 |IceAllocScratch[45] |IceGenerateMagicCookie[45] |IceOpenConnection[45] |IceSetHostBasedAuthProc | 14661 | | | |[45] | 14662 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14663 |IceAppLockConn[45] |IceGetAuthFileEntry[45] |IcePing[45] |IceSetIOErrorHandler[45] | 14664 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14665 |IceAppUnlockConn[45] |IceGetConnectionContext[45] |IceProcessMessages[45] |IceSetPaAuthData[45] | 14666 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14667 |IceAuthFileName[45] |IceGetInBufSize[45] |IceProtocolRevision[45] |IceSetShutdownNegotiation| 14668 | | | |[45] | 14669 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14670 |IceCheckShutdownNegotiation|IceGetListenConnectionNumber |IceProtocolSetup[45] |IceSwapping[45] | 14671 |[45] |[45] | | | 14672 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14673 |IceCloseConnection[45] |IceGetListenConnectionString |IceProtocolShutdown[45] |IceUnlockAuthFile[45] | 14674 | |[45] | | | 14675 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14676 |IceComposeNetworkIdList[45]|IceGetOutBufSize[45] |IceProtocolVersion[45] |IceVendor[45] | 14677 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14678 |IceConnectionNumber[45] |IceInitThreads[45] |IceReadAuthFileEntry[45] |IceWriteAuthFileEntry[45]| 14679 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14680 |IceConnectionStatus[45] |IceLastReceivedSequenceNumber|IceRegisterForProtocolReply[45] | | 14681 | |[45] | | | 14682 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14683 |IceConnectionString[45] |IceLastSentSequenceNumber[45]|IceRegisterForProtocolSetup[45] | | 14684 |---------------------------+-----------------------------+--------------------------------+-------------------------| 14685 |IceFlush[45] |IceListenForConnections[45] |IceRelease[45] | | 14686 +--------------------------------------------------------------------------------------------------------------------+ 14687 ------------------------------------------------------------------------------- 14688 14689 Data Definitions for libICE 14690 14691 This section contains standard data definitions that describe system data. 14692 These definitions are organized into groups that correspond to system headers. 14693 This convention is used as a convenience for the reader, and does not imply the 14694 existence of these headers, or their content. 14695 14696 ISO C serves as the LSB reference programming language, and data definitions 14697 are specified in ISO C format. The C language is used here as a convenient 14698 notation. Using a C language description of these data objects does not 14699 preclude their use by other programming languages. 14700 14701 ------------------------------------------------------------------------------- 14702 14703 X11/ICE/ICElib.h 14704 14705 14706 14707 typedef void *IcePointer; 14708 typedef enum 14709 { 14710 IcePoAuthHaveReply, IcePoAuthRejected, IcePoAuthFailed, IcePoAuthDoneCleanup 14711 } 14712 IcePoAuthStatus; 14713 typedef enum 14714 { 14715 IcePaAuthContinue, IcePaAuthAccepted, IcePaAuthRejected, IcePaAuthFailed 14716 } 14717 IcePaAuthStatus; 14718 typedef enum 14719 { 14720 IceConnectPending, IceConnectAccepted, IceConnectRejected, IceConnectIOError 14721 } 14722 IceConnectStatus; 14723 typedef enum 14724 { 14725 IceProtocolSetupSuccess, IceProtocolSetupFailure, IceProtocolSetupIOError, 14726 IceProtocolAlreadyActive 14727 } 14728 IceProtocolSetupStatus; 14729 typedef enum 14730 { 14731 IceAcceptSuccess, IceAcceptFailure, IceAcceptBadMalloc 14732 } 14733 IceAcceptStatus; 14734 typedef enum 14735 { 14736 IceClosedNow, IceClosedASAP, IceConnectionInUse, 14737 IceStartedShutdownNegotiation 14738 } 14739 IceCloseStatus; 14740 typedef enum 14741 { 14742 IceProcessMessagesSuccess, IceProcessMessagesIOError, 14743 IceProcessMessagesConnectionClosed 14744 } 14745 IceProcessMessagesStatus; 14746 14747 14748 typedef struct 14749 { 14750 unsigned long sequence_of_request; 14751 int major_opcode_of_request; 14752 int minor_opcode_of_request; 14753 IcePointer reply; 14754 } 14755 IceReplyWaitInfo; 14756 14757 14758 typedef struct _IceConn *IceConn; 14759 typedef struct _IceListenObj *IceListenObj; 14760 14761 14762 typedef void (*IceWatchProc) (void); 14763 typedef void (*IcePoProcessMsgProc) (void); 14764 typedef void (*IcePaProcessMsgProc) (void); 14765 typedef IcePoAuthStatus (*IcePoAuthProc) (void); 14766 typedef IcePaAuthStatus (*IcePaAuthProc) (void); 14767 typedef int (*IceHostBasedAuthProc) (void); 14768 typedef int (*IceProtocolSetupProc) (void); 14769 typedef void (*IceProtocolActivateProc) (void); 14770 typedef void (*IceIOErrorProc) (void); 14771 typedef void (*IcePingReplyProc) (void); 14772 typedef void (*IceErrorHandler) (void); 14773 typedef void (*IceIOErrorHandler) (void); 14774 14775 14776 typedef struct 14777 { 14778 int major_version; 14779 int minor_version; 14780 IcePoProcessMsgProc process_msg_proc; 14781 } 14782 IcePoVersionRec; 14783 typedef struct 14784 { 14785 int major_version; 14786 int minor_version; 14787 IcePaProcessMsgProc process_msg_proc; 14788 } 14789 IcePaVersionRec; 14790 ------------------------------------------------------------------------------- 14791 14792 X11/ICE/ICEutil.h 14793 14794 14795 14796 typedef struct 14797 { 14798 char *protocol_name; 14799 unsigned short protocol_data_length; 14800 char *protocol_data; 14801 char *network_id; 14802 char *auth_name; 14803 unsigned short auth_data_length; 14804 char *auth_data; 14805 } 14806 IceAuthFileEntry; 14807 typedef struct 14808 { 14809 char *protocol_name; 14810 char *network_id; 14811 char *auth_name; 14812 unsigned short auth_data_length; 14813 char *auth_data; 14814 } 14815 IceAuthDataEntry; 14816 ------------------------------------------------------------------------------- 14817 14818 Interfaces for libXt 14819 14820 Table 15-14. libXt Definition 14821 14822 +--------------------+ 14823 |Library:|libXt | 14824 |--------+-----------| 14825 |SONAME: |libXt.so.6 | 14826 +--------------------+ 14827 14828 The behavior of the interfaces in this library is specified by the following 14829 standards. 14830 14831 Linux Standard Base[46] 14832 X11R6.4 X Toolkit Intrinsics[47] 14833 14834 ------------------------------------------------------------------------------- 14835 14836 X Toolkit 14837 14838 Table 15-15. libXt - X Toolkit Function Interfaces 14839 14840 +------------------------------------------------------------------------------------------------------------------------+ 14841 |XtAddActions[47] |XtCvtColorToPixel[47] |XtGrabKeyboard[47] |XtRemoveEventHandler[47] | 14842 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14843 |XtAddCallback[47] |XtCvtIntToBool[47] |XtGrabPointer[47] |XtRemoveEventTypeHandler[47]| 14844 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14845 |XtAddCallbacks[47] |XtCvtIntToBoolean[47] |XtHasCallbacks[47] |XtRemoveGrab[47] | 14846 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14847 |XtAddConverter[47] |XtCvtIntToColor[47] |XtHooksOfDisplay[47] |XtRemoveInput[47] | 14848 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14849 |XtAddEventHandler[47] |XtCvtIntToFloat[47] |XtInitialize[47] |XtRemoveRawEventHandler[47] | 14850 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14851 |XtAddExposureToRegion[47] |XtCvtIntToFont[47] |XtInitializeWidgetClass[47] |XtRemoveSignal[47] | 14852 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14853 |XtAddGrab[47] |XtCvtIntToPixel[47] |XtInsertEventHandler[47] |XtRemoveTimeOut[47] | 14854 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14855 |XtAddInput[47] |XtCvtIntToPixmap[47] |XtInsertEventTypeHandler[47]|XtRemoveWorkProc[47] | 14856 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14857 |XtAddRawEventHandler[47] |XtCvtIntToShort[47] |XtInsertRawEventHandler[47] |XtReservePropertyAtom[47] | 14858 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14859 |XtAddSignal[47] |XtCvtIntToUnsignedChar[47] |XtInstallAccelerators[47] |XtResizeWidget[47] | 14860 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14861 |XtAddTimeOut[47] |XtCvtStringToAcceleratorTable |XtInstallAllAccelerators[47]|XtResizeWindow[47] | 14862 | |[47] | | | 14863 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14864 |XtAddWorkProc[47] |XtCvtStringToAtom[47] |XtIsApplicationShell[47] |XtResolvePathname[47] | 14865 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14866 |XtAllocateGC[47] |XtCvtStringToBool[47] |XtIsComposite[47] |XtScreen[47] | 14867 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14868 |XtAppAddActionHook[47] |XtCvtStringToBoolean[47] |XtIsConstraint[47] |XtScreenDatabase[47] | 14869 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14870 |XtAppAddActions[47] |XtCvtStringToCommandArgArray[47]|XtIsManaged[47] |XtScreenOfObject[47] | 14871 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14872 |XtAppAddBlockHook[47] |XtCvtStringToCursor[47] |XtIsObject[47] |XtSendSelectionRequest[47] | 14873 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14874 |XtAppAddConverter[47] |XtCvtStringToDimension[47] |XtIsOverrideShell[47] |XtSessionGetToken[47] | 14875 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14876 |XtAppAddInput[47] |XtCvtStringToDirectoryString[47]|XtIsRealized[47] |XtSessionReturnToken[47] | 14877 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14878 |XtAppAddSignal[47] |XtCvtStringToDisplay[47] |XtIsRectObj[47] |XtSetErrorHandler[47] | 14879 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14880 |XtAppAddTimeOut[47] |XtCvtStringToFile[47] |XtIsSensitive[47] |XtSetErrorMsgHandler[47] | 14881 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14882 |XtAppAddWorkProc[47] |XtCvtStringToFloat[47] |XtIsSessionShell[47] |XtSetEventDispatcher[47] | 14883 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14884 |XtAppCreateShell[47] |XtCvtStringToFont[47] |XtIsShell[47] |XtSetKeyTranslator[47] | 14885 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14886 |XtAppError[47] |XtCvtStringToFontSet[47] |XtIsSubclass[47] |XtSetKeyboardFocus[47] | 14887 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14888 |XtAppErrorMsg[47] |XtCvtStringToFontStruct[47] |XtIsTopLevelShell[47] |XtSetLanguageProc[47] | 14889 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14890 |XtAppGetErrorDatabase[47] |XtCvtStringToGravity[47] |XtIsTransientShell[47] |XtSetMappedWhenManaged[47] | 14891 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14892 |XtAppGetErrorDatabaseText[47]|XtCvtStringToInitialState[47] |XtIsVendorShell[47] |XtSetMultiClickTime[47] | 14893 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14894 |XtAppGetExitFlag[47] |XtCvtStringToInt[47] |XtIsWMShell[47] |XtSetSelectionParameters[47]| 14895 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14896 |XtAppGetSelectionTimeout[47] |XtCvtStringToPixel[47] |XtIsWidget[47] |XtSetSelectionTimeout[47] | 14897 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14898 |XtAppInitialize[47] |XtCvtStringToRestartStyle[47] |XtKeysymToKeycodeList[47] |XtSetSensitive[47] | 14899 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14900 |XtAppLock[47] |XtCvtStringToShort[47] |XtLastEventProcessed[47] |XtSetSubvalues[47] | 14901 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14902 |XtAppMainLoop[47] |XtCvtStringToTranslationTable |XtLastTimestampProcessed[47]|XtSetTypeConverter[47] | 14903 | |[47] | | | 14904 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14905 |XtAppNextEvent[47] |XtCvtStringToUnsignedChar[47] |XtMainLoop[47] |XtSetValues[47] | 14906 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14907 |XtAppPeekEvent[47] |XtCvtStringToVisual[47] |XtMakeGeometryRequest[47] |XtSetWMColormapWindows[47] | 14908 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14909 |XtAppPending[47] |XtDatabase[47] |XtMakeResizeRequest[47] |XtSetWarningHandler[47] | 14910 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14911 |XtAppProcessEvent[47] |XtDestroyApplicationContext[47] |XtMalloc[47] |XtSetWarningMsgHandler[47] | 14912 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14913 |XtAppReleaseCacheRefs[47] |XtDestroyGC[47] |XtManageChild[47] |XtStringConversionWarning | 14914 | | | |[47] | 14915 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14916 |XtAppSetErrorHandler[47] |XtDestroyWidget[47] |XtManageChildren[47] |XtSuperclass[47] | 14917 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14918 |XtAppSetErrorMsgHandler[47] |XtDirectConvert[47] |XtMapWidget[47] |XtToolkitInitialize[47] | 14919 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14920 |XtAppSetExitFlag[47] |XtDisownSelection[47] |XtMenuPopupAction[47] |XtToolkitThreadInitialize | 14921 | | | |[47] | 14922 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14923 |XtAppSetFallbackResources[47]|XtDispatchEvent[47] |XtMergeArgLists[47] |XtTranslateCoords[47] | 14924 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14925 |XtAppSetSelectionTimeout[47] |XtDispatchEventToWidget[47] |XtMoveWidget[47] |XtTranslateKey[47] | 14926 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14927 |XtAppSetTypeConverter[47] |XtDisplay[47] |XtName[47] |XtTranslateKeycode[47] | 14928 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14929 |XtAppSetWarningHandler[47] |XtDisplayInitialize[47] |XtNameToWidget[47] |XtUngrabButton[47] | 14930 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14931 |XtAppSetWarningMsgHandler[47]|XtDisplayOfObject[47] |XtNewString[47] |XtUngrabKey[47] | 14932 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14933 |XtAppUnlock[47] |XtDisplayStringConversionWarning|XtNextEvent[47] |XtUngrabKeyboard[47] | 14934 | |[47] | | | 14935 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14936 |XtAppWarning[47] |XtDisplayToApplicationContext |XtNoticeSignal[47] |XtUngrabPointer[47] | 14937 | |[47] | | | 14938 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14939 |XtAppWarningMsg[47] |XtError[47] |XtOpenApplication[47] |XtUninstallTranslations[47] | 14940 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14941 |XtAugmentTranslations[47] |XtErrorMsg[47] |XtOpenDisplay[47] |XtUnmanageChild[47] | 14942 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14943 |XtBuildEventMask[47] |XtFindFile[47] |XtOverrideTranslations[47] |XtUnmanageChildren[47] | 14944 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14945 |XtCallAcceptFocus[47] |XtFree[47] |XtOwnSelection[47] |XtUnmapWidget[47] | 14946 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14947 |XtCallActionProc[47] |XtGetActionKeysym[47] |XtOwnSelectionIncremental |XtUnrealizeWidget[47] | 14948 | | |[47] | | 14949 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14950 |XtCallCallbackList[47] |XtGetActionList[47] |XtParent[47] |XtUnregisterDrawable[47] | 14951 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14952 |XtCallCallbacks[47] |XtGetApplicationNameAndClass[47]|XtParseAcceleratorTable[47] |XtVaAppCreateShell[47] | 14953 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14954 |XtCallConverter[47] |XtGetApplicationResources[47] |XtParseTranslationTable[47] |XtVaAppInitialize[47] | 14955 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14956 |XtCallbackExclusive[47] |XtGetClassExtension[47] |XtPeekEvent[47] |XtVaCreateArgsList[47] | 14957 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14958 |XtCallbackNone[47] |XtGetConstraintResourceList[47] |XtPending[47] |XtVaCreateManagedWidget[47] | 14959 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14960 |XtCallbackNonexclusive[47] |XtGetDisplays[47] |XtPopdown[47] |XtVaCreatePopupShell[47] | 14961 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14962 |XtCallbackPopdown[47] |XtGetErrorDatabase[47] |XtPopup[47] |XtVaCreateWidget[47] | 14963 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14964 |XtCallbackReleaseCacheRef[47]|XtGetErrorDatabaseText[47] |XtPopupSpringLoaded[47] |XtVaGetApplicationResources | 14965 | | | |[47] | 14966 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14967 |XtCallbackReleaseCacheRefList|XtGetGC[47] |XtProcessEvent[47] |XtVaGetSubresources[47] | 14968 |[47] | | | | 14969 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14970 |XtCalloc[47] |XtGetKeyboardFocusWidget[47] |XtProcessLock[47] |XtVaGetSubvalues[47] | 14971 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14972 |XtCancelSelectionRequest[47] |XtGetKeysymTable[47] |XtProcessUnlock[47] |XtVaGetValues[47] | 14973 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14974 |XtChangeManagedSet[47] |XtGetMultiClickTime[47] |XtQueryGeometry[47] |XtVaOpenApplication[47] | 14975 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14976 |XtClass[47] |XtGetResourceList[47] |XtRealizeWidget[47] |XtVaSetSubvalues[47] | 14977 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14978 |XtCloseDisplay[47] |XtGetSelectionParameters[47] |XtRealloc[47] |XtVaSetValues[47] | 14979 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14980 |XtConfigureWidget[47] |XtGetSelectionRequest[47] |XtRegisterCaseConverter[47] |XtWarning[47] | 14981 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14982 |XtConvert[47] |XtGetSelectionTimeout[47] |XtRegisterDrawable[47] |XtWarningMsg[47] | 14983 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14984 |XtConvertAndStore[47] |XtGetSelectionValue[47] |XtRegisterExtensionSelector |XtWidgetToApplicationContext| 14985 | | |[47] |[47] | 14986 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14987 |XtConvertCase[47] |XtGetSelectionValueIncremental |XtRegisterGrabAction[47] |XtWindow[47] | 14988 | |[47] | | | 14989 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14990 |XtCreateApplicationContext |XtGetSelectionValues[47] |XtReleaseGC[47] |XtWindowOfObject[47] | 14991 |[47] | | | | 14992 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14993 |XtCreateApplicationShell[47] |XtGetSelectionValuesIncremental |XtReleasePropertyAtom[47] |XtWindowToWidget[47] | 14994 | |[47] | | | 14995 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14996 |XtCreateManagedWidget[47] |XtGetSubresources[47] |XtRemoveActionHook[47] |_XtCheckSubclassFlag[47] | 14997 |-----------------------------+--------------------------------+----------------------------+----------------------------| 14998 |XtCreatePopupShell[47] |XtGetSubvalues[47] |XtRemoveAllCallbacks[47] |_XtCopyFromArg[46] | 14999 |-----------------------------+--------------------------------+----------------------------+----------------------------| 15000 |XtCreateSelectionRequest[47] |XtGetValues[47] |XtRemoveBlockHook[47] |_XtInherit[46] | 15001 |-----------------------------+--------------------------------+----------------------------+----------------------------| 15002 |XtCreateWidget[47] |XtGrabButton[47] |XtRemoveCallback[47] |_XtIsSubclassOf[46] | 15003 |-----------------------------+--------------------------------+----------------------------+----------------------------| 15004 |XtCreateWindow[47] |XtGrabKey[47] |XtRemoveCallbacks[47] | | 15005 +------------------------------------------------------------------------------------------------------------------------+ 15006 15007 Table 15-16. libXt - X Toolkit Data Interfaces 15008 15009 +------------------------------------------------------------------------------------------------------+ 15010 |XtCXtToolkitError[47] |constraintClassRec[47] |rectObjClass[47] |topLevelShellWidgetClass | 15011 | | | |[47] | 15012 |---------------------------+------------------------+-----------------------+-------------------------| 15013 |XtShellStrings[47] |constraintWidgetClass |rectObjClassRec[47] |transientShellClassRec | 15014 | |[47] | |[47] | 15015 |---------------------------+------------------------+-----------------------+-------------------------| 15016 |XtStrings[47] |coreWidgetClass[47] |sessionShellClassRec |transientShellWidgetClass| 15017 | | |[47] |[47] | 15018 |---------------------------+------------------------+-----------------------+-------------------------| 15019 |_XtInheritTranslations[46] |objectClass[47] |sessionShellWidgetClass|widgetClass[47] | 15020 | | |[47] | | 15021 |---------------------------+------------------------+-----------------------+-------------------------| 15022 |applicationShellWidgetClass|objectClassRec[47] |shellClassRec[47] |widgetClassRec[47] | 15023 |[47] | | | | 15024 |---------------------------+------------------------+-----------------------+-------------------------| 15025 |compositeClassRec[47] |overrideShellClassRec |shellWidgetClass[47] |wmShellClassRec[47] | 15026 | |[47] | | | 15027 |---------------------------+------------------------+-----------------------+-------------------------| 15028 |compositeWidgetClass[47] |overrideShellWidgetClass|topLevelShellClassRec |wmShellWidgetClass[47] | 15029 | |[47] |[47] | | 15030 +------------------------------------------------------------------------------------------------------+ 15031 ------------------------------------------------------------------------------- 15032 15033 Data Definitions for libXt 15034 15035 This section contains standard data definitions that describe system data. 15036 These definitions are organized into groups that correspond to system headers. 15037 This convention is used as a convenience for the reader, and does not imply the 15038 existence of these headers, or their content. 15039 15040 ISO C serves as the LSB reference programming language, and data definitions 15041 are specified in ISO C format. The C language is used here as a convenient 15042 notation. Using a C language description of these data objects does not 15043 preclude their use by other programming languages. 15044 15045 ------------------------------------------------------------------------------- 15046 15047 X11/Composite.h 15048 15049 15050 15051 typedef Cardinal (*XtOrderProc) (Widget child); 15052 typedef void (*XtDoChangeProc) (Widget composite_parent, 15053 WidgetList unmanage_children, 15054 Cardinal * num_unmanage_children, 15055 WidgetList manage_children, 15056 Cardinal * num_manage_children, 15057 XtPointer client_data); 15058 ------------------------------------------------------------------------------- 15059 15060 X11/CompositeP.h 15061 15062 #define XtInheritGeometryManager ((XtGeometryHandler) _XtInherit) 15063 #define XtInheritDeleteChild ((XtWidgetProc) _XtInherit) 15064 #define XtInheritInsertChild ((XtWidgetProc) _XtInherit) 15065 #define XtCompositeExtensionVersion 2L 15066 15067 15068 15069 15070 15071 15072 15073 15074 15075 15076 15077 typedef struct _CompositeClassPart CompositeClassPart; 15078 15079 15080 15081 15082 15083 typedef struct _CompositeClassRec CompositeClassRec; 15084 ------------------------------------------------------------------------------- 15085 15086 X11/ConstrainP.h 15087 15088 #define XtConstraintExtensionVersion 1L 15089 15090 15091 typedef struct _ConstraintPart ConstraintPart; 15092 typedef struct _ConstraintClassPart ConstraintClassPart; 15093 typedef struct _ConstraintClassRec 15094 { 15095 CoreClassPart core_class; 15096 CompositeClassPart composite_class; 15097 ConstraintClassPart constraint_class; 15098 } 15099 ConstraintClassRec; 15100 ------------------------------------------------------------------------------- 15101 15102 X11/Constraint.h 15103 15104 15105 15106 typedef struct _ConstraintClassRec *ConstraintWidgetClass; 15107 ------------------------------------------------------------------------------- 15108 15109 X11/Intrinsic.h 15110 15111 15112 15113 typedef struct _WidgetRec *Widget; 15114 typedef Widget *WidgetList; 15115 typedef struct _WidgetClassRec *WidgetClass; 15116 typedef struct _CompositeRec *CompositeWidget; 15117 typedef struct _XtActionsRec *XtActionList; 15118 typedef struct _XtEventRec *XtEventTable; 15119 typedef struct _XtAppStruct *XtAppContext; 15120 typedef unsigned long XtValueMask; 15121 typedef unsigned long XtIntervalId; 15122 typedef unsigned long XtInputId; 15123 typedef unsigned long XtSignalId; 15124 typedef unsigned int XtGeometryMask; 15125 typedef unsigned long XtGCMask; 15126 typedef unsigned long Pixel; 15127 typedef int XtCacheType; 15128 typedef char Boolean; 15129 typedef long XtArgVal; 15130 typedef unsigned char XtEnum; 15131 typedef unsigned int Cardinal; 15132 typedef unsigned short Dimension; 15133 typedef short Position; 15134 typedef void *XtPointer; 15135 typedef XtPointer Opaque; 15136 ------------------------------------------------------------------------------- 15137 15138 X11/ObjectP.h 15139 15140 #define XtInheritAllocate ((XtAllocateProc) _XtInherit) 15141 #define XtInheritDeallocate ((XtDeallocateProc) _XtInherit) 15142 #define XtObjectExtensionVersion 1L 15143 15144 15145 15146 15147 15148 typedef struct _ObjectPart 15149 { 15150 Widget self; 15151 WidgetClass widget_class; 15152 Widget parent; 15153 XrmName xrm_name; 15154 Boolean being_destroyed; 15155 XtCallbackList destroy_callbacks; 15156 XtPointer constraints; 15157 } 15158 ObjectPart; 15159 15160 15161 typedef struct _ObjectRec 15162 { 15163 ObjectPart object; 15164 } 15165 ObjectRec; 15166 15167 15168 typedef struct _ObjectClassPart 15169 { 15170 WidgetClass superclass; 15171 String class_name; 15172 Cardinal widget_size; 15173 XtProc class_initialize; 15174 XtWidgetClassProc class_part_initialize; 15175 XtEnum class_inited; 15176 XtInitProc initialize; 15177 XtArgsProc initialize_hook; 15178 XtProc obj1; 15179 XtProc obj2; 15180 XtProc obj3; 15181 XtResourceList resources; 15182 Cardinal num_resources; 15183 XrmClass xrm_class; 15184 Boolean obj4; 15185 XtEnum obj5; 15186 Boolean obj6; 15187 Boolean obj7; 15188 XtWidgetProc destroy; 15189 XtProc obj8; 15190 XtProc obj9; 15191 XtSetValuesFunc set_values; 15192 XtArgsFunc set_values_hook; 15193 XtProc obj10; 15194 XtArgsProc get_values_hook; 15195 XtProc obj11; 15196 XtVersionType version; 15197 XtPointer callback_private; 15198 String obj12; 15199 XtProc obj13; 15200 XtProc obj14; 15201 XtPointer extension; 15202 } 15203 ObjectClassPart; 15204 15205 15206 struct 15207 { 15208 XtPointer next_extension; 15209 XrmQuark record_type; 15210 long version; 15211 Cardinal record_size; 15212 XtAllocateProc allocate; 15213 XtDeallocateProc deallocate; 15214 } 15215 ; 15216 15217 15218 typedef struct 15219 { 15220 XtPointer next_extension; 15221 XrmQuark record_type; 15222 long version; 15223 Cardinal record_size; 15224 XtAllocateProc allocate; 15225 XtDeallocateProc deallocate; 15226 } 15227 ObjectClassExtensionRec; 15228 typedef struct 15229 { 15230 XtPointer next_extension; 15231 XrmQuark record_type; 15232 long version; 15233 Cardinal record_size; 15234 XtAllocateProc allocate; 15235 XtDeallocateProc deallocate; 15236 } 15237 *ObjectClassExtension; 15238 15239 15240 typedef struct _ObjectClassRec 15241 { 15242 ObjectClassPart object_class; 15243 } 15244 ObjectClassRec; 15245 ------------------------------------------------------------------------------- 15246 15247 Interfaces Definitions for libXt 15248 15249 Table of Contents 15250 _XtCopyFromArg -- Copy "size" bytes from src to dst. 15251 _XtInherit -- inheritance operation. 15252 _XtInheritTranslations -- an inheritance constant 15253 _XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass. 15254 15255 _XtCopyFromArg 15256 15257 Name 15258 15259 _XtCopyFromArg -- Copy "size" bytes from src to dst. 15260 15261 Synopsis 15262 15263 void _XtCopyFromArg(XtArgVal src,char* dst,unsigned int size); 15264 15265 Description 15266 15267 The _XtCopyFromArg() function copies "size" bytes from src to dst. This is an 15268 internal X function call. 15269 15270 _XtInherit 15271 15272 Name 15273 15274 _XtInherit -- inheritance operation. 15275 15276 Synopsis 15277 15278 #include 15279 15280 extern void _XtInherit( 15281 #if NeedFunctionPrototypes 15282 void 15283 #endif 15284 ); 15285 15286 Description 15287 15288 _XtInherit() is a procedure that issues an error message if it is actually 15289 called. 15290 15291 _XtInheritTranslations 15292 15293 Name 15294 15295 _XtInheritTranslations -- an inheritance constant 15296 15297 Synopsis 15298 15299 #include 15300 15301 externalref int _XtInheritTranslations; 15302 15303 Description 15304 15305 _XtInheritTranslations is an inheritance constant. 15306 15307 _XtIsSubclassOf 15308 15309 Name 15310 15311 _XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass. 15312 15313 Synopsis 15314 15315 #include 15316 15317 extern Boolean _XtIsSubclassOf( 15318 Widget /* object* /, 15319 WidgetClass /* widget_class */, 15320 WidgetClass /* flag_class */, 15321 _XtXtEnum /* type_flag */, 15322 ); 15323 15324 Description 15325 15326 Determine if Widget(object) is a subclass of WidgetClass(widget_class). 15327 15328 ------------------------------------------------------------------------------- 15329 15330 Interfaces for libGL 15331 15332 Table 15-17. libGL Definition 15333 15334 +--------------------+ 15335 |Library:|libGL | 15336 |--------+-----------| 15337 |SONAME: |libGL.so.1 | 15338 +--------------------+ 15339 15340 The behavior of the interfaces in this library is specified by the following 15341 standards. 15342 15343 OpenGL® Application Binary Interface for Linux[48] 15344 15345 ------------------------------------------------------------------------------- 15346 15347 GL X interface 15348 15349 Table 15-18. libGL - GL X interface Function Interfaces 15350 15351 +----------------------------------------------------------------------------------------------------------+ 15352 |glXChooseVisual[48]|glXDestroyGLXPixmap |glXGetCurrentDisplay[48] |glXMakeContextCurrent |glXSelectEvent| 15353 | |[48] | |[48] |[48] | 15354 |-------------------+--------------------+-------------------------+------------------------+--------------| 15355 |glXCopyContext[48] |glXDestroyPbuffer |glXGetCurrentDrawable[48]|glXMakeCurrent[48] |glXSwapBuffers| 15356 | |[48] | | |[48] | 15357 |-------------------+--------------------+-------------------------+------------------------+--------------| 15358 |glXCreateContext |glXDestroyPixmap[48]|glXGetCurrentReadDrawable|glXQueryContext[48] |glXUseXFont | 15359 |[48] | |[48] | |[48] | 15360 |-------------------+--------------------+-------------------------+------------------------+--------------| 15361 |glXCreateGLXPixmap |glXDestroyWindow[48]|glXGetFBConfigAttrib[48] |glXQueryContextInfoEXT |glXWaitGL[48] | 15362 |[48] | | |[48] | | 15363 |-------------------+--------------------+-------------------------+------------------------+--------------| 15364 |glXCreateNewContext|glXFreeContextEXT |glXGetProcAddressARB[48] |glXQueryDrawable[48] |glXWaitX[48] | 15365 |[48] |[48] | | | | 15366 |-------------------+--------------------+-------------------------+------------------------+--------------| 15367 |glXCreatePbuffer |glXGetClientString |glXGetSelectedEvent[48] |glXQueryExtension[48] | | 15368 |[48] |[48] | | | | 15369 |-------------------+--------------------+-------------------------+------------------------+--------------| 15370 |glXCreatePixmap[48]|glXGetConfig[48] |glXGetVisualFromFBConfig |glXQueryExtensionsString| | 15371 | | |[48] |[48] | | 15372 |-------------------+--------------------+-------------------------+------------------------+--------------| 15373 |glXCreateWindow[48]|glXGetContextIDEXT |glXImportContextEXT[48] |glXQueryServerString[48]| | 15374 | |[48] | | | | 15375 |-------------------+--------------------+-------------------------+------------------------+--------------| 15376 |glXDestroyContext |glXGetCurrentContext|glXIsDirect[48] |glXQueryVersion[48] | | 15377 |[48] |[48] | | | | 15378 +----------------------------------------------------------------------------------------------------------+ 15379 ------------------------------------------------------------------------------- 15380 15381 OpenGL 15382 15383 Table 15-19. libGL - OpenGL Function Interfaces 15384 15385 +------------------------------------------------------------------------------------------------------------------+ 15386 |glAccum[48] |glDisable[48] |glIndexPointer[48] |glNormal3bv[48] |glTexCoord1dv[48]| 15387 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15388 |glActiveTextureARB[48] |glDisableClientState[48] |glIndexd[48] |glNormal3d[48] |glTexCoord1f[48] | 15389 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15390 |glAlphaFunc[48] |glDrawArrays[48] |glIndexdv[48] |glNormal3dv[48] |glTexCoord1fv[48]| 15391 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15392 |glAreTexturesResident[48]|glDrawBuffer[48] |glIndexf[48] |glNormal3f[48] |glTexCoord1i[48] | 15393 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15394 |glArrayElement[48] |glDrawElements[48] |glIndexfv[48] |glNormal3fv[48] |glTexCoord1iv[48]| 15395 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15396 |glBegin[48] |glDrawPixels[48] |glIndexi[48] |glNormal3i[48] |glTexCoord1s[48] | 15397 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15398 |glBindTexture[48] |glDrawRangeElements[48] |glIndexiv[48] |glNormal3iv[48] |glTexCoord1sv[48]| 15399 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15400 |glBitmap[48] |glEdgeFlag[48] |glIndexs[48] |glNormal3s[48] |glTexCoord2d[48] | 15401 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15402 |glBlendColor[48] |glEdgeFlagPointer[48] |glIndexsv[48] |glNormal3sv[48] |glTexCoord2dv[48]| 15403 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15404 |glBlendEquation[48] |glEdgeFlagv[48] |glIndexub[48] |glNormalPointer[48] |glTexCoord2f[48] | 15405 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15406 |glBlendFunc[48] |glEnable[48] |glIndexubv[48] |glOrtho[48] |glTexCoord2fv[48]| 15407 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15408 |glCallList[48] |glEnableClientState[48] |glInitNames[48] |glPassThrough[48] |glTexCoord2i[48] | 15409 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15410 |glCallLists[48] |glEnd[48] |glInterleavedArrays |glPixelMapfv[48] |glTexCoord2iv[48]| 15411 | | |[48] | | | 15412 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15413 |glClear[48] |glEndList[48] |glIsEnabled[48] |glPixelMapuiv[48] |glTexCoord2s[48] | 15414 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15415 |glClearAccum[48] |glEvalCoord1d[48] |glIsList[48] |glPixelMapusv[48] |glTexCoord2sv[48]| 15416 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15417 |glClearColor[48] |glEvalCoord1dv[48] |glIsTexture[48] |glPixelStoref[48] |glTexCoord3d[48] | 15418 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15419 |glClearDepth[48] |glEvalCoord1f[48] |glLightModelf[48] |glPixelStorei[48] |glTexCoord3dv[48]| 15420 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15421 |glClearIndex[48] |glEvalCoord1fv[48] |glLightModelfv[48] |glPixelTransferf[48]|glTexCoord3f[48] | 15422 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15423 |glClearStencil[48] |glEvalCoord2d[48] |glLightModeli[48] |glPixelTransferi[48]|glTexCoord3fv[48]| 15424 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15425 |glClientActiveTextureARB |glEvalCoord2dv[48] |glLightModeliv[48] |glPixelZoom[48] |glTexCoord3i[48] | 15426 |[48] | | | | | 15427 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15428 |glClipPlane[48] |glEvalCoord2f[48] |glLightf[48] |glPointSize[48] |glTexCoord3iv[48]| 15429 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15430 |glColor3b[48] |glEvalCoord2fv[48] |glLightfv[48] |glPolygonMode[48] |glTexCoord3s[48] | 15431 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15432 |glColor3bv[48] |glEvalMesh1[48] |glLighti[48] |glPolygonOffset[48] |glTexCoord3sv[48]| 15433 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15434 |glColor3d[48] |glEvalMesh2[48] |glLightiv[48] |glPolygonStipple[48]|glTexCoord4d[48] | 15435 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15436 |glColor3dv[48] |glEvalPoint1[48] |glLineStipple[48] |glPopAttrib[48] |glTexCoord4dv[48]| 15437 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15438 |glColor3f[48] |glEvalPoint2[48] |glLineWidth[48] |glPopClientAttrib |glTexCoord4f[48] | 15439 | | | |[48] | | 15440 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15441 |glColor3fv[48] |glFeedbackBuffer[48] |glListBase[48] |glPopMatrix[48] |glTexCoord4fv[48]| 15442 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15443 |glColor3i[48] |glFinish[48] |glLoadIdentity[48] |glPopName[48] |glTexCoord4i[48] | 15444 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15445 |glColor3iv[48] |glFlush[48] |glLoadMatrixd[48] |glPrioritizeTextures|glTexCoord4iv[48]| 15446 | | | |[48] | | 15447 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15448 |glColor3s[48] |glFogf[48] |glLoadMatrixf[48] |glPushAttrib[48] |glTexCoord4s[48] | 15449 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15450 |glColor3sv[48] |glFogfv[48] |glLoadName[48] |glPushClientAttrib |glTexCoord4sv[48]| 15451 | | | |[48] | | 15452 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15453 |glColor3ub[48] |glFogi[48] |glLogicOp[48] |glPushMatrix[48] |glTexCoordPointer| 15454 | | | | |[48] | 15455 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15456 |glColor3ubv[48] |glFogiv[48] |glMap1d[48] |glPushName[48] |glTexEnvf[48] | 15457 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15458 |glColor3ui[48] |glFrontFace[48] |glMap1f[48] |glRasterPos2d[48] |glTexEnvfv[48] | 15459 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15460 |glColor3uiv[48] |glFrustum[48] |glMap2d[48] |glRasterPos2dv[48] |glTexEnvi[48] | 15461 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15462 |glColor3us[48] |glGenLists[48] |glMap2f[48] |glRasterPos2f[48] |glTexEnviv[48] | 15463 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15464 |glColor3usv[48] |glGenTextures[48] |glMapGrid1d[48] |glRasterPos2fv[48] |glTexGend[48] | 15465 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15466 |glColor4b[48] |glGetBooleanv[48] |glMapGrid1f[48] |glRasterPos2i[48] |glTexGendv[48] | 15467 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15468 |glColor4bv[48] |glGetClipPlane[48] |glMapGrid2d[48] |glRasterPos2iv[48] |glTexGenf[48] | 15469 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15470 |glColor4d[48] |glGetColorTable[48] |glMapGrid2f[48] |glRasterPos2s[48] |glTexGenfv[48] | 15471 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15472 |glColor4dv[48] |glGetColorTableParameterfv |glMaterialf[48] |glRasterPos2sv[48] |glTexGeni[48] | 15473 | |[48] | | | | 15474 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15475 |glColor4f[48] |glGetColorTableParameteriv |glMaterialfv[48] |glRasterPos3d[48] |glTexGeniv[48] | 15476 | |[48] | | | | 15477 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15478 |glColor4fv[48] |glGetConvolutionFilter[48] |glMateriali[48] |glRasterPos3dv[48] |glTexImage1D[48] | 15479 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15480 |glColor4i[48] |glGetConvolutionParameterfv|glMaterialiv[48] |glRasterPos3f[48] |glTexImage2D[48] | 15481 | |[48] | | | | 15482 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15483 |glColor4iv[48] |glGetConvolutionParameteriv|glMatrixMode[48] |glRasterPos3fv[48] |glTexImage3D[48] | 15484 | |[48] | | | | 15485 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15486 |glColor4s[48] |glGetDoublev[48] |glMinmax[48] |glRasterPos3i[48] |glTexParameterf | 15487 | | | | |[48] | 15488 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15489 |glColor4sv[48] |glGetError[48] |glMultMatrixd[48] |glRasterPos3iv[48] |glTexParameterfv | 15490 | | | | |[48] | 15491 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15492 |glColor4ub[48] |glGetFloatv[48] |glMultMatrixf[48] |glRasterPos3s[48] |glTexParameteri | 15493 | | | | |[48] | 15494 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15495 |glColor4ubv[48] |glGetHistogram[48] |glMultiTexCoord1dARB |glRasterPos3sv[48] |glTexParameteriv | 15496 | | |[48] | |[48] | 15497 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15498 |glColor4ui[48] |glGetHistogramParameterfv |glMultiTexCoord1dvARB|glRasterPos4d[48] |glTexSubImage1D | 15499 | |[48] |[48] | |[48] | 15500 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15501 |glColor4uiv[48] |glGetHistogramParameteriv |glMultiTexCoord1fARB |glRasterPos4dv[48] |glTexSubImage2D | 15502 | |[48] |[48] | |[48] | 15503 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15504 |glColor4us[48] |glGetIntegerv[48] |glMultiTexCoord1fvARB|glRasterPos4f[48] |glTexSubImage3D | 15505 | | |[48] | |[48] | 15506 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15507 |glColor4usv[48] |glGetLightfv[48] |glMultiTexCoord1iARB |glRasterPos4fv[48] |glTranslated[48] | 15508 | | |[48] | | | 15509 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15510 |glColorMask[48] |glGetLightiv[48] |glMultiTexCoord1ivARB|glRasterPos4i[48] |glTranslatef[48] | 15511 | | |[48] | | | 15512 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15513 |glColorMaterial[48] |glGetMapdv[48] |glMultiTexCoord1sARB |glRasterPos4iv[48] |glVertex2d[48] | 15514 | | |[48] | | | 15515 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15516 |glColorPointer[48] |glGetMapfv[48] |glMultiTexCoord1svARB|glRasterPos4s[48] |glVertex2dv[48] | 15517 | | |[48] | | | 15518 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15519 |glColorSubTable[48] |glGetMapiv[48] |glMultiTexCoord2dARB |glRasterPos4sv[48] |glVertex2f[48] | 15520 | | |[48] | | | 15521 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15522 |glColorTable[48] |glGetMaterialfv[48] |glMultiTexCoord2dvARB|glReadBuffer[48] |glVertex2fv[48] | 15523 | | |[48] | | | 15524 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15525 |glColorTableParameterfv |glGetMaterialiv[48] |glMultiTexCoord2fARB |glReadPixels[48] |glVertex2i[48] | 15526 |[48] | |[48] | | | 15527 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15528 |glColorTableParameteriv |glGetMinmax[48] |glMultiTexCoord2fvARB|glRectd[48] |glVertex2iv[48] | 15529 |[48] | |[48] | | | 15530 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15531 |glConvolutionFilter1D[48]|glGetMinmaxParameterfv[48] |glMultiTexCoord2iARB |glRectdv[48] |glVertex2s[48] | 15532 | | |[48] | | | 15533 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15534 |glConvolutionFilter2D[48]|glGetMinmaxParameteriv[48] |glMultiTexCoord2ivARB|glRectf[48] |glVertex2sv[48] | 15535 | | |[48] | | | 15536 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15537 |glConvolutionParameterf |glGetPixelMapfv[48] |glMultiTexCoord2sARB |glRectfv[48] |glVertex3d[48] | 15538 |[48] | |[48] | | | 15539 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15540 |glConvolutionParameterfv |glGetPixelMapuiv[48] |glMultiTexCoord2svARB|glRecti[48] |glVertex3dv[48] | 15541 |[48] | |[48] | | | 15542 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15543 |glConvolutionParameteri |glGetPixelMapusv[48] |glMultiTexCoord3dARB |glRectiv[48] |glVertex3f[48] | 15544 |[48] | |[48] | | | 15545 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15546 |glConvolutionParameteriv |glGetPointerv[48] |glMultiTexCoord3dvARB|glRects[48] |glVertex3fv[48] | 15547 |[48] | |[48] | | | 15548 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15549 |glCopyColorSubTable[48] |glGetPolygonStipple[48] |glMultiTexCoord3fARB |glRectsv[48] |glVertex3i[48] | 15550 | | |[48] | | | 15551 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15552 |glCopyColorTable[48] |glGetSeparableFilter[48] |glMultiTexCoord3fvARB|glRenderMode[48] |glVertex3iv[48] | 15553 | | |[48] | | | 15554 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15555 |glCopyConvolutionFilter1D|glGetString[48] |glMultiTexCoord3iARB |glResetHistogram[48]|glVertex3s[48] | 15556 |[48] | |[48] | | | 15557 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15558 |glCopyConvolutionFilter2D|glGetTexEnvfv[48] |glMultiTexCoord3ivARB|glResetMinmax[48] |glVertex3sv[48] | 15559 |[48] | |[48] | | | 15560 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15561 |glCopyPixels[48] |glGetTexEnviv[48] |glMultiTexCoord3sARB |glRotated[48] |glVertex4d[48] | 15562 | | |[48] | | | 15563 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15564 |glCopyTexImage1D[48] |glGetTexGendv[48] |glMultiTexCoord3svARB|glRotatef[48] |glVertex4dv[48] | 15565 | | |[48] | | | 15566 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15567 |glCopyTexImage2D[48] |glGetTexGenfv[48] |glMultiTexCoord4dARB |glScaled[48] |glVertex4f[48] | 15568 | | |[48] | | | 15569 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15570 |glCopyTexSubImage1D[48] |glGetTexGeniv[48] |glMultiTexCoord4dvARB|glScalef[48] |glVertex4fv[48] | 15571 | | |[48] | | | 15572 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15573 |glCopyTexSubImage2D[48] |glGetTexImage[48] |glMultiTexCoord4fARB |glScissor[48] |glVertex4i[48] | 15574 | | |[48] | | | 15575 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15576 |glCopyTexSubImage3D[48] |glGetTexLevelParameterfv |glMultiTexCoord4fvARB|glSelectBuffer[48] |glVertex4iv[48] | 15577 | |[48] |[48] | | | 15578 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15579 |glCullFace[48] |glGetTexLevelParameteriv |glMultiTexCoord4iARB |glSeparableFilter2D |glVertex4s[48] | 15580 | |[48] |[48] |[48] | | 15581 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15582 |glDeleteLists[48] |glGetTexParameterfv[48] |glMultiTexCoord4ivARB|glShadeModel[48] |glVertex4sv[48] | 15583 | | |[48] | | | 15584 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15585 |glDeleteTextures[48] |glGetTexParameteriv[48] |glMultiTexCoord4sARB |glStencilFunc[48] |glVertexPointer | 15586 | | |[48] | |[48] | 15587 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15588 |glDepthFunc[48] |glHint[48] |glMultiTexCoord4svARB|glStencilMask[48] |glViewport[48] | 15589 | | |[48] | | | 15590 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15591 |glDepthMask[48] |glHistogram[48] |glNewList[48] |glStencilOp[48] |glXChooseFBConfig| 15592 | | | | |[48] | 15593 |-------------------------+---------------------------+---------------------+--------------------+-----------------| 15594 |glDepthRange[48] |glIndexMask[48] |glNormal3b[48] |glTexCoord1d[48] | | 15595 +------------------------------------------------------------------------------------------------------------------+ 15596 ------------------------------------------------------------------------------- 15597 15598 Data Definitions for libGL 15599 15600 This section contains standard data definitions that describe system data. 15601 These definitions are organized into groups that correspond to system headers. 15602 This convention is used as a convenience for the reader, and does not imply the 15603 existence of these headers, or their content. 15604 15605 ISO C serves as the LSB reference programming language, and data definitions 15606 are specified in ISO C format. The C language is used here as a convenient 15607 notation. Using a C language description of these data objects does not 15608 preclude their use by other programming languages. 15609 15610 ------------------------------------------------------------------------------- 15611 15612 GL/gl.h 15613 15614 15615 15616 15617 15618 15619 typedef unsigned int GLenum; 15620 typedef unsigned char GLboolean; 15621 typedef unsigned int GLbitfield; 15622 typedef void GLvoid; 15623 typedef char GLbyte; 15624 typedef short GLshort; 15625 typedef int GLint; 15626 typedef unsigned char GLubyte; 15627 typedef unsigned short GLushort; 15628 typedef unsigned int GLuint; 15629 typedef int GLsizei; 15630 typedef float GLfloat; 15631 typedef float GLclampf; 15632 typedef double GLdouble; 15633 typedef double GLclampd; 15634 15635 15636 15637 #define GL_UNSIGNED_BYTE 0x1401 15638 #define GL_SHORT 0x1402 15639 #define GL_UNSIGNED_SHORT 0x1403 15640 #define GL_INT 0x1404 15641 #define GL_UNSIGNED_INT 0x1405 15642 #define GL_FLOAT 0x1406 15643 #define GL_2_BYTES 0x1407 15644 #define GL_3_BYTES 0x1408 15645 #define GL_4_BYTES 0x1409 15646 #define GL_DOUBLE 0x140A 15647 15648 15649 15650 #define GL_POINTS 0x0000 15651 #define GL_LINES 0x0001 15652 #define GL_LINE_LOOP 0x0002 15653 #define GL_LINE_STRIP 0x0003 15654 #define GL_TRIANGLES 0x0004 15655 #define GL_TRIANGLE_STRIP 0x0005 15656 #define GL_TRIANGLE_FAN 0x0006 15657 #define GL_QUADS 0x0007 15658 #define GL_QUAD_STRIP 0x0008 15659 #define GL_POLYGON 0x0009 15660 15661 15662 15663 #define GL_V2F 0x2A20 15664 #define GL_V3F 0x2A21 15665 #define GL_C4UB_V2F 0x2A22 15666 #define GL_C4UB_V3F 0x2A23 15667 #define GL_C3F_V3F 0x2A24 15668 #define GL_N3F_V3F 0x2A25 15669 #define GL_C4F_N3F_V3F 0x2A26 15670 #define GL_T2F_V3F 0x2A27 15671 #define GL_T4F_V4F 0x2A28 15672 #define GL_T2F_C4UB_V3F 0x2A29 15673 #define GL_T2F_C3F_V3F 0x2A2A 15674 #define GL_T2F_N3F_V3F 0x2A2B 15675 #define GL_T2F_C4F_N3F_V3F 0x2A2C 15676 #define GL_T4F_C4F_N3F_V4F 0x2A2D 15677 #define GL_VERTEX_ARRAY 0x8074 15678 #define GL_NORMAL_ARRAY 0x8075 15679 #define GL_COLOR_ARRAY 0x8076 15680 #define GL_INDEX_ARRAY 0x8077 15681 #define GL_TEXTURE_COORD_ARRAY 0x8078 15682 #define GL_EDGE_FLAG_ARRAY 0x8079 15683 #define GL_VERTEX_ARRAY_SIZE 0x807A 15684 #define GL_VERTEX_ARRAY_TYPE 0x807B 15685 #define GL_VERTEX_ARRAY_STRIDE 0x807C 15686 #define GL_NORMAL_ARRAY_TYPE 0x807E 15687 #define GL_NORMAL_ARRAY_STRIDE 0x807F 15688 #define GL_COLOR_ARRAY_SIZE 0x8081 15689 #define GL_COLOR_ARRAY_TYPE 0x8082 15690 #define GL_COLOR_ARRAY_STRIDE 0x8083 15691 #define GL_INDEX_ARRAY_TYPE 0x8085 15692 #define GL_INDEX_ARRAY_STRIDE 0x8086 15693 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 15694 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 15695 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A 15696 #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C 15697 #define GL_VERTEX_ARRAY_POINTER 0x808E 15698 #define GL_NORMAL_ARRAY_POINTER 0x808F 15699 #define GL_COLOR_ARRAY_POINTER 0x8090 15700 #define GL_INDEX_ARRAY_POINTER 0x8091 15701 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 15702 15703 15704 15705 #define GL_MATRIX_MODE 0x0BA0 15706 #define GL_MODELVIEW 0x1700 15707 #define GL_PROJECTION 0x1701 15708 #define GL_TEXTURE 0x1702 15709 ------------------------------------------------------------------------------- 15710 15711 GL/glx.h 15712 15713 15714 15715 typedef struct __GLXcontextRec *GLXContext; 15716 typedef struct __GLXFBConfigRec *GLXFBConfig; 15717 typedef XID GLXContextID; 15718 typedef XID GLXPixmap; 15719 typedef XID GLXDrawable; 15720 typedef XID GLXPbuffer; 15721 typedef XID GLXWindow; 15722 15723 VII. Package Format and Installation 15724 15725 Table of Contents 15726 16. Software Installation 15727 15728 ------------------------------------------------------------------------------- 15729 15730 Chapter 16. Software Installation 15731 15732 Applications should be provided in the RPM packaging format as defined in this 15733 specification. 15734 15735 Distributions must provide a mechanism for installing applications in this 15736 packaging format with some restrictions listed below. [49] 15737 15738 ------------------------------------------------------------------------------- 15739 15740 Package File Format 15741 15742 An RPM format file consists of 4 sections, the Lead, Signature, Header, and the 15743 Payload. All values are stored in network byte order. 15744 15745 Table 16-1. RPM File Format 15746 15747 +---------+ 15748 |Lead | 15749 |---------| 15750 |Signature| 15751 |---------| 15752 |Header | 15753 |---------| 15754 |Payload | 15755 +---------+ 15756 15757 These 4 sections must exist in the order specified. 15758 15759 The lead section is used to identify the package file. 15760 15761 The signature section is used to verify the integrity, and optionally, the 15762 authenticity of the majority of the package file. 15763 15764 The header section contains all available information about the package. 15765 Entries such as the package's name, version, and file list, are contained in 15766 the header. 15767 15768 The payload section holds the files to be install. 15769 15770 ------------------------------------------------------------------------------- 15771 15772 Lead Section 15773 15774 struct rpmlead { 15775 unsigned char magic[4]; 15776 unsigned char major, minor; 15777 short type; 15778 short archnum; 15779 char name[66]; 15780 short osnum; 15781 short signature_type; 15782 char reserved[16]; 15783 } ; 15784 15785 magic 15786 15787 Value identifying this file as an RPM format file. This value must be "\355 15788 \253\356\333". 15789 15790 major 15791 15792 Value indicating the major version number of the file format version. This 15793 value must be 3. 15794 15795 minor 15796 15797 Value indicating the minor revision number of file format version. This 15798 value must be 0. 15799 15800 type 15801 15802 Value indicating whether this is a source or binary package. This value 15803 must be 0 to indicate a binary package. 15804 15805 archnum 15806 15807 Value indicating the architecture for which this package is valid. This 15808 value is specified in the architecture-specific LSB specification. 15809 15810 name 15811 15812 A NUL terminated string that provides the package name. This name must 15813 conform with the Package Naming section of this specification. 15814 15815 osnum 15816 15817 Value indicating the Operating System for which this package is valid. This 15818 value must be 1. 15819 15820 signature_type 15821 15822 Value indicating the type of the signature used in the Signature part of 15823 the file. This value must be 5. 15824 15825 reserved 15826 15827 Reserved space. The value is undefined. 15828 15829 ------------------------------------------------------------------------------- 15830 15831 Header Structure 15832 15833 The Header structure is used for both the Signature and Header Sections. A 15834 Header Structure consists of 3 parts, a Header record, followed by 1 or more 15835 Index records, followed by 0 or more bytes of data associated with the Index 15836 records. A Header structure must be aligned to an 8 byte boundary. 15837 15838 Table 16-2. Signature Format 15839 15840 +----------------------+ 15841 |Header Record | 15842 |----------------------| 15843 |Array of Index Records| 15844 |----------------------| 15845 |Store of Index Values | 15846 +----------------------+ 15847 ------------------------------------------------------------------------------- 15848 15849 Header Record 15850 15851 struct rpmheader { 15852 unsigned char magic[4]; 15853 unsigned char reserved[4]; 15854 int nindex; 15855 int hsize; 15856 } ; 15857 15858 magic 15859 15860 Value identifying this record as an RPM header record. This value must be " 15861 \216\255\350\001". 15862 15863 reserved 15864 15865 Reserved space. This value must be "\000\000\000\000". 15866 15867 nindex 15868 15869 The number of Index Records that follow this Header Record. There should be 15870 at least 1 Index Record. 15871 15872 hsize 15873 15874 The size in bytes of the storage area for the data pointed to by the Index 15875 Records. 15876 15877 ------------------------------------------------------------------------------- 15878 15879 Index Record 15880 15881 struct rpmhdrindex { 15882 int tag; 15883 int type; 15884 int offset; 15885 int count; 15886 } ; 15887 15888 tag 15889 15890 Value identifying the purpose of the data associated with this Index 15891 Record. This value of this field is dependent on the context in which the 15892 Index Record is used, and is defined below and in later sections. 15893 15894 type 15895 15896 Value identifying the type of the data associated with this Index Record. 15897 The possible type values are defined below. 15898 15899 offset 15900 15901 Location in the Store of the data associated with this Index Record. This 15902 value should between 0 and the value contained in the hsize of the Header 15903 Structure. 15904 15905 count 15906 15907 Size of the data associated with this Index Record. The count is the number 15908 of elements whose size is defined by the type of this Record. 15909 15910 ------------------------------------------------------------------------------- 15911 15912 Index Type Values 15913 15914 The possible values for the type field are defined in this table. 15915 15916 Table 16-3. Index Type values 15917 15918 +-----------------------------------------------------------------------------+ 15919 |Type |Value|Size (in bytes) |Alignment| 15920 |---------------------+-----+---------------------------------------+---------| 15921 |RPM_NULL_TYPE |0 |Not Implemented. | | 15922 |---------------------+-----+---------------------------------------+---------| 15923 |RPM_CHAR_TYPE |1 |1 |1 | 15924 |---------------------+-----+---------------------------------------+---------| 15925 |RPM_INT8_TYPE |2 |1 |1 | 15926 |---------------------+-----+---------------------------------------+---------| 15927 |RPM_INT16_TYPE |3 |2 |2 | 15928 |---------------------+-----+---------------------------------------+---------| 15929 |RPM_INT32_TYPE |4 |4 |4 | 15930 |---------------------+-----+---------------------------------------+---------| 15931 |RPM_INT64_TYPE |5 |Reserved. | | 15932 |---------------------+-----+---------------------------------------+---------| 15933 |RPM_STRING_TYPE |6 |variable, NUL terminated |1 | 15934 |---------------------+-----+---------------------------------------+---------| 15935 |RPM_BIN_TYPE |7 |1 |1 | 15936 |---------------------+-----+---------------------------------------+---------| 15937 |RPM_STRING_ARRAY_TYPE|8 |Variable, sequence of NUL terminated |1 | 15938 | | |strings | | 15939 |---------------------+-----+---------------------------------------+---------| 15940 |RPM_I18NSTRING_TYPE |9 |variable, sequence of NUL terminated |1 | 15941 | | |strings | | 15942 +-----------------------------------------------------------------------------+ 15943 15944 The string arrays specified for enties of type RPM_STRING_ARRAY_TYPE and 15945 RPM_I18NSTRING_TYPE are vectors of strings in a contiguous block of memory, 15946 each element separated from its neighbors by a NUL character. 15947 15948 Index records with type RPM_I18NSTRING_TYPE must always have a count of 1. The 15949 array entries in an index of type RPM_I18NSTRING_TYPE correspond to the locale 15950 names contained in the HDRTAG_HDRI18NTABLE index. 15951 15952 ------------------------------------------------------------------------------- 15953 15954 Index Tag Values 15955 15956 Some values are designated as header private, and may appear in any header 15957 structure. These are defined here. Additional values are defined in later 15958 sections. 15959 15960 Table 16-4. Header Private Tag Values 15961 15962 +---------------------------------------------------------------+ 15963 | Name |Tag Value| Type |Count| Status | 15964 |------------------------+---------+-------------+-----+--------| 15965 |RPMTAG_HEADERSIGNATURES |62 |BIN |16 |Optional| 15966 |------------------------+---------+-------------+-----+--------| 15967 |RPMTAG_HEADERIMMUTABLE |63 |BIN |16 |Optional| 15968 |------------------------+---------+-------------+-----+--------| 15969 |RPMTAG_HEADERI18NTABLE |100 |STRING_ARRAY | |Required| 15970 +---------------------------------------------------------------+ 15971 15972 RPMTAG_HEADERSIGNATURES 15973 15974 The signature tag differentiates a signature header from a metadata header, 15975 and identifies the original contents of the signature header. 15976 15977 RPMTAG_HEADERIMMUTABLE 15978 15979 This tag contains an index record which specifies the portion of the Header 15980 Record which was used for the calculation of a signature. This data must be 15981 preserved or any header-only signature will be invalidated. 15982 15983 RPMTAG_HEADERI18NTABLE 15984 15985 Contains a list of locales for which strings are provided in other parts of 15986 the package. 15987 15988 Not all Index records defined here will be present in all packages. Each tag 15989 value has a status which is defined here. 15990 15991 Required 15992 15993 This Index Record must be present. 15994 15995 Optional 15996 15997 This Index Record may be present. 15998 15999 Deprecated 16000 16001 This Index Record should not be present. 16002 16003 Obsolete 16004 16005 This Index Record must not be present. 16006 16007 Reserved 16008 16009 This Index Record must not be present. 16010 16011 ------------------------------------------------------------------------------- 16012 16013 Header Store 16014 16015 The header store contains the values specified by the Index structures. These 16016 values are aligned according to their type and padding is used if needed. The 16017 store is located immediately following the Index structures. 16018 16019 ------------------------------------------------------------------------------- 16020 16021 Signature Section 16022 16023 The Signature section is implemented using the Header structure. The signature 16024 section defines the following additional tag values which may be used in the 16025 Index structures. 16026 16027 These values exist to provide additional information about the rest of the 16028 package. 16029 16030 Table 16-5. Signature Tag Values 16031 16032 +--------------------------------------------------+ 16033 | Name |Tag Value|Type |Count| Status | 16034 |-------------------+---------+-----+-----+--------| 16035 |SIGTAG_SIGSIZE |1000 |INT32|1 |Required| 16036 |-------------------+---------+-----+-----+--------| 16037 |SIGTAG_PAYLOADSIZE |1007 |INT32|1 |Optional| 16038 +--------------------------------------------------+ 16039 16040 SIGTAG_SIGSIZE 16041 16042 This tag specifies the combined size of the Header and Payload sections. 16043 16044 SIGTAG_PAYLOADSIZE 16045 16046 This tag specifies the uncompressed size of the Payload archive, including 16047 the cpio headers. 16048 16049 These values exist to ensure the integrity of the rest of the package. 16050 16051 Table 16-6. Signature Digest Tag Values 16052 16053 +---------------------------------------------------+ 16054 | Name |Tag Value | Type |Count| Status | 16055 |------------------+----------+------+-----+--------| 16056 |SIGTAG_MD5 |1004 |BIN |16 |Required| 16057 |------------------+----------+------+-----+--------| 16058 |SIGTAG_SHA1HEADER |1010 |STRING|1 |Optional| 16059 +---------------------------------------------------+ 16060 16061 SIGTAG_MD5 16062 16063 This tag specifies the 128-bit MD5 checksum of the combined Header and 16064 Archive sections. 16065 16066 SIGTAG_SHA1HEADER 16067 16068 This index contains the SHA1 checksum of the entire Header Section, 16069 including the Header Record, Index Records and Header store. 16070 16071 These values exist to provide authentication of the package. 16072 16073 Table 16-7. Signature Signing Tag Values 16074 16075 +-----------------------------------------------+ 16076 | Name |Tag Value|Type|Count| Status | 16077 |-----------------+---------+----+-----+--------| 16078 |SIGTAG_PGP |1002 |BIN |1 |Optional| 16079 |-----------------+---------+----+-----+--------| 16080 |SIGTAG_GPG |1005 |BIN |1 |Optional| 16081 |-----------------+---------+----+-----+--------| 16082 |SIGTAG_DSAHEADER |1011 |BIN |1 |Optional| 16083 |-----------------+---------+----+-----+--------| 16084 |SIGTAG_RSAHEADER |1012 |BIN |1 |Optional| 16085 +-----------------------------------------------+ 16086 16087 SIGTAG_PGP 16088 16089 This tag specifies the RSA signature of the combined Header and Payload 16090 sections. The data is formatted as a Version 3 Signature Packet as 16091 specified in RFC 2440: OpenPGP Message Format. 16092 16093 SIGTAG_GPG 16094 16095 The tag contains the DSA signature of the combined Header and Payload 16096 sections. The data is formatted as a Version 3 Signature Packet as 16097 specified in RFC 2440: OpenPGP Message Format. 16098 16099 SIGTAG_DSAHEADER 16100 16101 The tag contains the DSA signature of the Header section. The data is 16102 formatted as a Version 3 Signature Packet as specified in RFC 2440: OpenPGP 16103 Message Format. If this tag is present,then the SIGTAG_GPG tag must also be 16104 present. 16105 16106 SIGTAG_RSAHEADER 16107 16108 The tag contains the RSA signature of the Header section.The data is 16109 formatted as a Version 3 Signature Packet as specified in RFC 2440: OpenPGP 16110 Message Format. If this tag is present, then the SIGTAG_PGP must also be 16111 present. 16112 16113 ------------------------------------------------------------------------------- 16114 16115 Header Section 16116 16117 The Header section is implemented using the Header structure. The Header 16118 section defines the following additional tag values which may be used in the 16119 Index structures. 16120 16121 ------------------------------------------------------------------------------- 16122 16123 Package Information 16124 16125 The following tag values are used to indicate information that describes the 16126 package as a whole. 16127 16128 Table 16-8. Package Info Tag Values 16129 16130 +--------------------------------------------------------------+ 16131 | Name |Tag Value| Type |Count| Status | 16132 |-------------------------+---------+-----------+-----+--------| 16133 |RPMTAG_NAME |1000 |STRING |1 |Required| 16134 |-------------------------+---------+-----------+-----+--------| 16135 |RPMTAG_VERSION |1001 |STRING |1 |Required| 16136 |-------------------------+---------+-----------+-----+--------| 16137 |RPMTAG_RELEASE |1002 |STRING |1 |Required| 16138 |-------------------------+---------+-----------+-----+--------| 16139 |RPMTAG_SUMMARY |1004 |I18NSTRING |1 |Required| 16140 |-------------------------+---------+-----------+-----+--------| 16141 |RPMTAG_DESCRIPTION |1005 |I18NSTRING |1 |Required| 16142 |-------------------------+---------+-----------+-----+--------| 16143 |RPMTAG_SIZE |1009 |INT32 |1 |Required| 16144 |-------------------------+---------+-----------+-----+--------| 16145 |RPMTAG_LICENSE |1014 |STRING |1 |Required| 16146 |-------------------------+---------+-----------+-----+--------| 16147 |RPMTAG_GROUP |1016 |I18NSTRING |1 |Required| 16148 |-------------------------+---------+-----------+-----+--------| 16149 |RPMTAG_OS |1021 |STRING |1 |Required| 16150 |-------------------------+---------+-----------+-----+--------| 16151 |RPMTAG_ARCH |1022 |STRING |1 |Required| 16152 |-------------------------+---------+-----------+-----+--------| 16153 |RPMTAG_SOURCERPM |1044 |STRING |1 |Optional| 16154 |-------------------------+---------+-----------+-----+--------| 16155 |RPMTAG_ARCHIVESIZE |1046 |INT32 |1 |Optional| 16156 |-------------------------+---------+-----------+-----+--------| 16157 |RPMTAG_RPMVERSION |1064 |STRING |1 |Optional| 16158 |-------------------------+---------+-----------+-----+--------| 16159 |RPMTAG_COOKIE |1094 |STRING |1 |Optional| 16160 |-------------------------+---------+-----------+-----+--------| 16161 |RPMTAG_PAYLOADFORMAT |1124 |STRING |1 |Required| 16162 |-------------------------+---------+-----------+-----+--------| 16163 |RPMTAG_PAYLOADCOMPRESSOR |1125 |STRING |1 |Required| 16164 |-------------------------+---------+-----------+-----+--------| 16165 |RPMTAG_PAYLOADFLAGS |1126 |STRING |1 |Required| 16166 +--------------------------------------------------------------+ 16167 16168 RPMTAG_NAME 16169 16170 This tag specifies the name of the package. 16171 16172 RPMTAG_VERSION 16173 16174 This tag specifies the version of the package. 16175 16176 RPMTAG_RELEASE 16177 16178 This tag specifies the release of the package. 16179 16180 RPMTAG_SUMMARY 16181 16182 This tag specifies the summary description of the package. The summary 16183 value pointed to by this index record contains a one line description of 16184 the package. 16185 16186 RPMTAG_DESCRIPTION 16187 16188 This tag specifies the description of the package. The description value 16189 pointed to by this index record contains a full desription of the package. 16190 16191 RPMTAG_SIZE 16192 16193 This tag specifies the sum of the sizes of the regular files in the 16194 archive. 16195 16196 RPMTAG_LICENSE 16197 16198 This tag specifies the license which applies to this package. 16199 16200 RPMTAG_GROUP 16201 16202 This tag specifies the administrative group to which this package belongs. 16203 16204 RPMTAG_OS 16205 16206 This tag specifies the OS of the package. The OS value pointed to by this 16207 index record must be "linux". 16208 16209 RPMTAG_ARCH 16210 16211 This tag specifies the architecture of the package. The architecture value 16212 pointed to by this index record is defined in architecture specific LSB 16213 specification. 16214 16215 RPMTAG_SOURCERPM 16216 16217 This tag specifies the name of the source RPM 16218 16219 RPMTAG_ARCHIVESIZE 16220 16221 This tag specifies the uncompressed size of the Payload archive, including 16222 the cpio headers. 16223 16224 RPMTAG_RPMVERSION 16225 16226 This tag indicates the version of RPM tool used to build this package. The 16227 value is unused. 16228 16229 RPMTAG_COOKIE 16230 16231 This tag contains an opaque string whose contents are undefined. 16232 16233 RPMTAG_PAYLOADFORMAT 16234 16235 This tag specifies the format of the Archive section. The format value 16236 pointed to by this index record must be 'cpio'. 16237 16238 RPMTAG_PAYLOADCOMPRESSOR 16239 16240 This tag specifies the compression used on the Archive section. The 16241 compression value pointed to by this index record must be 'gzip' 16242 16243 RPMTAG_PAYLOADFLAGS 16244 16245 This tag indicates the compression level used for the Payload. This value 16246 must always be '9'. 16247 16248 ------------------------------------------------------------------------------- 16249 16250 Installation Information 16251 16252 The following tag values are used to provide information needed during the 16253 installation of the package. 16254 16255 Table 16-9. Installation Tag Values 16256 16257 +---------------------------------------------------+ 16258 | Name |Tag Value | Type |Count| Status | 16259 |------------------+----------+------+-----+--------| 16260 |RPMTAG_PREINPROG |1085 |STRING|1 |Optional| 16261 |------------------+----------+------+-----+--------| 16262 |RPMTAG_POSTINPROG |1086 |STRING|1 |Optional| 16263 |------------------+----------+------+-----+--------| 16264 |RPMTAG_PREUNPROG |1087 |STRING|1 |Optional| 16265 |------------------+----------+------+-----+--------| 16266 |RPMTAG_POSTUNPROG |1088 |STRING|1 |Optional| 16267 +---------------------------------------------------+ 16268 16269 RPMTAG_PREINPROG 16270 16271 This tag specifies the name of the intepreter to which the preinstall 16272 scriptlet will be passed. 16273 16274 RPMTAG_POSTINPROG 16275 16276 This tag specifies the name of the intepreter to which the postinstall 16277 scriptlet will be passed. 16278 16279 RPMTAG_PREUNPROG 16280 16281 This tag specifies the name of the intepreter to which the preuninstall 16282 scriptlet will be passed. 16283 16284 RPMTAG_POSTUNPROG 16285 16286 This program specifies the name of the intepreter to which the 16287 postuninstall scriptlet will be passed 16288 16289 ------------------------------------------------------------------------------- 16290 16291 File Information 16292 16293 The following tag values are used to provide information about the files in the 16294 payload. This information is provided in the header to allow more efficient 16295 access of the information. 16296 16297 Table 16-10. File Info Tag Values 16298 16299 +------------------------------------------------------------+ 16300 | Name |Tag Value| Type |Count| Status | 16301 |---------------------+---------+-------------+-----+--------| 16302 |RPMTAG_OLDFILENAMES |1027 |STRING_ARRAY | |Optional| 16303 |---------------------+---------+-------------+-----+--------| 16304 |RPMTAG_FILESIZES |1028 |INT32 | |Required| 16305 |---------------------+---------+-------------+-----+--------| 16306 |RPMTAG_FILEMODES |1030 |INT16 | |Required| 16307 |---------------------+---------+-------------+-----+--------| 16308 |RPMTAG_FILERDEVS |1033 |INT16 | |Required| 16309 |---------------------+---------+-------------+-----+--------| 16310 |RPMTAG_FILEMTIMES |1034 |INT32 | |Required| 16311 |---------------------+---------+-------------+-----+--------| 16312 |RPMTAG_FILEMD5S |1035 |STRING_ARRAY | |Required| 16313 |---------------------+---------+-------------+-----+--------| 16314 |RPMTAG_FILELINKTOS |1036 |STRING_ARRAY | |Required| 16315 |---------------------+---------+-------------+-----+--------| 16316 |RPMTAG_FILEFLAGS |1037 |INT32 | |Required| 16317 |---------------------+---------+-------------+-----+--------| 16318 |RPMTAG_FILEUSERNAME |1039 |STRING_ARRAY | |Required| 16319 |---------------------+---------+-------------+-----+--------| 16320 |RPMTAG_FILEGROUPNAME |1040 |STRING_ARRAY | |Required| 16321 |---------------------+---------+-------------+-----+--------| 16322 |RPMTAG_FILEDEVICES |1095 |INT32 | |Required| 16323 |---------------------+---------+-------------+-----+--------| 16324 |RPMTAG_FILEINODES |1096 |INT32 | |Required| 16325 |---------------------+---------+-------------+-----+--------| 16326 |RPMTAG_FILELANGS |1097 |STRING_ARRAY | |Required| 16327 |---------------------+---------+-------------+-----+--------| 16328 |RPMTAG_DIRINDEXES |1116 |INT32 | |Optional| 16329 |---------------------+---------+-------------+-----+--------| 16330 |RPMTAG_BASENAMES |1117 |STRING_ARRAY | |Optional| 16331 |---------------------+---------+-------------+-----+--------| 16332 |RPMTAG_DIRNAMES |1118 |STRING_ARRAY | |Optional| 16333 +------------------------------------------------------------+ 16334 16335 RPMTAG_OLDFILENAMES 16336 16337 This tag specifies the filenames when not in a compressed format as 16338 determined by the absense of rpmlib(CompressedFileNames) in the 16339 RPMTAG_REQUIRENAME index. 16340 16341 RPMTAG_FILESIZES 16342 16343 This tag specifies the size of each file in the archive. 16344 16345 RPMTAG_FILEMODES 16346 16347 This tag specifies the mode of each file in the archive. 16348 16349 RPMTAG_FILERDEVS 16350 16351 This tag specifies the device number from which the file was copied. 16352 16353 RPMTAG_FILEMTIMES 16354 16355 This tag specifies the modification time in seconds since the epoch of each 16356 file in the archive. 16357 16358 RPMTAG_FILEMD5S 16359 16360 This tag specifies the ASCII representation of the MD5 sum of the 16361 corresponding file contents. This value is empty if the corresponding 16362 archive entry is not a regular file. 16363 16364 RPMTAG_FILELINKTOS 16365 16366 The target for a symlink, otherwise NULL. 16367 16368 RPMTAG_FILEFLAGS 16369 16370 This tag specifies the bit(s) to classify and control how files are to be 16371 installed. 16372 16373 RPMTAG_FILEUSERNAME 16374 16375 This tag specifies the owner of the corresponding file. 16376 16377 RPMTAG_FILEGROUPNAME 16378 16379 This tag specifies the of the corresponding file. 16380 16381 RPMTAG_FILEDEVICES 16382 16383 This tag specifies the 16 bit device number from which the file was copied. 16384 16385 RPMTAG_FILEINODES 16386 16387 This tag specifies the inode value from the original file on the build 16388 host. 16389 16390 RPMTAG_FILELANGS 16391 16392 This tag specifies a per-file locale marker used to install only locale 16393 specific subsets of files when the package is installed. 16394 16395 RPMTAG_DIRINDEXES 16396 16397 This tag specifies the index into the array provided by the RPMTAG_DIRNAMES 16398 Index which contains the directory name for the corresponding filename. 16399 16400 RPMTAG_BASENAMES 16401 16402 This tag specifies the base portion of the corresponding filename. 16403 16404 RPMTAG_DIRNAMES 16405 16406 This tag specifies the directory portion of the corresponding filename. 16407 Each directory name must contain a trailing '/'. 16408 16409 One of RPMTAG_OLDFILENAMES or the tuple 16410 RPMTAG_DIRINDEXES,RPMTAG_BASENAMES,RPMTAG_DIRNAMES must be present, but not 16411 both. 16412 16413 ------------------------------------------------------------------------------- 16414 16415 Dependency Information 16416 16417 The following tag values are used to provide information about 16418 interdependencies between packages. 16419 16420 Table 16-11. Package Dependency Tag Values 16421 16422 +--------------------------------------------------------------+ 16423 | Name |Tag Value| Type |Count| Status | 16424 |-----------------------+---------+-------------+-----+--------| 16425 |RPMTAG_PROVIDENAME |1047 |STRING_ARRAY |1 |Required| 16426 |-----------------------+---------+-------------+-----+--------| 16427 |RPMTAG_REQUIREFLAGS |1048 |INT32 | |Required| 16428 |-----------------------+---------+-------------+-----+--------| 16429 |RPMTAG_REQUIRENAME |1049 |STRING_ARRAY | |Required| 16430 |-----------------------+---------+-------------+-----+--------| 16431 |RPMTAG_REQUIREVERSION |1050 |STRING_ARRAY | |Required| 16432 |-----------------------+---------+-------------+-----+--------| 16433 |RPMTAG_CONFLICTFLAGS |1053 |INT32 | |Optional| 16434 |-----------------------+---------+-------------+-----+--------| 16435 |RPMTAG_CONFLICTNAME |1054 |STRING_ARRAY | |Optional| 16436 |-----------------------+---------+-------------+-----+--------| 16437 |RPMTAG_CONFLICTVERSION |1055 |STRING_ARRAY | |Optional| 16438 |-----------------------+---------+-------------+-----+--------| 16439 |RPMTAG_OBSOLETENAME |1090 |STRING_ARRAY | |Optional| 16440 |-----------------------+---------+-------------+-----+--------| 16441 |RPMTAG_PROVIDEFLAGS |1112 |INT32 | |Required| 16442 |-----------------------+---------+-------------+-----+--------| 16443 |RPMTAG_PROVIDEVERSION |1113 |STRING_ARRAY | |Required| 16444 |-----------------------+---------+-------------+-----+--------| 16445 |RPMTAG_OBSOLETEFLAGS |1114 |INT32 |1 |Optional| 16446 |-----------------------+---------+-------------+-----+--------| 16447 |RPMTAG_OBSOLETEVERSION |1115 |INT32 |1 |Optional| 16448 +--------------------------------------------------------------+ 16449 16450 RPMTAG_PROVIDENAME 16451 16452 This tag indicates the name of the dependency provided by this package. 16453 16454 RPMTAG_REQUIREFLAGS 16455 16456 Bits(s) to specify the dependency range and context. 16457 16458 RPMTAG_REQUIRENAME 16459 16460 This tag indicates the dependencies for this package. 16461 16462 RPMTAG_REQUIREVERSION 16463 16464 This tag indicates the versions associated with the values found in the 16465 RPMTAG_REQUIRENAME Index. 16466 16467 RPMTAG_CONFLICTFLAGS 16468 16469 Bits(s) to specify the conflict range and context. 16470 16471 RPMTAG_CONFLICTNAME 16472 16473 This tag indicates the conflictind dependencies for this package. 16474 16475 RPMTAG_CONFLICTVERSION 16476 16477 This tag indicates the versions associated with the values found in the 16478 RPMTAG_CONFLICTNAME Index. 16479 16480 RPMTAG_OBSOLETENAME 16481 16482 This tag indicates the obsoleted dependencies for this package. 16483 16484 RPMTAG_PROVIDEFLAGS 16485 16486 Bits(s) to specify the conflict range and context. 16487 16488 RPMTAG_PROVIDEVERSION 16489 16490 This tag indicates the versions associated with the values found in the 16491 RPMTAG_PROVIDENAME Index. 16492 16493 RPMTAG_OBSOLETEFLAGS 16494 16495 Bits(s) to specify the conflict range and context. 16496 16497 RPMTAG_OBSOLETEVERSION 16498 16499 This tag indicates the versions associated with the values found in the 16500 RPMTAG_OBSOLETENAME Index. 16501 16502 ------------------------------------------------------------------------------- 16503 16504 Package Dependency Values 16505 16506 The package dependencies are stored in the RPMTAG_REQUIRENAME and 16507 RPMTAG_REQUIREVERSION index records. The following values may be used. 16508 16509 Table 16-12. Index Type values 16510 16511 +-----------------------------------------------------------------------------+ 16512 |Name |Version|Meaning |Status | 16513 |------------------------+-------+-----------------------------------+--------| 16514 |lsb |1.3 |Indicates this is an LSB conforming|Required| 16515 | | |package. | | 16516 |------------------------+-------+-----------------------------------+--------| 16517 |rpmlib |3.0.3-1|Indicates That the package contains|Optional| 16518 |(VersionedDependencies) | |PMTAG_PROVIDENAME, | | 16519 | | |RPMTAG_OBSOLETENAME or | | 16520 | | |RPMTAG_PREREQ records that have a | | 16521 | | |version associated with them. | | 16522 |------------------------+-------+-----------------------------------+--------| 16523 |rpmlib |4.0-1 |Indicates the filenames in the |Optional| 16524 |(PayloadFilesHavePrefix)| |Archive have had "." prepended to | | 16525 | | |them. | | 16526 |------------------------+-------+-----------------------------------+--------| 16527 |rpmlib |3.0.4-1|Indicates that the filenames in the|Optional| 16528 |(CompressedFileNames) | |Payload are represented in the | | 16529 | | |RPMTAG_DIRINDEXES, RPMTAG_DIRNAME | | 16530 | | |and RPMTAG_BASENAMES indexes. | | 16531 |------------------------+-------+-----------------------------------+--------| 16532 |/bin/sh | |Interpreter usually required for |Optional| 16533 | | |installation scripts. | | 16534 +-----------------------------------------------------------------------------+ 16535 ------------------------------------------------------------------------------- 16536 16537 Package Dependencies Attributes 16538 16539 The package dependency attributes are stored in the RPMTAG_REQUIREFLAGS, 16540 RPMTAG_PROVIDEFLAGS and RPMTAG_OBSOLETEFLAGS index records. The following 16541 values may be used. 16542 16543 Table 16-13. Package Dependency Attributes 16544 16545 +-----------------------------------------+ 16546 |Name |Value |Meaning| 16547 |-----------------------+---------+-------| 16548 |RPMSENSE_LESS |0x02 | | 16549 |-----------------------+---------+-------| 16550 |RPMSENSE_GREATER |0x04 | | 16551 |-----------------------+---------+-------| 16552 |RPMSENSE_EQUAL |0x08 | | 16553 |-----------------------+---------+-------| 16554 |RPMSENSE_PREREQ |0x40 | | 16555 |-----------------------+---------+-------| 16556 |RPMSENSE_INTERP |0x100 | | 16557 |-----------------------+---------+-------| 16558 |RPMSENSE_SCRIPT_PRE |0x200 | | 16559 |-----------------------+---------+-------| 16560 |RPMSENSE_SCRIPT_POST |0x400 | | 16561 |-----------------------+---------+-------| 16562 |RPMSENSE_SCRIPT_PREUN |0x800 | | 16563 |-----------------------+---------+-------| 16564 |RPMSENSE_SCRIPT_POSTUN |0x1000 | | 16565 |-----------------------+---------+-------| 16566 |RPMSENSE_RPMLIB |0x1000000| | 16567 +-----------------------------------------+ 16568 ------------------------------------------------------------------------------- 16569 16570 Other Information 16571 16572 The following tag values are also found in the Header section. 16573 16574 Table 16-14. Other Tag Values 16575 16576 +----------------------------------------------------------------+ 16577 | Name |Tag Value| Type |Count| Status | 16578 |-----------------------+---------+-------------+-----+----------| 16579 |RPMTAG_BUILDTIME |1006 |INT32 |1 |Optional | 16580 |-----------------------+---------+-------------+-----+----------| 16581 |RPMTAG_BUILDHOST |1007 |STRING |1 |Optional | 16582 |-----------------------+---------+-------------+-----+----------| 16583 |RPMTAG_FILEVERIFYFLAGS |1045 |INT32 | |Optional | 16584 |-----------------------+---------+-------------+-----+----------| 16585 |RPMTAG_CHANGELOGTIME |1080 |INT32 | |Optional | 16586 |-----------------------+---------+-------------+-----+----------| 16587 |RPMTAG_CHANGELOGNAME |1081 |STRING_ARRAY | |Optional | 16588 |-----------------------+---------+-------------+-----+----------| 16589 |RPMTAG_CHANGELOGTEXT |1082 |STRING_ARRAY | |Optional | 16590 |-----------------------+---------+-------------+-----+----------| 16591 |RPMTAG_OPTFLAGS |1122 |STRING |1 |Optional | 16592 |-----------------------+---------+-------------+-----+----------| 16593 |RPMTAG_RHNPLATFORM |1131 |STRING |1 |Deprecated| 16594 |-----------------------+---------+-------------+-----+----------| 16595 |RPMTAG_PLATFORM |1132 |STRING |1 |Optional | 16596 +----------------------------------------------------------------+ 16597 16598 RPMTAG_BUILDTIME 16599 16600 This tag specifies the time as seconds since the epoch at which the package 16601 was built. 16602 16603 RPMTAG_BUILDHOST 16604 16605 This tag specifies the on which which the package was built. 16606 16607 RPMTAG_FILEVERIFYFLAGS 16608 16609 This tag specifies the bit(s) to control how files are to be verified after 16610 install, specifying which checks should be performed. 16611 16612 RPMTAG_CHANGELOGTIME 16613 16614 This tag specifies the Unix time in seconds since the epoch associated with 16615 each entry in the Changelog file. 16616 16617 RPMTAG_CHANGELOGNAME 16618 16619 This tag specifies the name of who made a change to this package 16620 16621 RPMTAG_CHANGELOGTEXT 16622 16623 This tag specifies the changes asssociated with a changelog entry. 16624 16625 RPMTAG_OPTFLAGS 16626 16627 This tag indicates additional flags which may have been passed to the 16628 compiler when building this package. 16629 16630 RPMTAG_RHNPLATFORM 16631 16632 This tag contains an opaque string whose contents are undefined. 16633 16634 RPMTAG_PLATFORM 16635 16636 This tag contains an opaque string whose contents are undefined. 16637 16638 ------------------------------------------------------------------------------- 16639 16640 Payload Section 16641 16642 The Payload section contains a compressed cpio archive. The format of this 16643 section is defined by RFC 1952: GZIP file format specification version 4.3. 16644 16645 When uncompressed, the cpio archive contains a sequence of records for each 16646 file. Each record contains a CPIO Header, Filename, Padding, and File Data. 16647 16648 Table 16-15. CPIO File Format 16649 16650 +-----------------------------------------------------------------------------+ 16651 |CPIO Header|Header structure as defined below. | 16652 |-----------+-----------------------------------------------------------------| 16653 |Filename |NUL terminated ASCII string containing the name of the file. | 16654 |-----------+-----------------------------------------------------------------| 16655 |Padding |0-3 bytes as needed to align the file stream to a 4 byte | 16656 | |boundary. | 16657 |-----------+-----------------------------------------------------------------| 16658 |File data |The contents of the file. | 16659 |-----------+-----------------------------------------------------------------| 16660 |Padding |0-3 bytes as needed to align the file stream to a 4 byte | 16661 | |boundary. | 16662 +-----------------------------------------------------------------------------+ 16663 16664 The CPIO Header uses the following header structure (sometimes referred to as 16665 "new ASCII" or "SVR4 cpio"). All numbers are stored as ASCII representations of 16666 their hexadecimal value with leading zeros as needed to fill the field. With 16667 the exception of c_namesize and the corresponding name string, and c_checksum, 16668 all information contained in the CPIO Header is also represented in the Header 16669 Section. The values in in the CPIO Header must match the values contained in 16670 the Header Section. 16671 16672 struct { 16673 char c_magic[6]; 16674 char c_ino[8]; 16675 char c_mode[8]; 16676 char c_uid[8]; 16677 char c_gid[8]; 16678 char c_nlink[8]; 16679 char c_mtime[8]; 16680 char c_filesize[8]; 16681 char c_devmajor[8]; 16682 char c_devminor[8]; 16683 char c_rdevmajor[8]; 16684 char c_rdevminor[8]; 16685 char c_namesize[8]; 16686 char c_checksum[8]; 16687 }; 16688 16689 c_magic 16690 16691 Value identifying this cpio format. This value must be "070701". 16692 16693 c_ino 16694 16695 This field contains the inode number from the filesystem from which the 16696 file was read. This field is ignored when installing a package. This field 16697 must match the corresponding value in the RPMTAG_FILEINODES index in the 16698 Header section. 16699 16700 c_mode 16701 16702 Permission bits of the file. This is an ascii representation of the 16703 hexadecimal number representing the bit as defined for the st_mode field of 16704 the stat structure defined for the stat function. This field must match the 16705 corresponding value in the RPMTAG_FILEMODES index in the Header section. 16706 16707 c_uid 16708 16709 Value identifying this owner of this file. This value matches the uid value 16710 of the corresponding user in the RPMTAG_FILEUSERNAME as found on the system 16711 where this package was built. The username specified in RPMTAG_FILEUSERNAME 16712 should take precedence when installing the package. 16713 16714 c_gid 16715 16716 Value identifying this group of this file. This value matches the gid value 16717 of the corresponding user in the RPMTAG_FILEGROUPNAME as found on the 16718 system where this package was built. The groupname specified in 16719 RPMTAG_FILEGROUPNAME should take precedence when installing the package. 16720 16721 c_nlink 16722 16723 Value identifying the number of links associated with this file. If the 16724 value is greater than 1, then this filename will be linked to 1 or more 16725 files in this archive that has a matching value for the c_ino, c_devmajor 16726 and c_devminor fields. 16727 16728 c_mtime 16729 16730 Value identifying the modification time of the file when it was read. This 16731 field must match the corresponding value in the RPMTAG_FILEMTIMES index in 16732 the Header section. 16733 16734 c_filesize 16735 16736 Value identifying the size of the file. This field must match the 16737 corresponding value in the RPMTAG_FILESIZES index in the Header section. 16738 16739 c_devmajor 16740 16741 The major number of the device containing the file system from which the 16742 file was read. With the exception of processing files with c_nlink >1, this 16743 field is ignored when installing a package. This field must match the 16744 corresponding value in the RPMTAG_FILEDEVICES index in the Header section. 16745 16746 c_devminor 16747 16748 The minor number of the device containing the file system from which the 16749 file was read. With the exception of processing files with c_nlink >1, this 16750 field is ignored when installing a package. This field must match the 16751 corresponding value in the RPMTAG_FILEDEVICES index in the Header section. 16752 16753 c_rdevmajor 16754 16755 The major number of the raw device containing the file system from which 16756 the file was read. This field is ignored when installing a package. This 16757 field must match the corresponding value in the RPMTAG_RDEVS index in the 16758 Header section. 16759 16760 c_rdevminor 16761 16762 The minor number of the raw device containing the file system from which 16763 the file was read. This field is ignored when installing a package. This 16764 field must match the corresponding value in the RPMTAG_RDEVS index in the 16765 Header section. 16766 16767 c_namesize 16768 16769 Value identifying the length of the filename, which is located immediately 16770 following the CPIO Header structure. 16771 16772 c_checksum 16773 16774 Value containing the CRC checksum of the file data. This field is not used, 16775 and must contain the value "00000000". This field is ignored when 16776 installing a package. 16777 16778 A record with the filename "TRAILER!!!" indicates the last record in the 16779 archive. 16780 16781 ------------------------------------------------------------------------------- 16782 16783 Package Script Restrictions 16784 16785 Scripts used as part of the package install and uninstall may only use commands 16786 and interfaces that are specified by the LSB. All other commands are not 16787 guaranteed to be present, or to behave in expected ways. 16788 16789 Packages may not use RPM triggers. 16790 16791 Packages may not depend on the order in which scripts are executed 16792 (pre-install, pre-uninstall, &c), when doing an upgrade. 16793 16794 ------------------------------------------------------------------------------- 16795 16796 Package Tools 16797 16798 The LSB does not specify the interface to the tools used to manipulate 16799 LSB-conformant packages. Each conforming distribution will provide 16800 documentation for installing LSB packages. 16801 16802 ------------------------------------------------------------------------------- 16803 16804 Package Naming 16805 16806 Because there is no consistent packaging naming among the various Linux 16807 distributions, it is necessary for LSB-conformant packages to adhere the 16808 following naming rules to avoid conflicts with packages provided by the 16809 distributions. 16810 16811 * All LSB package names must begin with the prefix "lsb-" to avoid 16812 conflicting with existing packages used by Linux distributions. 16813 16814 * If the package name contains only one hyphen (including the one in the 16815 "lsb-" prefix) then the package name must be assigned by the Linux Assigned 16816 Names and Numbers Authority (LANANA), which shall maintain a registry of 16817 LSB names. 16818 16819 * If the package name contains more than one hyphen (i.e., 16820 "lsb-www.redhat.com-redhat-database", "lsb-gnome-gnumeric"), then the 16821 portion of the package name between first and second hyphens must either be 16822 an LSB provider name assigned by the LANANA, or it may be one of the 16823 owners' fully-qualified domain name in lower case (e.g., "debian.org", 16824 "staroffice.sun.com"). The LSB provider name assigned by LANANA must only 16825 consist of the ASCII characters [a-z0-9]. 16826 16827 ------------------------------------------------------------------------------- 16828 16829 Package Dependencies 16830 16831 Packages must depend on a dependency "lsb". They may not depend on other 16832 system-provided dependencies. They must not depend on non-system-provided 16833 dependencies unless the dependencies are fulfilled by packages which are part 16834 of the same application. If a package includes "Provides" it must only provide 16835 a virtual package name which is registered to that application. 16836 16837 ------------------------------------------------------------------------------- 16838 16839 Package Architecture Considerations 16840 16841 Additional specifications or restrictions may be found in the architecture 16842 specific LSB specification. 16843 16844 VIII. Commands and Utilities 16845 16846 Table of Contents 16847 17. Commands and Utilities 16848 16849 ------------------------------------------------------------------------------- 16850 16851 Chapter 17. Commands and Utilities 16852 16853 Commands and Utilities 16854 16855 The following table lists the Commands and Utilities. Unless otherwise 16856 specified the command or utility is described in the Single UNIX Specification 16857 (SUS). When an interface is not defined in the Single UNIX Specification, then 16858 the next prevailing standard is referenced (ie., POSIX, SVID). 16859 16860 The behavior of the interfaces described in this section are specified by the 16861 following standards. 16862 16863 Linux Standard Base [50] 16864 CAE Specification, January 1997, Commands and Utilities (XCU), Issue 5 (ISBN: 16865 1-85912-191-8, C604) [51] 16866 16867 Table 17-1. Commands and Utilities 16868 16869 +------------------------------------------------------------------------------+ 16870 |[ [51] |ar [50] |at [50] |awk [50] |basename [51] | 16871 |-----------------+-------------+---------------+-------------+----------------| 16872 |batch [50] |bc [50] |cat [50] |chfn [50] |chgrp [50] | 16873 |-----------------+-------------+---------------+-------------+----------------| 16874 |chmod [50] |chown [50] |chsh [50] |cksum [51] |cmp [51] | 16875 |-----------------+-------------+---------------+-------------+----------------| 16876 |col [50] |comm [51] |cp [50] |cpio [50] |crontab [50] | 16877 |-----------------+-------------+---------------+-------------+----------------| 16878 |csplit [50] |cut [50] |date [50] |dd [51] |df [50] | 16879 |-----------------+-------------+---------------+-------------+----------------| 16880 |diff [50] |dirname [51] |dmesg [50] |du [50] |echo [50] | 16881 |-----------------+-------------+---------------+-------------+----------------| 16882 |egrep [50] |env [50] |expand [50] |expr [50] |false [51] | 16883 |-----------------+-------------+---------------+-------------+----------------| 16884 |fgrep [50] |file [50] |find [50] |fold [51] |fuser [50] | 16885 |-----------------+-------------+---------------+-------------+----------------| 16886 |gencat [50] |getconf [51] |gettext [50] |grep [50] |groupadd [50] | 16887 |-----------------+-------------+---------------+-------------+----------------| 16888 |groupdel [50] |groupmod [50]|groups [50] |gunzip [50] |gzip [50] | 16889 |-----------------+-------------+---------------+-------------+----------------| 16890 |head [50] |hostname [50]|iconv [50] |id [51] |install [50] | 16891 |-----------------+-------------+---------------+-------------+----------------| 16892 |install_initd |ipcrm [50] |ipcs [50] |join [51] |kill [51] | 16893 |[50] | | | | | 16894 |-----------------+-------------+---------------+-------------+----------------| 16895 |killall [50] |ln [50] |locale [51] |localedef |logname [51] | 16896 | | | |[50] | | 16897 |-----------------+-------------+---------------+-------------+----------------| 16898 |lpr [50] |ls [50] |lsb_release |m4 [50] |make [50] | 16899 | | |[50] | | | 16900 |-----------------+-------------+---------------+-------------+----------------| 16901 |man [50] |md5sum [50] |mkdir [50] |mkfifo [51] |mknod [50] | 16902 |-----------------+-------------+---------------+-------------+----------------| 16903 |mktemp [50] |more [50] |mount [50] |msgfmt [50] |mv [50] | 16904 |-----------------+-------------+---------------+-------------+----------------| 16905 |newgrp [50] |nice [50] |nl [50] |nohup [50] |od [50] | 16906 |-----------------+-------------+---------------+-------------+----------------| 16907 |passwd [50] |paste [50] |patch [50] |pathchk [50] |pidof [50] | 16908 |-----------------+-------------+---------------+-------------+----------------| 16909 |pr [50] |printf [50] |ps [51] |pwd [50] |remove_initd | 16910 | | | | |[50] | 16911 |-----------------+-------------+---------------+-------------+----------------| 16912 |renice [50] |rm [50] |rmdir [50] |rsync [50] |sed [50] | 16913 |-----------------+-------------+---------------+-------------+----------------| 16914 |sendmail [50] |sh [51] |shutdown [50] |sleep [50] |sort [50] | 16915 |-----------------+-------------+---------------+-------------+----------------| 16916 |split [50] |strip [50] |stty [51] |su [50] |sum [50] | 16917 |-----------------+-------------+---------------+-------------+----------------| 16918 |sync [50] |tail [50] |tar [50] |tee [50] |test [50] | 16919 |-----------------+-------------+---------------+-------------+----------------| 16920 |time [51] |touch [50] |tr [50] |true [51] |tsort [51] | 16921 |-----------------+-------------+---------------+-------------+----------------| 16922 |tty [50] |umount [50] |uname [50] |unexpand [50]|uniq [50] | 16923 |-----------------+-------------+---------------+-------------+----------------| 16924 |useradd [50] |userdel [50] |usermod [50] |wc [50] |xargs [50] | 16925 +------------------------------------------------------------------------------+ 16926 ------------------------------------------------------------------------------- 16927 16928 Command Behavior 16929 16930 Table of Contents 16931 ar -- create and maintain library archives 16932 at -- examine or delete jobs for later execution 16933 awk -- pattern scanning and processing language 16934 batch -- execute commands when the system load permits 16935 bc -- An arbitrary precision calculator language 16936 cat -- concatenate and print files 16937 chfn -- change user name and information 16938 chgrp -- change group ownership 16939 chmod -- change file access permissions 16940 chown -- change file owner and group 16941 chsh -- change login shell 16942 col -- filter reverse line feeds from input 16943 cp -- copy files and directories 16944 cpio -- copy file archives in and out 16945 crontab -- maintain crontab files for individual users 16946 csplit -- split a file into sections determined by context lines 16947 cut -- split a file into sections determined by context lines 16948 date -- print or set the system date and time 16949 df -- report filesystem disk space usage 16950 diff -- find differences between two files 16951 dmesg -- print or control the kernel ring buffer 16952 du -- estimate file space usage 16953 echo -- display a line of text 16954 egrep -- search a file with an ERE pattern 16955 env -- run a program in a modified environment 16956 expand -- convert tabs to spaces 16957 expr -- evaluate expressions 16958 fgrep -- search a file with a fixed pattern 16959 file -- determine file type 16960 find -- search for files in a directory hierarchy 16961 fuser -- identify processes using files or sockets 16962 gencat -- generate a formatted message catalogue 16963 gettext -- retrieve text string from message database 16964 grep -- print lines matching a pattern 16965 groupadd -- create a new group 16966 groupdel -- delete a group 16967 groupmod -- modify a group 16968 groups -- display a group 16969 gunzip -- uncompress files 16970 gzip -- compress or expand files 16971 head -- output the first part of files 16972 hostname -- show the system's host name 16973 iconv -- convert file character encoding 16974 install -- copy files and set attributes 16975 install_initd -- install an init.d file 16976 ipcrm -- provide information on ipc facilities 16977 ipcs -- provide information on ipc facilities 16978 killall -- kill processes by name 16979 ln -- make links between files 16980 localedef -- compile locale definition files 16981 lpr -- off line print 16982 ls -- list directory contents 16983 lsb_release -- print distribution specific information 16984 m4 -- macro processor 16985 make -- maintain, update and regenerate groups of programs 16986 man -- display system documentation 16987 md5sum -- generates or checks MD5 message digests 16988 mkdir -- make directories 16989 mknod -- make block or character special files 16990 mktemp -- make temporary file name (unique) 16991 more -- file perusal filter for crt viewing 16992 mount -- mount a file system 16993 msgfmt -- retrieve text string from message database 16994 mv -- move (rename) files 16995 newgrp -- change group ID 16996 nice -- run a program with modified scheduling priority 16997 nl -- number lines of files 16998 nohup -- runs a command immune to hangups, with output to a non-tty 16999 od -- dump files in octal and other formats 17000 passwd -- change user password 17001 paste -- merge lines of files 17002 patch -- apply a diff file to an original 17003 pathchk -- check whether file names are valid or portable 17004 pidof -- find the process ID of a running program 17005 pr -- split a file into sections determined by context lines 17006 printf -- format and print data 17007 pwd -- print name of current/working directory 17008 remove_initd -- clean up boot script system modifications introduced by 17009 install_initd 17010 renice -- alter priority of running processes 17011 rm -- remove files or directories 17012 rmdir -- remove empty directories 17013 rsync -- faster, flexible replacement for rcp (LSB DEPRECATED) 17014 sed -- stream editor 17015 sendmail -- an electronic mail transport agent 17016 shutdown -- bring the system down 17017 sleep -- delay for a specified amount of time 17018 sort -- sort, merge or sequence check text files 17019 split -- split a file into pieces 17020 strip -- remove unnecessary information from executable files 17021 su -- change user ID or become super-user 17022 sum -- print checksum and block count of a file (deprecated) 17023 sync -- flush filesystem buffers 17024 tail -- output the last part of files 17025 tar -- file archiver 17026 tee -- read from standard input and write to standard output and files 17027 test -- check file types and compare values 17028 touch -- change file access and modification times 17029 tr -- translate or delete characters 17030 tty -- print the file name of the terminal connected to standard input 17031 umount -- unmount file systems 17032 uname -- return system name 17033 unexpand -- convert spaces to tabs 17034 uniq -- remove duplicate lines from a sorted file 17035 useradd -- create a new user or update default new user information 17036 userdel -- delete a user account and related files 17037 usermod -- modify a user account 17038 wc -- print the number of bytes, words, and lines in files 17039 xargs -- build and execute command lines from standard input 17040 17041 This section contains descriptions for commands and utilities whose specified 17042 behavior in the LSB contradicts or extends the standards referenced. It also 17043 contains commands and utilities only required by the LSB and not specified by 17044 other standards. 17045 17046 ar 17047 17048 Name 17049 17050 ar -- create and maintain library archives 17051 17052 Description 17053 17054 ar is as specified in the Single UNIX Specification but with differences as 17055 listed below. 17056 17057 Differences 17058 17059 -T, -C 17060 17061 need not be accepted. 17062 17063 -l 17064 17065 has unspecified behavior. 17066 17067 -q 17068 17069 has unspecified behavior; using -r is suggested. 17070 17071 at 17072 17073 Name 17074 17075 at -- examine or delete jobs for later execution 17076 17077 Description 17078 17079 at is as specified in the Single UNIX Specification but with differences as 17080 listed below. 17081 17082 Differences 17083 17084 -d 17085 17086 is functionally equivalent to the -r option specified in the Single UNIX 17087 Specification. 17088 17089 -r 17090 17091 need not be supported, but the '-d' option is equivalent. 17092 17093 -t time 17094 17095 need not be supported. 17096 17097 Files 17098 17099 The files at.allow and at.deny reside in /etc rather than /usr/lib/cron. 17100 17101 LSB Deprecated Differences 17102 17103 -c 17104 17105 cats the jobs listed on the command line to standard output. 17106 17107 -V 17108 17109 prints the version number to standard error. 17110 17111 -v 17112 17113 shows the time the job will be executed. 17114 17115 awk 17116 17117 Name 17118 17119 awk -- pattern scanning and processing language 17120 17121 Description 17122 17123 awk is as specified in the Single UNIX Specification but with differences as 17124 listed below. 17125 17126 Differences 17127 17128 Certain aspects of internationalized regular expressions are optional; see 17129 Internationalization and Regular Expressions>. 17130 17131 LSB Deprecated Differences 17132 17133 gawk and mawk shall be Single UNIX Specification compliant implementations of 17134 the awk language. However, gawk and mawk are expected to disappear from a 17135 future version of the LSB; LSB applications should invoke awk instead. 17136 17137 batch 17138 17139 Name 17140 17141 batch -- execute commands when the system load permits 17142 17143 Description 17144 17145 The specification for batch is as specified in the Single UNIX Specification 17146 but with the following differences as listed below. 17147 17148 Files 17149 17150 The files at.allow and at.deny reside in /etc rather than /usr/lib/cron. 17151 17152 LSB Deprecated Differences 17153 17154 The behaviors specified in this section are expected to disappear from a future 17155 version of the LSB; applications should only use the non-LSB-deprecated 17156 behaviors. 17157 17158 -f file 17159 17160 reads the job from file rather than standard input. 17161 17162 -m 17163 17164 sends mail to the user when the job has completed even if there was no 17165 output. 17166 17167 -q queue 17168 17169 uses the specified queue. A queue designation consists of a single letter; 17170 valid queue designations range from a to z. and A to Z. The a queue is the 17171 default for at and the b queue for batch. Queues with higher letters run 17172 with increased niceness. The special queue "=" is reserved for jobs which 17173 are currently running. 17174 17175 -V 17176 17177 prints the version number to standard error. 17178 17179 -v 17180 17181 shows the time the job will be executed. 17182 17183 bc 17184 17185 Name 17186 17187 bc -- An arbitrary precision calculator language 17188 17189 Description 17190 17191 bc is as specified in the Single UNIX Specification but with differences as 17192 listed below. 17193 17194 Differences 17195 17196 -s, --standard 17197 17198 processes exactly the POSIX bc language. 17199 17200 -w, --warn 17201 17202 gives warnings for extensions to POSIX bc. 17203 17204 LSB Deprecated Differences 17205 17206 The behaviors specified in this section are expected to disappear from a future 17207 version of the LSB; applications should only use the non-LSB-deprecated 17208 behaviors. 17209 17210 -q, --quiet 17211 17212 does not print the normal welcome message. 17213 17214 -v, --version 17215 17216 prints the version number and copyright and quits. 17217 17218 cat 17219 17220 Name 17221 17222 cat -- concatenate and print files 17223 17224 Description 17225 17226 cat is as specified in the Single UNIX Specification but with differences as 17227 listed below. 17228 17229 LSB Deprecated Differences 17230 17231 The behaviors specified in this section are expected to disappear from a future 17232 version of the LSB; applications should only use the non-LSB-deprecated 17233 behaviors. 17234 17235 -A, --show-all 17236 17237 is equivalent to -vET. 17238 17239 -b, --number-nonblank 17240 17241 numbers nonblank output lines. 17242 17243 -e 17244 17245 is equivalent to -vE. 17246 17247 -E, --show-ends 17248 17249 displays $ at end of each line. 17250 17251 -n, --number 17252 17253 numbers all output lines. 17254 17255 -s, --squeeze-blank 17256 17257 displays never more than one single blank line. 17258 17259 -t 17260 17261 is equivalent to -vT. 17262 17263 -T, --showtabs 17264 17265 displays TAB characters as ^I. 17266 17267 -u 17268 17269 has unspecified behavior. 17270 17271 -v, --show-nonprinting 17272 17273 uses ^ and M- notation, except for LFD and TAB. 17274 17275 --version 17276 17277 outputs version information and exits. 17278 17279 chfn 17280 17281 Name 17282 17283 chfn -- change user name and information 17284 17285 Synopsis 17286 17287 chfn [-f full_name] [-h home-phone] [user] 17288 17289 Description 17290 17291 chfn changes user fullname and other information for a user's account. This 17292 information is typically printed by finger and similar programs. A normal user 17293 may only change the fields for their own account, the super user may change the 17294 fields for any account. 17295 17296 The only restrictions placed on the contents of the fields is that no control 17297 characters may be present, nor any of comma, colon, or equal sign. 17298 17299 If none of the options are selected, chfn operates in an interactive fashion. 17300 The prompts and expected input in interactive mode are unspecified and should 17301 not be relied upon. 17302 17303 As it is possible for the system to be configured to restrict which fields a 17304 non-privileged user is permitted to change, applications should be written to 17305 gracefully handle these situations. 17306 17307 Standard Options 17308 17309 -f full_name 17310 17311 sets the user's full name. 17312 17313 -h home-phone 17314 17315 sets the user's home phone number. 17316 17317 [52] 17318 17319 chgrp 17320 17321 Name 17322 17323 chgrp -- change group ownership 17324 17325 Synopsis 17326 17327 chgrp [OPTION]... GROUP FILE... 17328 chgrp [OPTION]... --reference=RFILE FILE... 17329 17330 Description 17331 17332 chgrp is as specified in the Single UNIX Specification but with differences as 17333 listed below. 17334 17335 LSB Deprecated Differences 17336 17337 The behaviors specified in this section are expected to disappear from a future 17338 version of the LSB; applications should only use the non-LSB-deprecated 17339 behaviors. 17340 17341 -c, --changes 17342 17343 is like verbose, but reports only when a change is made. 17344 17345 --dereference 17346 17347 affects the referent of each symbolic link, rather than the symbolic link 17348 itself. 17349 17350 -h, --no-dereference 17351 17352 affects symbolic links instead of any referenced file. (Available only on 17353 systems that can change the ownership of a symlink.) 17354 17355 -f, --silent, --quiet 17356 17357 suppresses most error messages. 17358 17359 --reference=RFILE 17360 17361 uses RFILE's group rather than the specified GROUP value. 17362 17363 -v, --verbose 17364 17365 outputs a diagnostic for every file processed. 17366 17367 --version 17368 17369 outputs version information and exit. 17370 17371 chmod 17372 17373 Name 17374 17375 chmod -- change file access permissions 17376 17377 Synopsis 17378 17379 chmod [OPTION]... MODE[,MODE]... FILE... 17380 chmod [OPTION]... OCTAL-MODE FILE... 17381 chmod [OPTION]... --reference=RFILE FILE... 17382 17383 Description 17384 17385 chmod is as specified in the Single UNIX Specification but with differences as 17386 listed below. 17387 17388 LSB Deprecated Differences 17389 17390 The behaviors specified in this section are expected to disappear from a future 17391 version of the LSB; applications should only use the non-LSB-deprecated 17392 behaviors. 17393 17394 -c, --changes 17395 17396 is like verbose, but reports only when a change is made. 17397 17398 -f, --silent, --quiet 17399 17400 suppresses most error messages. 17401 17402 --reference=RFILE 17403 17404 uses RFILE's mode instead of MODE values. 17405 17406 -v, --verbose 17407 17408 outputs a diagnostic for every file processed. 17409 17410 --version 17411 17412 outputs version information and exits. 17413 17414 chown 17415 17416 Name 17417 17418 chown -- change file owner and group 17419 17420 Synopsis 17421 17422 chown [OPTION]... OWNER[:[GROUP]] FILE... 17423 chown [OPTION]... :GROUP FILE... 17424 chown [OPTION]... --reference=RFILE FILE... 17425 17426 Description 17427 17428 chown is as specified in the Single UNIX Specification but with differences as 17429 listed below. 17430 17431 Differences 17432 17433 The use of the '.' character as a separator between the specification of the 17434 user name and group name is supported (in addition to the use of the ':' 17435 character as specified in the Single UNIX Specification). 17436 17437 LSB Deprecated Differences 17438 17439 The behaviors specified in this section are expected to disappear from a future 17440 version of the LSB; applications should only use the non-LSB-deprecated 17441 behaviors. 17442 17443 -c, --changes 17444 17445 is like verbose, but reports only when a change is made. 17446 17447 --dereference 17448 17449 affects the referent of each symbolic link, rather than the symbolic link 17450 itself. 17451 17452 -h, --no-dereference 17453 17454 affects symbolic links instead of any referenced file. (Available only on 17455 systems that can change the ownership of a symlink.) 17456 17457 --from=CURRENT_OWNER:CURRENT_GROUP 17458 17459 changes the owner and/or group of each file only if its current owner and/ 17460 or group match those specified here. Either may be omitted, in which case a 17461 match is not required for the omitted attribute. 17462 17463 -f, --silent, --quiet 17464 17465 suppresses most error messages. 17466 17467 --reference=RFILE 17468 17469 uses RFILE's owner and group rather than the specified OWNER:GROUP values. 17470 17471 -v, --verbose 17472 17473 outputs a diagnostic for every file processed. 17474 17475 --version 17476 17477 outputs version information and exits. 17478 17479 chsh 17480 17481 Name 17482 17483 chsh -- change login shell 17484 17485 Synopsis 17486 17487 chsh [-s login_shell] [user] 17488 17489 Description 17490 17491 chsh changes the user login shell. This determines the name of the user's 17492 initial login command. A normal user may only change the login shell for their 17493 own account, the super user may change the login shell for any account. 17494 17495 The only restrictions placed on the login shell is that the command name must 17496 be listed in /etc/shells, unless the invoker is the super-user, and then any 17497 value may be added. Accounts which are restricted (in an implementation-defined 17498 manner) may not change their login shell. 17499 17500 If the -s option is not selected, chsh operates in an interactive mode. The 17501 prompts and expected input in this mode are implementation-defined. 17502 17503 Standard Options 17504 17505 -s login_shell 17506 17507 sets the login shell. 17508 17509 col 17510 17511 Name 17512 17513 col -- filter reverse line feeds from input 17514 17515 Description 17516 17517 col is as specified in the Single UNIX Specification, Version 2 with the 17518 difference that the -p option has unspecified behavior. 17519 17520 Although col is shown as legacy in the Single UNIX Specification, Version 2, it 17521 is not (yet) deprecated in the LSB. 17522 17523 cp 17524 17525 Name 17526 17527 cp -- copy files and directories 17528 17529 Synopsis 17530 17531 Description 17532 17533 cp is as specified in the Single UNIX Specification but with differences as 17534 listed below. 17535 17536 LSB Deprecated Differences 17537 17538 The behaviors specified in this section are expected to disappear from a future 17539 version of the LSB; applications should only use the non-LSB-deprecated 17540 behaviors. 17541 17542 -a archive 17543 17544 is the same as -dpR. 17545 17546 --backup[=CONTROL] 17547 17548 makes a backup of each existing destination file. 17549 17550 -b 17551 17552 is like --backup but does not accept an argument. 17553 17554 -d, --no-dereference 17555 17556 never follows symbolic links. 17557 17558 -H 17559 17560 follows command-line symbolic links. 17561 17562 -l, --link 17563 17564 links files instead of copying. 17565 17566 -L, --dereference 17567 17568 always follows symbolic links. 17569 17570 --parents 17571 17572 appends source path to DIRECTORY. 17573 17574 --remove-destination 17575 17576 removes each existing destination file before attempting to open it. 17577 (Contrast with --force.) 17578 17579 --sparse=WHEN 17580 17581 controls creation of sparse files. 17582 17583 By default, sparse SOURCE files are detected by a crude heuristic and the 17584 corresponding DEST file is made sparse as well. That is the behavior 17585 selected by --sparse=auto. Specify --sparse=always to create a sparse DEST 17586 file whenever the SOURCE file contains a long enough sequence of zero 17587 bytes. Use --sparse=never to inhibit creation of sparse files. 17588 17589 --strip-trailing-slashes 17590 17591 removes any trailing slashes from each SOURCE argument. 17592 17593 -s, --symbolic-link 17594 17595 makes symbolic links instead of copying. 17596 17597 -S, --suffix=SUFFIX 17598 17599 overrides the usual backup suffix. 17600 17601 --target-directory=DIRECTORY 17602 17603 moves all SOURCE arguments into DIRECTORY. 17604 17605 -u, --update 17606 17607 copies only when the SOURCE file is newer than the destination file or when 17608 the destination file is missing. 17609 17610 -v, --verbose 17611 17612 explains what is being done. 17613 17614 -x, --one-file-system 17615 17616 stays on this file system. 17617 17618 --version 17619 17620 outputs version information and exits. 17621 17622 cpio 17623 17624 Name 17625 17626 cpio -- copy file archives in and out 17627 17628 Description 17629 17630 cpio is as specified in the Single UNIX Specification but with differences as 17631 listed below. 17632 17633 Differences 17634 17635 Certain aspects of internationalized filename globbing are optional; see 17636 Internationalization and Filename Globbing>. 17637 17638 crontab 17639 17640 Name 17641 17642 crontab -- maintain crontab files for individual users 17643 17644 Synopsis 17645 17646 crontab [ -u user ] file 17647 crontab [ -u user ] { -l | -r | -e } 17648 17649 Description 17650 17651 crontab is as specified in the Single UNIX Specification but with differences 17652 as listed below. 17653 17654 Files 17655 17656 The files cron.allow and cron.deny reside in /etc rather than /usr/lib/cron. 17657 17658 LSB Deprecated Differences 17659 17660 The behaviors specified in this section are expected to disappear from a future 17661 version of the LSB; applications should only use the non-LSB-deprecated 17662 behaviors. 17663 17664 -u user 17665 17666 specifies the name of the user whose crontab is to be used, rather than the 17667 user who is running crontab. 17668 17669 csplit 17670 17671 Name 17672 17673 csplit -- split a file into sections determined by context lines 17674 17675 Description 17676 17677 csplit is as specified in the Single UNIX Specification but with differences as 17678 listed below. 17679 17680 LSB Deprecated Differences 17681 17682 The behaviors specified in this section are expected to disappear from a future 17683 version of the LSB; applications should only use the non-LSB-deprecated 17684 behaviors. 17685 17686 -b, --sufix-format=FORMAT 17687 17688 uses sprintf FORMAT instead of %d. 17689 17690 --quiet, --silent 17691 17692 are equivalent to the -s option as specified in the Single UNIX 17693 Specification. 17694 17695 -z, --elide-empty-files 17696 17697 removes empty output files. 17698 17699 --version 17700 17701 outputs version information and exit. 17702 17703 cut 17704 17705 Name 17706 17707 cut -- split a file into sections determined by context lines 17708 17709 Description 17710 17711 cut is as specified in the Single UNIX Specification but with differences as 17712 listed below. 17713 17714 Differences 17715 17716 -n 17717 17718 has unspecified behavior. 17719 17720 LSB Deprecated Differences 17721 17722 The behaviors specified in this section are expected to disappear from a future 17723 version of the LSB; applications should only use the non-LSB-deprecated 17724 behaviors. 17725 17726 --version 17727 17728 outputs version information and exits. 17729 17730 date 17731 17732 Name 17733 17734 date -- print or set the system date and time 17735 17736 Description 17737 17738 date is as specified in the Single UNIX Specification but with differences as 17739 listed below. 17740 17741 LSB Deprecated Differences 17742 17743 The behaviors specified in this section are expected to disappear from a future 17744 version of the LSB; applications should only use the non-LSB-deprecated 17745 behaviors. 17746 17747 -d, --date=STRING 17748 17749 displays time described by STRING, not now. 17750 17751 -f, --file=DATAFILE 17752 17753 is like --date once for each line of DATEFILE. 17754 17755 -r, --reference=FILE 17756 17757 displays the last modification time of FILE. 17758 17759 -R, --rfc-822 17760 17761 outputs RFC2822-compliant date string. 17762 17763 -s, --set=STRING 17764 17765 sets time described by STRING. 17766 17767 --utc, --universal 17768 17769 is equivalent to the -u option as specified in the Single UNIX 17770 Specification. 17771 17772 --version 17773 17774 outputs version information and exits. 17775 17776 df 17777 17778 Name 17779 17780 df -- report filesystem disk space usage 17781 17782 Description 17783 17784 df is as specified in the Single UNIX Specification but with the following 17785 differences. 17786 17787 If the -k option is not specified, disk space is shown in unspecified units. 17788 Applications should specify -k. 17789 17790 If an argument is the absolute file name of a disk device node containing a 17791 mounted filesystem, df shows the space available on that filesystem rather than 17792 on the filesystem containing the device node (which is always the root 17793 filesystem). 17794 17795 LSB Deprecated Differences 17796 17797 The behaviors specified in this section are expected to disappear from a future 17798 version of the LSB; applications should only use the non-LSB-deprecated 17799 behaviors. 17800 17801 -a, --all 17802 17803 includes filesystems having 0 blocks. 17804 17805 --block-size=SIZE 17806 17807 uses SIZE-byte blocks. 17808 17809 -h, --human-readable 17810 17811 prints sizes in human-readable format (e.g., 1K, 234M, 2G). 17812 17813 -H, --si 17814 17815 prints sizes in human-readable format, but uses powers of 1000 (not 1024). 17816 17817 -i, --inodes 17818 17819 lists inode information instead of block usage. 17820 17821 -l, --local 17822 17823 limits listing to local filesystems. 17824 17825 -m, --megabytes 17826 17827 is like --block-size=1048576 17828 17829 --no-sync 17830 17831 does not invoke sync before getting usage info. (default) 17832 17833 -P, --portability 17834 17835 uses the POSIX output format. 17836 17837 --sync 17838 17839 invokes sync before getting usage info. 17840 17841 -t, --type=TYPE 17842 17843 has unspecified behavior. 17844 17845 --portability 17846 17847 is same as -P as specified in the Single UNIX Specification. 17848 17849 --sync 17850 17851 invokes sync before getting usage info. 17852 17853 -t, --type=TYPE 17854 17855 limits listing to filesystems of type TYPE. (Different from behavior as 17856 specified in the Single UNIX Specification.) 17857 17858 -T, --print-type 17859 17860 prints filesystem type. 17861 17862 -x, --exclude-type=TYPE 17863 17864 limits listing to filesystems not of type TYPE. 17865 17866 diff 17867 17868 Name 17869 17870 diff -- find differences between two files 17871 17872 Description 17873 17874 diff is as specified in the Single UNIX Specification but with differences as 17875 listed below. 17876 17877 LSB Deprecated Differences 17878 17879 The behaviors specified in this section are expected to disappear from a future 17880 version of the LSB; applications should only use the non-LSB-deprecated 17881 behaviors. 17882 17883 -a 17884 17885 treats all files as text and compares them line-by-line, even if they do 17886 not seem to be text. 17887 17888 -B 17889 17890 ignores changes that just insert or delete blank lines. 17891 17892 --brief 17893 17894 reports only whether the files differ, not the details of the differences. 17895 17896 --context[=lines] 17897 17898 is equivalent to -C as specified in the Single UNIX Specification. 17899 17900 -d 17901 17902 changes the algorithm to perhaps find a smaller set of changes; this makes 17903 diff slower (sometimes much slower). 17904 17905 -D name 17906 17907 makes merged if-then-else format output conditional on the preprocessor 17908 macro name. 17909 17910 --ed 17911 17912 is equivalent to -e as specified in the Single UNIX Specification. 17913 17914 --exclude=pattern 17915 17916 when comparing directories, ignores files and subdirectories whose 17917 basenames match pattern. 17918 17919 --exclude-from=file 17920 17921 when comparing directories, ignores files and subdirectories whose 17922 basenames match any pattern contained in file. 17923 17924 --expand-tabs 17925 17926 expands tabs to spaces in the output to preserve the alignment of tabs in 17927 the input files. 17928 17929 -F regexp 17930 17931 in context and unified format, shows some of the last preceding line that 17932 matches regexp for each hunk of differences. 17933 17934 --forward-ed 17935 17936 makes output that looks vaguely like an ed script, but has changes in the 17937 order they appear in the file. 17938 17939 -H 17940 17941 uses heuristics to speed handling of large files that have numerous 17942 scattered small changes. 17943 17944 --horizon-lines=lines 17945 17946 does not discard the last lines lines of the common prefix and the first 17947 lines lines of the common suffix. 17948 17949 -i 17950 17951 ignores changes in case; considers upper and lower case letters equivalent. 17952 17953 -I regexp 17954 17955 ignores changes that just insert or delete lines that match regexp. 17956 17957 --ifdef=name 17958 17959 makes merged if-then-else format output conditional on the preprocessor 17960 macro name. 17961 17962 --ignore-all-space 17963 17964 ignores white space when comparing lines. 17965 17966 --ignore-case 17967 17968 ignores changes in case; considers upper and lower case to be the same. 17969 17970 --ignore-matching-lines=regexp 17971 17972 ignores changes that just insert or delete lines that match regexp. 17973 17974 --ignore-space-change 17975 17976 ignores changes in amount of white space. 17977 17978 --initial-tab 17979 17980 outputs a tab rather than a space before the text of a line in normal or 17981 context format. This causes the alignment of tabs in the line to look 17982 normal. 17983 17984 -l 17985 17986 passes the output through pr to paginate it. 17987 17988 --ignore-case 17989 17990 ignores changes in case; considers upper and lower case to be the same. 17991 17992 dmesg 17993 17994 Name 17995 17996 dmesg -- print or control the kernel ring buffer 17997 17998 Synopsis 17999 18000 dmesg [ -c ] [ -n level ] [ -s bufsize ] 18001 18002 Description 18003 18004 dmesg examines or controls the kernel ring buffer. 18005 18006 Standard Options 18007 18008 -c 18009 18010 clears the ring buffer contents after printing. 18011 18012 -n level 18013 18014 sets the level at which logging of messages is done to the console. 18015 18016 -s bufsize 18017 18018 uses a buffer of bufsize to query the kernel ring buffer. This is 8196 by 18019 default (this matches the default kernel syslog buffer size in 2.0.33 and 18020 2.1.103). If you have set the kernel buffer to larger than the default then 18021 this option can be used to view the entire buffer. 18022 18023 du 18024 18025 Name 18026 18027 du -- estimate file space usage 18028 18029 Description 18030 18031 du is as specified in the Single UNIX Specification but with differences as 18032 listed below. 18033 18034 Differences 18035 18036 If the -k option is not specified, disk space is shown in unspecified units. 18037 Applications should specify -k. 18038 18039 LSB Deprecated Differences 18040 18041 The behaviors specified in this section are expected to disappear from a future 18042 version of the LSB; applications should only use the non-LSB-deprecated 18043 behaviors. 18044 18045 --block-size=SIZE 18046 18047 uses SIZE-byte blocks. 18048 18049 -b, --bytes 18050 18051 prints size in bytes. 18052 18053 -c, --total 18054 18055 produces a grand total. 18056 18057 -D, --dereference-args 18058 18059 dereferences PATHs when symbolic link. 18060 18061 -h, --human-readable 18062 18063 prints sizes in human-readable format (e.g., 1K, 234M, 2G). 18064 18065 --kilobytes 18066 18067 is equivalent to --block-size=1024. 18068 18069 --l, --count-links 18070 18071 counts sizes many times if hard-linked. 18072 18073 -L, --dereference 18074 18075 dereferences all symbolic links. 18076 18077 -m, --megabytes 18078 18079 is equivalent to --block-size=1048576. 18080 18081 -r 18082 18083 has unspecified behavior. 18084 18085 -S, --separate-dirs 18086 18087 does not include size of subdirectories. 18088 18089 -X FILE, --exclude-from=FILE 18090 18091 excludes files that match any pattern in FILE. 18092 18093 --exclude=PAT 18094 18095 excludes files that match PAT. 18096 18097 --max-depth=N 18098 18099 prints the total for a directory (or file, with --all) only if it is N or 18100 fewer levels below the command line argument; --max-depth=0 is the same as 18101 --summarize. 18102 18103 --version 18104 18105 outputs version information and exits. 18106 18107 echo 18108 18109 Name 18110 18111 echo -- display a line of text 18112 18113 Synopsis 18114 18115 echo [STRING]... 18116 18117 Description 18118 18119 The echo command is as specified in the Single UNIX Specification but with the 18120 following differences. 18121 18122 Unlike the behavior specified in the Single UNIX Specification, whether echo 18123 supports options is implementation defined. The behavior of echo if any 18124 arguments contain backslashes is also implementation defined. Applications must 18125 not run echo with a first argument starting with a hyphen, or with any 18126 arguments containing backslashes; they must use printf in those cases. 18127 18128 egrep 18129 18130 Name 18131 18132 egrep -- search a file with an ERE pattern 18133 18134 Description 18135 18136 egrep is equivalent to grep -E. For further details, see the specification for 18137 grep. 18138 18139 env 18140 18141 Name 18142 18143 env -- run a program in a modified environment 18144 18145 Description 18146 18147 env is as specified in the Single UNIX Specification but with differences as 18148 listed below. 18149 18150 LSB Deprecated Differences 18151 18152 The behaviors specified in this section are expected to disappear from a future 18153 version of the LSB; applications should only use the non-LSB-deprecated 18154 behaviors. 18155 18156 --ignore-environment 18157 18158 is equivalent to -i. 18159 18160 -u, --unset=NAME 18161 18162 removes variable from the environment. 18163 18164 expand 18165 18166 Name 18167 18168 expand -- convert tabs to spaces 18169 18170 Description 18171 18172 expand is as specified in the Single UNIX Specification but with differences as 18173 listed below. 18174 18175 LSB Deprecated Differences 18176 18177 The behaviors specified in this section are expected to disappear from a future 18178 version of the LSB; applications should only use the non-LSB-deprecated 18179 behaviors. 18180 18181 -i, --initial 18182 18183 does not convert TABs after non-whitespace. 18184 18185 -t, --tabs=NUMBER 18186 18187 supplements behavior as specified in the Single UNIX Specification by 18188 allowing argument to specify the number of characters-apart tabs are 18189 (instead of 8). 18190 18191 expr 18192 18193 Name 18194 18195 expr -- evaluate expressions 18196 18197 Description 18198 18199 expr is as specified in the Single UNIX Specification but supports extra 18200 operands as listed below. 18201 18202 LSB Deprecated Differences 18203 18204 The behaviors specified in this section are expected to disappear from a future 18205 version of the LSB; applications should only use the non-LSB-deprecated 18206 behaviors. 18207 18208 The following are extra operands: 18209 18210 match STRING REGEXP 18211 18212 is same as STRING : REGEXP. 18213 18214 substr STRING POS LENGTH 18215 18216 is substring of STRING, POS counted from 1. 18217 18218 index STRING CHARS 18219 18220 is index in STRING where any CHARS is found, or 0. 18221 18222 length STRING 18223 18224 is length of STRING. 18225 18226 quote STRING 18227 18228 interprets TOKEN as a string, even if it is a keyword like match or an 18229 operator like /. 18230 18231 fgrep 18232 18233 Name 18234 18235 fgrep -- search a file with a fixed pattern 18236 18237 Description 18238 18239 fgrep is equivalent to grep -F. For further details, see the specification for 18240 grep. 18241 18242 file 18243 18244 Name 18245 18246 file -- determine file type 18247 18248 Description 18249 18250 file is as specified in the Single UNIX Specification but with additional 18251 options as specified below. 18252 18253 LSB Deprecated Differences 18254 18255 The behaviors specified in this section are expected to disappear from a future 18256 version of the LSB; applications should only use the non-LSB-deprecated 18257 behaviors. 18258 18259 -b, --brief 18260 18261 does not prepend filenames to output lines. 18262 18263 -c, --checking-printout 18264 18265 causes a checking printout of the parsed form of the magic file. This is 18266 usually used in conjunction with -m to debug a new magic file before 18267 installing it. 18268 18269 -f, --files-from namefile 18270 18271 reads the names of the files to be examined from namefile (one per line) 18272 before the argument list. Either namefile or at least one filename argument 18273 must be present; to test the standard input, use `-' as a filename 18274 argument. 18275 18276 -i, --mime 18277 18278 causes the file command to output mime type strings rather than the more 18279 traditional human-readable ones. Thus, it may say `text/plain; charset= 18280 us-ascii' rather than `ASCII text'. In order for this option to work, file 18281 changes the way it handles files recognized by the command itself (such as 18282 many of the text file types, directories, etc.), and makes use of an 18283 alternative `magic' file. 18284 18285 -k, --keep-going 18286 18287 does not stop at the first match, keeps going. 18288 18289 -m, --magic-file list 18290 18291 specifies an alternate list of files containing magic numbers. This can be 18292 a single file, or a colon-separated list of files. 18293 18294 -n, --no-buffer 18295 18296 forces stdout to be flushed after checking each file. This is only useful 18297 if checking a list of files. It is intended to be used by programs that 18298 want filetype output from a pipe. 18299 18300 -z, --uncompress 18301 18302 tries to look inside compressed files. 18303 18304 -L, --dereference 18305 18306 causes symlinks to be followed. 18307 18308 -s, --special-files 18309 18310 causes block or character special files (that are potentially problematic 18311 when processed by file) to be read in addition to the argument files 18312 ordinarily identified by stat(2). This is useful for determining the 18313 filesystem types of the data in raw disk partitions, which are block 18314 special files. This option also causes file to disregard the file size as 18315 reported by stat(2) since on some systems it reports a zero size for raw 18316 disk partitions. 18317 18318 find 18319 18320 Name 18321 18322 find -- search for files in a directory hierarchy 18323 18324 Description 18325 18326 find is as specified in the Single UNIX Specification but with additional 18327 options as specified below. 18328 18329 Differences 18330 18331 Certain aspects of internationalized filename globbing are optional; see 18332 Internationalization and Filename Globbing>. 18333 18334 LSB Deprecated Differences 18335 18336 The behaviors specified in this section are expected to disappear from a future 18337 version of the LSB; applications should only use the non-LSB-deprecated 18338 behaviors. 18339 18340 -daystart 18341 18342 measures times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from 18343 the beginning of today rather than from 24 hours ago. 18344 18345 -follow 18346 18347 dereferences symbolic links. Implies -noleaf. 18348 18349 -maxdepth levels 18350 18351 descends at most levels (a non-negative integer) levels of directories 18352 below the command line arguments. -maxdepth 0 means only apply the tests 18353 and actions to the command line arguments. 18354 18355 -mindepth levels 18356 18357 applies no tests or actions at levels less than levels (a non-negative 18358 integer). -mindepth 1 means process all files except the command line 18359 arguments. 18360 18361 -mount 18362 18363 is equivalent to -xdev as specified in the Single UNIX Specification. 18364 18365 -noleaf 18366 18367 does not optimize by assuming that directories contain 2 fewer 18368 subdirectories than their hard link count. 18369 18370 -version 18371 18372 prints the find version number and exits. 18373 18374 -amin n 18375 18376 displays files last accessed n minutes ago. 18377 18378 -anewer file 18379 18380 displays files last accessed more recently than file was modified. -anewer 18381 is affected by -follow only if -follow comes before -anewer on the command 18382 line. 18383 18384 -cmin n 18385 18386 displays files with status last changed n minutes ago. 18387 18388 -cnewer file 18389 18390 displays files with status last changed more recently than file was 18391 modified. -cnewer is affected by -follow only if -follow comes before 18392 -cnewer on the command line. 18393 18394 -empty 18395 18396 displays files that are empty and are either regular or directory files. 18397 18398 -false 18399 18400 is always false. 18401 18402 -fstype type 18403 18404 displays files on a filesystem of type type. 18405 18406 -gid n 18407 18408 displays files with numeric group ID of n. 18409 18410 -ilname pattern 18411 18412 is like -lname, but the match is case-insensitive. 18413 18414 -iname pattern 18415 18416 is like -name, but the match is case-insensitive. 18417 18418 -inum n 18419 18420 displays files with inode number of n. 18421 18422 -ipath path 18423 18424 is like -path, but the match is case-insensitive. 18425 18426 -iregex pattern 18427 18428 is like -regex, but the match is case-insensitive. 18429 18430 -lname 18431 18432 displays files that are symbolic links whose contents match shell pattern 18433 pattern. The metacharacters do not treat / or . specially. 18434 18435 -mmin n 18436 18437 displays files with data last modified n minutes ago. 18438 18439 -nouser 18440 18441 displays files with numeric user ID corresponding to no user. 18442 18443 -nogroup 18444 18445 displays files with numeric group ID corresponding to no group. 18446 18447 -path pattern 18448 18449 displays files with name matching shell pattern pattern. 18450 18451 -perm +mode 18452 18453 displays files with any of the permission bits mode set. 18454 18455 -regex 18456 18457 displays files with names matching regular expression pattern. This is a 18458 match on the whole path, not a search. 18459 18460 -true 18461 18462 is always true. 18463 18464 -type c 18465 18466 supplements types as specified in the Single UNIX Specification with the 18467 letters l and s (symbolic links and sockets, respectively). 18468 18469 -uid n 18470 18471 displays files with numeric user ID of n. 18472 18473 -used 18474 18475 displays files last accessed n days after status was last changed. 18476 18477 -xtype c 18478 18479 is equivalent to -type unless the file is a symbolic link. For symbolic 18480 links: if -follow has not been given, true if the file is a link to a file 18481 of type c; if -follow has been given, true if c is l. In other words, for 18482 symbolic links, -xtype checks the type of the file that -type does not 18483 check. 18484 18485 -fls file 18486 18487 is true. Is like -ls but write to file like -fprint. 18488 18489 -fprint file 18490 18491 is true. Prints the full file name into file file. If file does not exist 18492 when find is run, it is created; if it does exist, it is truncated. The 18493 file names `/dev/stdout' and `/dev/stderr' are handled specially; they 18494 refer to the standard output and standard error output, respectively. 18495 18496 -fprint0 file 18497 18498 is true. Is like -print0 but write to file like -fprint. 18499 18500 -fprintf file format 18501 18502 is true. Like -printf but write to file like -fprint. 18503 18504 -print0 18505 18506 is true. Prints the full file name on the standard output, followed by a 18507 null character. This allows file names that contain newlines to be 18508 correctly interpreted by programs that process the find output. 18509 18510 -printf format 18511 18512 is true. Prints format on the standard output, interpreting \ escapes and % 18513 directives. Field widths and precisions can be specified as with the printf 18514 C function. Unlike -print, -printf does not add a newline at the end of the 18515 string. The escapes and directives are: 18516 18517 \a 18518 18519 alarm bell. 18520 18521 \b 18522 18523 backspace. 18524 18525 \c 18526 18527 stops printing from this format immediately and flushes the output. 18528 18529 \f 18530 18531 form feed. 18532 18533 \n 18534 18535 newline. 18536 18537 \r 18538 18539 carriage return. 18540 18541 \t 18542 18543 horizontal tab. 18544 18545 \v 18546 18547 vertical tab. 18548 18549 \\ 18550 18551 literal backslash (\). 18552 18553 %% 18554 18555 literal percent sign. 18556 18557 %a 18558 18559 last file access time in the format returned by the C ctime function. 18560 18561 %Ak 18562 18563 last file access time in the format specified by k, which is either @ 18564 or a directive for the C strftime function. The possible values for k 18565 are listed below; some of them might not be available on all systems, 18566 due to differences in strftime between systems. 18567 18568 @ 18569 18570 seconds since Jan. 1, 1970, 00:00 GMT. 18571 18572 H 18573 18574 hour (00..23). 18575 18576 I 18577 18578 hour (01..12). 18579 18580 k 18581 18582 hour ( 0..23). 18583 18584 l 18585 18586 hour ( 1..12). 18587 18588 M 18589 18590 minute (00..59). 18591 18592 p 18593 18594 locale's AM or PM. 18595 18596 r 18597 18598 time, 12-hour (hh:mm:ss [AP]M). 18599 18600 S 18601 18602 second (00..61). 18603 18604 T 18605 18606 time, 24-hour (hh:mm:ss). 18607 18608 X 18609 18610 locale's time representation (H:M:S). 18611 18612 Z 18613 18614 time zone (e.g., EDT), or nothing if no time zone is determinable. 18615 18616 a 18617 18618 locale's abbreviated weekday name (Sun..Sat). 18619 18620 A 18621 18622 locale's full weekday name, variable length (Sunday..Saturday). 18623 18624 b 18625 18626 locale's abbreviated month name (Jan..Dec). 18627 18628 B 18629 18630 locale's full month name, variable. 18631 18632 c 18633 18634 locale's date and time (Sat Nov 04 12:02:33 EST 1989). 18635 18636 d 18637 18638 day of month (01..31). 18639 18640 D 18641 18642 date (mm/dd/yy). 18643 18644 h 18645 18646 same as b. 18647 18648 j 18649 18650 day of year (001.366). 18651 18652 m 18653 18654 month (01..12). 18655 18656 U 18657 18658 week number of year with Sunday as first day of week (00..53). 18659 18660 w 18661 18662 day of week (0..6). 18663 18664 W 18665 18666 week number of year with Monday as first day of week (00..53). 18667 18668 x 18669 18670 locale's date representation (mm/dd/yy). 18671 18672 y 18673 18674 last two digits of year (00..99). 18675 18676 Y 18677 18678 year (1970...). 18679 18680 18681 18682 %b 18683 18684 file's size in 512-byte blocks (rounded up). 18685 18686 %c 18687 18688 last file status change time in the format returned by the C ctime 18689 function. 18690 18691 %Ck 18692 18693 last file status change time in the format specified by k, which is the 18694 same as for %A. 18695 18696 %d 18697 18698 file's depth in the directory tree; 0 means the file is a command line 18699 argument. 18700 18701 %f 18702 18703 file's name with any leading directories removed (only the last 18704 element). 18705 18706 %F 18707 18708 type of the filesystem the file is on; this value can be used for 18709 -fstype. 18710 18711 %g 18712 18713 file's group name, or numeric group ID if the group has no name. 18714 18715 %G 18716 18717 file's numeric group ID. 18718 18719 %h 18720 18721 leading directories of file's name (all but the last element). 18722 18723 %H 18724 18725 mommand line argument under which file was found. 18726 18727 %i 18728 18729 file's inode number (in decimal). 18730 18731 %k 18732 18733 file's size in 1K blocks (rounded up). 18734 18735 %l 18736 18737 object of symbolic link (empty string if file is not a symbolic link). 18738 18739 %m 18740 18741 file's permission bits (in octal). 18742 18743 %n 18744 18745 number of hard links to file. 18746 18747 %p 18748 18749 file's name. 18750 18751 %P 18752 18753 file's name with the name of the command line argument under which it 18754 was found removed. 18755 18756 %s 18757 18758 file's size in bytes. 18759 18760 %t 18761 18762 file's last modification time in the format returned by the C ctime 18763 function. 18764 18765 %Tk 18766 18767 file's last modification time in the format specified by k, which is 18768 the same as for %A. 18769 18770 %u 18771 18772 file's user name, or numeric user ID if the user has no name. 18773 18774 %U 18775 18776 file's numeric user ID. 18777 18778 18779 18780 -ls 18781 18782 is true. Lists current file in ls -dils format on standard output. The 18783 block counts are of 1K blocks, unless the environment variable 18784 POSIXLY_CORRECT is set, in which case 512-byte blocks are used. 18785 18786 Extra Operators 18787 18788 The following operators are supported in order of decreasing precedence and 18789 override what is specified in the Single UNIX Specification. 18790 18791 ( expr ) 18792 18793 force precedence. 18794 18795 ! expr 18796 18797 true if expr is false 18798 18799 -not expr 18800 18801 same as ! expr. 18802 18803 expr1 expr2 18804 18805 and (implied); expr2 is not evaluated if expr1 is false. 18806 18807 expr1 -a expr2 18808 18809 same as expr1 expr2. 18810 18811 expr1 -and expr2 18812 18813 same as expr1 expr2. 18814 18815 expr1 -o expr2 18816 18817 or; expr2 is not evaluated if expr1 is true. 18818 18819 expr1 -or expr2 18820 18821 same as expr1 -o expr2. 18822 18823 expr1, expr2 18824 18825 list; both expr1 and expr2 are always evaluated. The value of expr1 is 18826 discarded; the value of the list is the value of expr2. 18827 18828 18829 18830 fuser 18831 18832 Name 18833 18834 fuser -- identify processes using files or sockets 18835 18836 Description 18837 18838 fuser is as specified in the Single UNIX Specification but with differences as 18839 listed below. 18840 18841 Differences 18842 18843 -c 18844 18845 has unspecified behavior. 18846 18847 -f 18848 18849 has unspecified behavior. 18850 18851 LSB Deprecated Differences 18852 18853 The behaviors specified in this section are expected to disappear from a future 18854 version of the LSB; applications should only use the non-LSB-deprecated 18855 behaviors. 18856 18857 -a 18858 18859 shows all files specified on the command line. By default, only files that 18860 are accessed by at least one process are shown. 18861 18862 -k 18863 18864 kills processes accessing the file. Unless changed with -signal, SIGKILL is 18865 sent. An fuser process never kills itself, but may kill other fuser 18866 processes. The effective user ID of the process executing fuser is set to 18867 its real user ID before attempting to kill. 18868 18869 -i 18870 18871 asks the user for confirmation before killing a process. This option is 18872 silently ignored if -k is not present too. 18873 18874 -l 18875 18876 lists all known signal names. 18877 18878 -m 18879 18880 name specifies a file on a mounted file system or a block device that is 18881 mounted. All processes accessing files on that file system are listed. If a 18882 directory file is specified, it is automatically changed to name/. to use 18883 any file system that might be mounted on that directory. 18884 18885 -n space 18886 18887 selects a different name space. The name spaces file (file names, the 18888 default), udp (local UDP ports), and tcp (local TCP ports) are supported. 18889 For ports, either the port number or the symbolic name can be specified. If 18890 there is no ambiguity, the shortcut notation name/space (e.g. name/proto) 18891 can be used. 18892 18893 -s 18894 18895 operates silently. -u and -v are ignored in this mode. -a must not be used 18896 with -s. 18897 18898 -signal 18899 18900 uses the specified signal instead of SIGKILL when killing processes. 18901 Signals can be specified either by name (e.g. -HUP) or by number (e.g. -1). 18902 18903 -v 18904 18905 verbose mode. 18906 18907 -V 18908 18909 displays version information. 18910 18911 - 18912 18913 resets all options and set the signal back to SIGKILL. 18914 18915 gencat 18916 18917 Name 18918 18919 gencat -- generate a formatted message catalogue 18920 18921 Description 18922 18923 gencat is as specified in the Single UNIX Specification but with differences as 18924 listed below. 18925 18926 LSB Deprecated Differences 18927 18928 The behaviors specified in this section are expected to disappear from a future 18929 version of the LSB; applications should only use the non-LSB-deprecated 18930 behaviors. 18931 18932 -H, --header=NAME 18933 18934 creates C header file NAME containing symbol definitions. 18935 18936 --new 18937 18938 does not use existing catalog, forces new output file. 18939 18940 -o, --output=NAME 18941 18942 writes output to file NAME. 18943 18944 gettext 18945 18946 Name 18947 18948 gettext -- retrieve text string from message database 18949 18950 Synopsis 18951 18952 gettext [ options ] [ textdomain ] msgid 18953 18954 gettext -s [ options ] msgid ... 18955 18956 Description 18957 18958 The gettext utility retrieves a translated text string corresponding to string 18959 msgid from a message object generated with msgfmt utility. 18960 18961 The message object name is derived from the optional argument textdomain if 18962 present, otherwise from the TEXTDOMAIN environment. If no domain is specified, 18963 or if a corresponding string cannot be found, gettext prints msgid. 18964 18965 Ordinarily gettext looks for its message object in dirname/lang/LC_MESSAGES 18966 where dirname is the implementation-defined default directory and lang is the 18967 locale name. If present, the TEXTDOMAINDIR environment variable replaces the 18968 dirname. 18969 18970 This utility interprets C escape sequences such as \t for tab. Use \\ to print 18971 a backslash. To produce a message on a line of its own, either put a \n at the 18972 end of msgid, or use this command in conjunction with printf utility. 18973 18974 When used with the -s option the utility behaves like the echo utility. But it 18975 does not simply copy its arguments to standard output. Instead those messages 18976 found in the selected catalog are translated. 18977 18978 Options 18979 18980 -d domainname, --domain=domainname 18981 18982 Retrieve translated messages from domainname. 18983 18984 -e 18985 18986 Enable expansion of some escape sequences. 18987 18988 -n 18989 18990 Suppress trailing newline. 18991 18992 Operands 18993 18994 The following operands are supported: 18995 18996 textdomain 18997 18998 A domain name used to retrieve the messages. 18999 19000 msgid 19001 19002 A key to retrieve the localized message. 19003 19004 Environment Variables 19005 19006 LANGUAGE 19007 19008 Specifies one or more locale names. See gettext message handling functions 19009 for more information. 19010 19011 LANG 19012 19013 Specifies locale name. 19014 19015 LC_MESSAGES 19016 19017 Specifies messaging locale, and if present overrides LANG for messages. 19018 19019 TEXTDOMAIN 19020 19021 Specifies the text domain name, which is identical to the message object 19022 filename without .mo suffix. 19023 19024 TEXTDOMAINDIR 19025 19026 Specifies the pathname to the message database, and if present replaces the 19027 implementation-defined default directory. 19028 19029 Exit Status 19030 19031 The following exit values are returned: 19032 19033 0 19034 19035 Successful completion. 19036 19037 >0 19038 19039 An error occurred. 19040 19041 grep 19042 19043 Name 19044 19045 grep -- print lines matching a pattern 19046 19047 Description 19048 19049 grep is as specified in the Single UNIX Specification but with differences as 19050 listed below. 19051 19052 LSB Differences 19053 19054 Certain aspects of internationalized regular expressions are optional; see 19055 Internationalization and Regular Expressions>. 19056 19057 LSB Deprecated Differences 19058 19059 The behaviors specified in this section are expected to disappear from a future 19060 version of the LSB; applications should only use the non-LSB-deprecated 19061 behaviors. 19062 19063 -A NUM, --after-context=NUM 19064 19065 prints NUM lines of trailing context after matching lines. 19066 19067 -a, --text 19068 19069 processes a binary file as if it were text; this is equivalent to the 19070 --binary-files=text option. 19071 19072 -B NUM, --before-context=NUM 19073 19074 prints NUM lines of leading context before matching lines. 19075 19076 -C [NUM], -NUM, --context[=NUM] 19077 19078 prints NUM lines (default 2) of output context. 19079 19080 -b, --byte-offset 19081 19082 prints the byte offset within the input file before each line of output. 19083 19084 --binary-files=TYPE 19085 19086 assumes that the file is of type TYPE if its first few bytes indicate it 19087 contains binary data. By default, TYPE is binary, and grep normally outputs 19088 either a one-line message saying that a binary file matches, or no message 19089 if there is no match. If TYPE is without-match, grep assumes that a binary 19090 file does not match; this is equivalent to the -I option. If TYPE is text, 19091 grep processes a binary file as if it were text; this is equivalent to the 19092 -a option. Warning: grep --binary-files=text might output binary garbage, 19093 which can have nasty side effects if the output is a terminal and if the 19094 terminal driver interprets some of it as commands. 19095 19096 -c, --count 19097 19098 suppresses normal output; instead, prints a count of matching lines for 19099 each input file. With the -v, --invert-match option (see below), counts 19100 non-matching lines. 19101 19102 -d ACTION, --directories=ACTION 19103 19104 processes the input file as a directory with ACTION. By default, ACTION is 19105 read, which means that directories are read just as if they were ordinary 19106 files. If ACTION is skip, directories are silently skipped. If ACTION is 19107 recurse, grep reads all files under each directory, recursively; this is 19108 equivalent to the -r option. 19109 19110 -G, --basic-regexp 19111 19112 interprets PATTERN as a basic regular expression. (default) 19113 19114 -H, --with-filename 19115 19116 prints the filename for each match. 19117 19118 -h, --no-filename 19119 19120 suppresses the prefixing of filenames on output when multiple files are 19121 searched. 19122 19123 -I 19124 19125 processes a binary file as if it did not contain matching data; this is 19126 equivalent to the --binary-files=without-match option. 19127 19128 --ignore-case 19129 19130 equivalent to -i. 19131 19132 -L, --files-without-match 19133 19134 suppresses normal output; instead, prints the name of each input file from 19135 which no output would normally have been printed. The scanning will stop on 19136 the first match. 19137 19138 --files-with-matches 19139 19140 equivalent to -l. 19141 19142 --map 19143 19144 uses the mmap(2) system call to read input, if possible, instead of the 19145 default read(2) system call. In some situations, --mmap yields better 19146 performance. However, --mmap can cause undefined behavior (including core 19147 dumps) if an input file shrinks while grep is operating, or if an I/O error 19148 occurs. 19149 19150 --line-number 19151 19152 equivalent to -n. 19153 19154 --quiet 19155 19156 equivalent to -q. 19157 19158 -r, --recursive 19159 19160 reads all files under each directory, recursively; this is equivalent to 19161 the -d recurse option. 19162 19163 --no-messages 19164 19165 equivalent to -s. 19166 19167 -V, --version 19168 19169 prints the version number of grep to standard error. 19170 19171 --invert-match 19172 19173 equivalent to -v. 19174 19175 -w, --word-regexp 19176 19177 selects only those lines containing matches that form whole words. The test 19178 is that the matching substring must either be at the beginning of the line, 19179 or preceded by a non-word constituent character. Similarly, it must be 19180 either at the end of the line or followed by a non-word constituent 19181 character. Word-constituent characters are letters, digits, and the 19182 underscore. 19183 19184 --line-regexp 19185 19186 equivalent to -x. 19187 19188 -Z, --null 19189 19190 outputs a zero byte (the ASCII NUL character) instead of the character that 19191 normally follows a file name. 19192 19193 groupadd 19194 19195 Name 19196 19197 groupadd -- create a new group 19198 19199 Synopsis 19200 19201 groupadd [-g gid [-o]] group 19202 19203 Options 19204 19205 -g gid [-o] 19206 19207 specifies the numerical value of the group's ID. This value must be unique, 19208 unless the -o option is used. The value must be non-negative. 19209 19210 groupdel 19211 19212 Name 19213 19214 groupdel -- delete a group 19215 19216 Synopsis 19217 19218 groupdel group 19219 19220 Description 19221 19222 groupdel modifies the system account files, deleting all entries that refer to 19223 group. The named group must exist. 19224 19225 groupmod 19226 19227 Name 19228 19229 groupmod -- modify a group 19230 19231 Synopsis 19232 19233 groupmod [-g gid [-o]] [-n group_name ] group 19234 19235 Options 19236 19237 -g gid [-o] 19238 19239 specifies the numerical value of the group's ID. This value must be unique, 19240 unless the -o option is used. The value must be non-negative. Any files 19241 which the old group ID is the file group ID must have the file group ID 19242 changed manually. 19243 19244 -n groupname 19245 19246 changes the name of the group from group to group_name. 19247 19248 groups 19249 19250 Name 19251 19252 groups -- display a group 19253 19254 Synopsis 19255 19256 groups [user] 19257 19258 Description 19259 19260 groups displays the current group ID names or values. If the value does not 19261 have a corresponding entry in the group database, the value will be displayed 19262 as the numerical group value. The optional user parameter will display the 19263 groups for the named user. 19264 19265 gunzip 19266 19267 Name 19268 19269 gunzip -- uncompress files 19270 19271 Description 19272 19273 gunzip is equivalent to gzip -d. See the specification for gzip for further 19274 details. 19275 19276 gzip 19277 19278 Name 19279 19280 gzip -- compress or expand files 19281 19282 Synopsis 19283 19284 gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ] 19285 19286 Description 19287 19288 gzip tries to reduce the size of the named files. Whenever possible, each file 19289 is replaced by one with the extension .gz, while keeping the same ownership 19290 modes, access and modification times. If no files are specified, or if a file 19291 name is "-", the standard input is compressed to the standard output. gzip will 19292 only attempt to compress regular files. In particular, it will ignore symbolic 19293 links. 19294 19295 When compressing, gzip uses the deflate algorithm specified in RFC1951 and 19296 stores the result in a file using the gzip file format specified in RFC1952. 19297 19298 Options 19299 19300 -a, --ascii 19301 19302 does nothing on Linux systems. 19303 19304 -c, --stdout, --to-stdout 19305 19306 writes output on standard output; keeps original files unchanged. If there 19307 are several input files, the output consists of a sequence of independently 19308 compressed members. To obtain better compression, concatenate all input 19309 files before compressing them. 19310 19311 -d, --decompress, --uncompress 19312 19313 decompresses. 19314 19315 -f, --force 19316 19317 forces compression or decompression even if the file has multiple links or 19318 the corresponding file already exists, or if the compressed data is read 19319 from or written to a terminal. If the input data is not in a format 19320 recognized by gzip, and if the option --stdout is also given, copy the 19321 input data without change to the standard ouput: let gzip behave as cat. If 19322 -f is not given, and when not running in the background, gzip prompts to 19323 verify whether an existing file should be overwritten. 19324 19325 -l, --list 19326 19327 lists the compressed size, uncompressed size, ration and uncompressed name 19328 for each compressed file. Gives the uncompressed size as -1 for files not 19329 in gzip format. Additionally displays method, crc and timestamp for the 19330 uncompress file when used in combination with --verbose. 19331 19332 The compression methods currently supported are deflate, compress, lzh (SCO 19333 compress -H) and pack. The crc is given as ffffffff for a file not in gzip 19334 format. 19335 19336 With --name, the uncompressed name, date and time are those stored within 19337 the compress file, if present. 19338 19339 With --verbose, the size totals and compression ratio for all files is also 19340 displayed, unless some sizes are unknown. With --quiet, the title and 19341 totals lines are not displayed. 19342 19343 -L, --license 19344 19345 displays the gzip license and quit. 19346 19347 -n, --no-name 19348 19349 does not save the original file name and time stamp by default when 19350 compressing. (The original name is always saved if the name had to be 19351 truncated.) When decompressing, do not restore the original file name if 19352 present (remove only the gzip suffix from the compressed file name) and do 19353 not restore the original time stamp if present (copy it from the compressed 19354 file). This option is the default when decompressing. 19355 19356 -N, --name 19357 19358 always saves the original file name and time stamp when compressing; this 19359 is the default. When decompressing, restore the original file name and time 19360 stamp if present. This option is useful on systems which have a limit on 19361 file name length or when the time stamp has been lost after a file 19362 transfer. 19363 19364 -q, --quiet 19365 19366 suppresses all warnings. 19367 19368 -r, --recursive 19369 19370 travels the directory structure recursively. If any of the file names 19371 specified on the command line are directories, gzip will descend into the 19372 directory and compress all the files it finds there (or decompress them in 19373 the case of gunzip). 19374 19375 -S .suf, --sufix .suf 19376 19377 uses suffix .suf instead of .gz. 19378 19379 -t, --test 19380 19381 checks the compressed file integrity. 19382 19383 -v, --verbose 19384 19385 displays the name and percentage reduction for each file compressed or 19386 decompressed. 19387 19388 -V, --version 19389 19390 displays the version number and compilation options, then quits. 19391 19392 -#, --fast, --best 19393 19394 regulates the speed of compression using the specified digit #, where -1 or 19395 --fast indicates the fastest compression method (less compression) and -9 19396 or --best indicates the slowest compression method (best compression). The 19397 default compression level is -6 (that is, biased towards high compression 19398 at expense of speed). 19399 19400 head 19401 19402 Name 19403 19404 head -- output the first part of files 19405 19406 Description 19407 19408 head is as specified in the Single UNIX Specification but with additional 19409 options as specified below. 19410 19411 LSB Deprecated Differences 19412 19413 The behaviors specified in this section are expected to disappear from a future 19414 version of the LSB; applications should only use the non-LSB-deprecated 19415 behaviors. 19416 19417 -c, --bytes=SIZE 19418 19419 prints first SIZE bytes. SIZE may have a multiplier suffix: b for 512, k 19420 for 1K, m for 1 Meg. 19421 19422 --lines=NUMBER 19423 19424 is equivalent to -n. 19425 19426 -q, --quiet, --silent 19427 19428 does not print headers giving file names. 19429 19430 -v 19431 19432 prints headers giving file names. 19433 19434 hostname 19435 19436 Name 19437 19438 hostname -- show the system's host name 19439 19440 Synopsis 19441 19442 hostname [-v] [-a] [--alias] [-d] [--domain] [-f] [--fqdn] 19443 [-i] [--ip-address] [--long] [-s] [--short] [-y] [--yp] 19444 [--nis] 19445 19446 hostname [-v] [-F filename] [--file filename] [hostname] 19447 19448 hostname [-v] [-h] [--help] [-V] [--version] 19449 19450 Description 19451 19452 hostname is used to either set or display the current host or domain name of 19453 the system. This name is used by many of the networking programs to identify 19454 the machine. The domain name is also used by NIS/YP. 19455 19456 When called without any arguments, the program displays the name of the system 19457 as returned by the gethostname(2) function. 19458 19459 When called with one argument or with the --file option, the commands set the 19460 host name or the NIS/YP domain name. Note, that only the super-user can change 19461 the names. 19462 19463 Options 19464 19465 -a, --alias 19466 19467 displays the alias name of the host (if used). 19468 19469 -d, --domain 19470 19471 displays the name of the DNS domain. 19472 19473 -F, --file filename 19474 19475 reads the host name from the specified file. Comments (lines starting with 19476 a #) are ignored. 19477 19478 -f, --fqdn, --long 19479 19480 displays the FQDN (Fully Qualified Domain Name). 19481 19482 -i, --ip-address 19483 19484 displays the IP address(es) of the host. 19485 19486 -s, --short 19487 19488 displays the short host name. This is the host name cut at the first dot. 19489 19490 -V, --version 19491 19492 prints version information on standard output and exits successfully. 19493 19494 -v, --verbose 19495 19496 tells what's going on. 19497 19498 -y, --yp, --nis 19499 19500 displays the NIS domain name. If a parameter is given (or --file name) then 19501 root can also set a new NIS domain. 19502 19503 iconv 19504 19505 Name 19506 19507 iconv -- convert file character encoding 19508 19509 Synopsis 19510 19511 iconv -f encoding -t encoding [--list] [-o file] [--output file] [--verbose] inputfile 19512 19513 Description 19514 19515 The specification for "iconv" is as specified in the Single UNIX Specification, 19516 Version 2 but with the following differences as listed below. 19517 19518 LSB-deprecated Options 19519 19520 The behaviors specified in this section are expected to disappear from a future 19521 version of the LSB; applications should only use the non-LSB-deprecated 19522 behaviors. 19523 19524 --list 19525 19526 lists known coded character sets (synonym for the -l option which is found 19527 in the Single UNIX Specification, Version 3 but not yet specified here). 19528 19529 -o, --output file 19530 19531 write output to specified output file (instead of stdin). 19532 19533 --verbose 19534 19535 prints progress information. 19536 19537 install 19538 19539 Name 19540 19541 install -- copy files and set attributes 19542 19543 Synopsis 19544 19545 install [OPTION]... SOURCE DEST (1st format) 19546 install [OPTION]... SOURCE... DIRECTORY (2nd format) 19547 install -d [OPTION]... DIRECTORY... (3rd format) 19548 19549 Description 19550 19551 In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to the 19552 existing DIRECTORY, while setting permission modes and owner/group. In the 19553 third format, create all components of the given DIRECTORY(ies). 19554 19555 Standard Options 19556 19557 --backup[=CONTROL] 19558 19559 makes a backup of each existing destination file. 19560 19561 -b 19562 19563 is like --backup, but does not accept an argument. 19564 19565 -d, --directory 19566 19567 treats all arguments as directory names; creates all components of the 19568 specified directories. 19569 19570 -D 19571 19572 creates all leading components of DEST except the last, then copies SOURCE 19573 to DEST; useful in the 1st format. 19574 19575 -g, --group=GROUP 19576 19577 sets group ownership, instead of process' current group. 19578 19579 -m, --mode=MODE 19580 19581 sets permission mode (as in chmod), instead of rwxr-xr-x. 19582 19583 -o, --owner=OWNER 19584 19585 sets ownership (super-user only). 19586 19587 -p, --preserve-timestamps 19588 19589 applies access/modification times of SOURCE files to corresponding 19590 destination files. 19591 19592 -s, --strip 19593 19594 strips symbol tables, only for 1st and 2nd formats. 19595 19596 -S, --suffix=SUFFIX 19597 19598 overrides the usual backup suffix. 19599 19600 --verbose 19601 19602 prints the name of each directory as it is created. 19603 19604 install_initd 19605 19606 Name 19607 19608 install_initd -- install an init.d file 19609 19610 Synopsis 19611 19612 /usr/lib/lsb/install_initd initd_file 19613 19614 Description 19615 19616 install_initd installs an init.d file that has been copied to the /etc/init.d 19617 location or symlink. In the postinstall script of a package, the program /usr/ 19618 lib/lsb/install_initd configures a distribution's boot script system to call 19619 the init.d file of the package at an appropriate time. See also the Section 19620 called Installation and removal of init.d files in Chapter 24. 19621 19622 ipcrm 19623 19624 Name 19625 19626 ipcrm -- provide information on ipc facilities 19627 19628 Synopsis 19629 19630 ipcrm [ shm | msg | sem ] id... 19631 19632 Description 19633 19634 ipcrm removes the resource(s) specified by id. 19635 19636 ipcs 19637 19638 Name 19639 19640 ipcs -- provide information on ipc facilities 19641 19642 Synopsis 19643 19644 ipcs [ -smq ] [ -tcp ] 19645 19646 Description 19647 19648 ipcs provides information on the ipc facilities for which the calling process 19649 has read access. 19650 19651 Resource display options 19652 19653 -m 19654 19655 shared memory segments. 19656 19657 -q 19658 19659 message queues. 19660 19661 -s 19662 19663 semaphore arrays. 19664 19665 Output format options 19666 19667 -t 19668 19669 time. 19670 19671 -p 19672 19673 pid. 19674 19675 -c 19676 19677 creator. 19678 19679 Application Usage 19680 19681 In some implementations of ipcs the -a option will print all information 19682 available. In other implementations the -a option will print all resource 19683 types. Therefore, applications must not use the -a option. 19684 19685 Some implements of ipcs implement more output formats than are specified here. 19686 These options are not consistent between differing implementations of ipcs. 19687 Therefore, only the -t -c and -p option flags may be used. At least one of the 19688 -t -c and -p options must be specified. 19689 19690 killall 19691 19692 Name 19693 19694 killall -- kill processes by name 19695 19696 Synopsis 19697 19698 killall [-egiqvw] [-signal] name ... 19699 killall -l 19700 killall -V 19701 19702 Description 19703 19704 killall sends a signal to all processes running any of the specified commands. 19705 If no signal name is specified, SIGTERM is sent. 19706 19707 Signals can be specified either by name (e.g. -HUP) or by number (e.g. -1). 19708 Signal 0 (check if a process exists) can only be specified by number. 19709 19710 If the command name contains a slash (/), processes executing that particular 19711 file will be selected for killing, independent of their name. 19712 19713 killall returns a non-zero return code if no process has been killed for any of 19714 the listed commands. If at least one process has been killed for each command, 19715 killall returns zero. 19716 19717 A killall process never kills itself (but may kill other killall processes). 19718 19719 Standard Options 19720 19721 -e 19722 19723 requires an exact match for very long names. If a command name is longer 19724 than 15 characters, the full name may be unavailable (i.e. it is swapped 19725 out). In this case, killall will kill everything that matches within the 19726 first 15 characters. With -e, such entries are skipped. killall prints a 19727 message for each skipped entry if -v is specified in addition to -e. 19728 19729 -g 19730 19731 kills the process group to which the process belongs. The kill signal is 19732 only sent once per group, even if multiple processes belonging to the same 19733 process group were found. 19734 19735 -i 19736 19737 asks interactively for confirmation before killing. 19738 19739 -l 19740 19741 lists all known signal names. 19742 19743 -q 19744 19745 does not complain if no processes were killed. 19746 19747 -v 19748 19749 reports if the signal was successfully sent. 19750 19751 -V 19752 19753 displays version information. 19754 19755 ln 19756 19757 Name 19758 19759 ln -- make links between files 19760 19761 Description 19762 19763 ln is as specified in the Single UNIX Specification, Version 2 but with 19764 differences as listed below. 19765 19766 Differences 19767 19768 -s 19769 19770 as specified in the Single UNIX Specification, Version 3 19771 19772 LSB Deprecated Differences 19773 19774 The behaviors specified in this section are expected to disappear from a future 19775 version of the LSB; applications should only use the non-LSB-deprecated 19776 behaviors. 19777 19778 -b, --backup[=CONTROL] 19779 19780 makes a backup of each existing destination file. 19781 19782 -n, --no-dereference 19783 19784 treats destination that is a symlink to a directory as if it were a normal 19785 file. 19786 19787 -i, --interactive 19788 19789 prompts whether to remove destinations. 19790 19791 --symbolic 19792 19793 synonym for -s. 19794 19795 -S, --suffix=SUFFIX 19796 19797 overrides the usual backup suffix. 19798 19799 --target-directory=DIR 19800 19801 moves all SOURCE arguments into directory DIR. 19802 19803 -v, --verbose 19804 19805 prints name of each file before linking. 19806 19807 --version 19808 19809 outputs version information and exits. 19810 19811 Notes 19812 19813 The backup suffix is ~, unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The 19814 version control method may be selected via the --backup option or through the 19815 VERSION_CONTROL environment variable. Here are the values: 19816 19817 none, off 19818 19819 never makes backups (even if --backup is given). 19820 19821 numbered, t 19822 19823 makes numbered backups. 19824 19825 existing, nil 19826 19827 numbered if numbered backups exist, simple otherwise 19828 19829 simple, never 19830 19831 always makes simple backups. 19832 19833 localedef 19834 19835 Name 19836 19837 localedef -- compile locale definition files 19838 19839 Description 19840 19841 localedef is as specified in the Single UNIX Specification but with differences 19842 as listed below. 19843 19844 LSB Deprecated Differences 19845 19846 The behaviors specified in this section are expected to disappear from a future 19847 version of the LSB; applications should only use the non-LSB-deprecated 19848 behaviors. 19849 19850 --charmap=charmapfile 19851 19852 is equivalent to -f. 19853 19854 --inputfile=intputfile 19855 19856 is equivalent to -i. 19857 19858 --force 19859 19860 is equivalent to -c. 19861 19862 -v, --verbose 19863 19864 generates extra warnings about errors that are normally ignored. 19865 19866 --quiet 19867 19868 suppresses all notifications and warnings, and reports only fatal errors. 19869 19870 lpr 19871 19872 Name 19873 19874 lpr -- off line print 19875 19876 Synopsis 19877 19878 lpr [-l] [-p] [-Pprinter] [-h] [-s] [-#copies] [-J name] 19879 [-T title] [name ...] 19880 19881 Description 19882 19883 lpr uses a spooling daemon to print the named files when facilities become 19884 available. If no names appear, the standard input is assumed. 19885 19886 Standard Options 19887 19888 -l 19889 19890 identifies binary data that is not to be filtered but sent as raw input to 19891 printer. 19892 19893 -p 19894 19895 formats with "pr" before sending to printer. 19896 19897 -Pprinter 19898 19899 sends output to the printer named printer instead of the default printer. 19900 19901 -h 19902 19903 suppresses header page. 19904 19905 -s 19906 19907 uses symbolic links. 19908 19909 -#copies 19910 19911 specifies copies as the number of copies to print. 19912 19913 -J name 19914 19915 specifies name as the job name for the header page. 19916 19917 -T title 19918 19919 specifies title as the title used for "pr". 19920 19921 ls 19922 19923 Name 19924 19925 ls -- list directory contents 19926 19927 Description 19928 19929 ls is as specified in the Single UNIX Specification, but with differences 19930 listed below. 19931 19932 Differences 19933 19934 -p 19935 19936 in addition to the Single UNIX Specification behavior of printing a slash 19937 for a directory, ls -p may display other characters for other file types. 19938 19939 Certain aspects of internationalized filename globbing are optional; see 19940 Internationalization and Filename Globbing>. 19941 19942 lsb_release 19943 19944 Name 19945 19946 lsb_release -- print distribution specific information 19947 19948 Synopsis 19949 19950 lsb_release [OPTION]... 19951 19952 Description 19953 19954 The lsb_release command prints certain LSB (Linux Standard Base) and 19955 Distribution information. 19956 19957 With no option, same as -v. 19958 19959 Options 19960 19961 -v, --version 19962 19963 displays version of LSB against which distribution is compliant. 19964 19965 -i, --id 19966 19967 displays string id of distributor. 19968 19969 -d, --description 19970 19971 displays single line text description of distribution. 19972 19973 -r, --release 19974 19975 displays release number of distribution. 19976 19977 -c, --codename 19978 19979 displays codename according to distribution release. 19980 19981 -a, --all 19982 19983 displays all of the above information. 19984 19985 -s, --short 19986 19987 displays all of the above information in short output format. 19988 19989 -h, --help 19990 19991 displays a human-readable help message. 19992 19993 m4 19994 19995 Name 19996 19997 m4 -- macro processor 19998 19999 Description 20000 20001 m4 is as specified in the Single UNIX Specification but with differences as 20002 listed below. 20003 20004 Differences 20005 20006 -P 20007 20008 forces a m4_ prefix to all builtins. 20009 20010 -I directory 20011 20012 Add directory to the end of the search path for includes. 20013 20014 LSB Deprecated Differences 20015 20016 The behaviors specified in this section are expected to disappear from a future 20017 version of the LSB; applications should only use the non-LSB-deprecated 20018 behaviors. 20019 20020 --version 20021 20022 outputs version information and exits. 20023 20024 -e, --interactive 20025 20026 unbuffers output, ignores interrupts. 20027 20028 -E, --fatal-warnings 20029 20030 stops execution after first warning. 20031 20032 -Q, --quiet, --silent 20033 20034 suppresses some warnings for builtins. 20035 20036 --prefix-builtins 20037 20038 is equivalent to -P. 20039 20040 --include=DIRECTORY 20041 20042 is equivalent to -I. 20043 20044 --define=NAME[=VALUE] 20045 20046 is equivalent to -D. 20047 20048 --undefine=NAME 20049 20050 deletes builtin NAME. 20051 20052 --synclines 20053 20054 is equivalent to -s. 20055 20056 -G, --traditional 20057 20058 suppresses all GNU extensions. 20059 20060 -H, --hashsize=PRIME 20061 20062 sets symbol lookup hash table size. 20063 20064 -L, --nesting-limit=NUMBER 20065 20066 changes artificial nesting limit. 20067 20068 -F, --freeze-state=FILE 20069 20070 produces a frozen state on FILE at end. 20071 20072 -R, --reload-state=FILE 20073 20074 reloads a frozen state from FILE at start. 20075 20076 -d, --debug=[FLAGS] 20077 20078 sets debug level (no FLAGS implies 'aeq'). FLAGS is any of: 20079 20080 t 20081 20082 traces for all macro calls, not only 'ed. 20083 20084 a 20085 20086 shows actual arguments. 20087 20088 e 20089 20090 shows expansion. 20091 20092 q 20093 20094 quotes values as necessary, with a or e flag. 20095 20096 c 20097 20098 shows before collect, after collect and after call. 20099 20100 x 20101 20102 adds a unique macro call id, useful with c flag. 20103 20104 f 20105 20106 says current input file name. 20107 20108 l 20109 20110 says current input line number. 20111 20112 p 20113 20114 shows results of path searches. 20115 20116 i 20117 20118 shows changes in input files. 20119 20120 V 20121 20122 is shorthand for all of the above flags. 20123 20124 -t, --trace=NAME 20125 20126 traces NAME when it will be defined. 20127 20128 -l, --arglength=NUM 20129 20130 restricts macro tracing size. 20131 20132 -o, --error-output=FILE 20133 20134 redirects debug and traces output. 20135 20136 make 20137 20138 Name 20139 20140 make -- maintain, update and regenerate groups of programs 20141 20142 Description 20143 20144 make is as specified in the Single UNIX Specification but with differences as 20145 listed below. 20146 20147 LSB Deprecated Differences 20148 20149 The behaviors specified in this section are expected to disappear from a future 20150 version of the LSB; applications should only use the non-LSB-deprecated 20151 behaviors. 20152 20153 The GNU make command contains syntax extensions beyond those specified in the 20154 Single UNIX Specification. Use of these extensions is deprecated. 20155 20156 -C dir 20157 20158 changes to directory dir before reading the makefiles or doing anything 20159 else. If multiple -C options are specified, each is interpreted relative to 20160 the previous one: -C / -C etc is equivalent to -C /etc. This is typically 20161 used with recursive invocations of make. 20162 20163 -d 20164 20165 prints debugging information in addition to normal processing. The 20166 debugging information says which files are being considered for remaking, 20167 which filetimes are being compared and with what results, which files 20168 actually need to be remade, which implicit rules are considered and which 20169 are applied---everything interesting about how make decides what to do. 20170 20171 -I dir 20172 20173 specifies a directory dir to search for included makefiles. If several -I 20174 options are used to specify several directories, the directories are 20175 searched in the order specified. Unlike the arguments to other flags of 20176 make, directories given with -I flags may come directly after the flag: 20177 -Idir is allowed, as well as -I dir. This syntax is allowed for 20178 compatibility with the C preprocessor's -I flag. 20179 20180 -j jobs 20181 20182 specifies the number of jobs (commands) to run simultaneously. If there is 20183 more than one -j option, the last one is effective. If the -j option is 20184 given without an argument, make will not limit the number of jobs that can 20185 run simultaneously. 20186 20187 -l [load] 20188 20189 specifies that no new jobs (commands) should be started if there are others 20190 jobs running and the load average is at least load (a floating-point 20191 number). With no argument, removes a previous load limit. 20192 20193 -o file 20194 20195 does not remake the file file even if it is older than its dependencies, 20196 and do not remake anything on account of changes in file. Essentially the 20197 file is treated as very old and its rules are ignored. 20198 20199 -v 20200 20201 prints the version of the make program plus a copyright, a list of authors 20202 and a notice that there is no warranty. 20203 20204 -w 20205 20206 prints a message containing the working directory before and after other 20207 processing. This may be use­ ful for tracking down errors from complicated 20208 nests of recursive make commands. 20209 20210 -W file 20211 20212 pretends that the target file has just been modified. When used with the -n 20213 flag, this shows you what would happen if you were to modify that file. 20214 Without -n, it is almost the same as running a touch command on the given 20215 file before running make, except that the modification time is changed only 20216 in the imagination of make. 20217 20218 man 20219 20220 Name 20221 20222 man -- display system documentation 20223 20224 Description 20225 20226 man is as specified in the Single UNIX Specification. While additional features 20227 my be found in Linux versions of this command, the Single UNIX Specification 20228 specified interface is correctly and completely implemented. 20229 20230 md5sum 20231 20232 Name 20233 20234 md5sum -- generates or checks MD5 message digests 20235 20236 Synopsis 20237 20238 md5sum [-b] [-c [file]] | [file...] 20239 20240 Description 20241 20242 For each file, write to standard output a line containing the MD5 checksum of 20243 that file, followed by one or more blank characters, followed by the name of 20244 the file. The MD5 checksum shall be calculated according to RFC1321 and output 20245 as 32 hexadecimal digits (as RFC1321 does). 20246 20247 If no file names are specified as operands, read from standard input and use 20248 "-" as the file name in the output. 20249 20250 Options 20251 20252 -b 20253 20254 uses binary mode. 20255 20256 -c [file] 20257 20258 checks md5sum of all files listed in file against the checksum listed in 20259 the same file. The actual format of that file is the same as output of 20260 md5sum. That is, each line in the file describes a file. 20261 20262 mkdir 20263 20264 Name 20265 20266 mkdir -- make directories 20267 20268 Description 20269 20270 mkdir is as specified in the Single UNIX Specification but with differences as 20271 listed below. 20272 20273 LSB Deprecated Differences 20274 20275 The behaviors specified in this section are expected to disappear from a future 20276 version of the LSB; applications should only use the non-LSB-deprecated 20277 behaviors. 20278 20279 --verbose 20280 20281 prints a message for each created directory. 20282 20283 --version 20284 20285 outputs version information and exits. 20286 20287 mknod 20288 20289 Name 20290 20291 mknod -- make block or character special files 20292 20293 Synopsis 20294 20295 mknod [OPTION]... NAME TYPE [MAJOR MINOR] 20296 20297 Description 20298 20299 Create the special file NAME of the given TYPE. 20300 20301 MAJOR MINOR are forbidden for TYPE p, mandatory otherwise. TYPE may be: 20302 20303 b 20304 20305 creates a block (buffered) special file. 20306 20307 c, u 20308 20309 creates a character (unbuffered) special file. 20310 20311 p 20312 20313 creates a FIFO. 20314 20315 Standard Options 20316 20317 -m, --mode=MODE 20318 20319 sets permission mode (as in chmod), not a=rw - umask. 20320 20321 --version 20322 20323 outputs version information and exits. 20324 20325 mktemp 20326 20327 Name 20328 20329 mktemp -- make temporary file name (unique) 20330 20331 Synopsis 20332 20333 mktemp [-q] [-u] template 20334 20335 Description 20336 20337 mktemp takes the given file name template and overwrites a portion of it to 20338 create a file name. This file name is unique and suitable for use by the 20339 application. 20340 20341 Options 20342 20343 -q 20344 20345 fails silently if an error occurs. This is useful if a script does not want 20346 error output to go to standard error. 20347 20348 -u 20349 20350 operates in `unsafe' mode. The temp file will be unlinked before mktemp 20351 exits. This is slightly better than mktemp(3) but still introduces a race 20352 condition. Use of this option is not encouraged. 20353 20354 more 20355 20356 Name 20357 20358 more -- file perusal filter for crt viewing 20359 20360 Description 20361 20362 more is as specified in the Single UNIX Specification but with differences as 20363 listed below. 20364 20365 Differences 20366 20367 The more command need not respect the LINES and COLUMNS environment variables. 20368 20369 The more command need not support the following interactive commands: 20370 20371 g 20372 G 20373 u 20374 control u 20375 control f 20376 newline 20377 j 20378 k 20379 r 20380 R 20381 m 20382 ' (return to mark) 20383 /! 20384 ? 20385 N 20386 :e 20387 :t 20388 control g 20389 ZZ 20390 20391 -num 20392 20393 specifies an integer which is the screen size (in lines). 20394 20395 -e 20396 20397 has unspecified behavior. 20398 20399 -i 20400 20401 has unspecified behavior. 20402 20403 -n 20404 20405 has unspecified behavior. 20406 20407 -p 20408 20409 Either (1) clear the whole screen and then display the text (instead of the 20410 usual scrolling behavior), or (2) provide the behavior specified by the 20411 Single UNIX Specification. In the latter case, the syntax is "-p command". 20412 20413 -t 20414 20415 has unspecified behavior. 20416 20417 +num 20418 20419 starts at line number num. 20420 20421 +/string 20422 20423 specifies a string that will be searched for before each file is displayed. 20424 20425 LSB Deprecated Differences 20426 20427 The behaviors specified in this section are expected to disappear from a future 20428 version of the LSB; applications should only use the non-LSB-deprecated 20429 behaviors. 20430 20431 -d 20432 20433 prompts user with the message "[Press space to continue, 'q' to quit.]" and 20434 will display "[Press 'h' for instructions.]" instead of ringing the bell 20435 when an illegal key is pressed. 20436 20437 -l 20438 20439 prevents the typical behavior where more treats ^L (form feed) as a special 20440 character and pauses after any line that contains a form feed. 20441 20442 -f 20443 20444 counts logical, rather than screen lines (i.e., long lines are not folded). 20445 20446 Rationale 20447 20448 The +num and +/string options are deprecated in the Single UNIX Specification, 20449 Version 2; however we must continue to specify them because util-linux-2.11f 20450 does not support the replacement (-p command). The +command option as found in 20451 the Single UNIX Specification is more general than what we specify, but 20452 util-linux-2.11f appears to only support the more specific +num and +/string 20453 forms. 20454 20455 mount 20456 20457 Name 20458 20459 mount -- mount a file system 20460 20461 Synopsis 20462 20463 mount [-hV] 20464 mount -a [-fFnrsvw] [-t vfstype] 20465 mount [-fnrsvw] [-o options [,...]] device | dir 20466 mount [-fnrsvw] [-t vfstype] [-o options] device dir 20467 20468 Description 20469 20470 Files are named in a big tree, the file hierarchy, rooted at /. These files can 20471 be spread out over several devices. mount serves to attach the file system 20472 found on some device to the big file tree. Conversely, umount(8) will detach it 20473 again. 20474 20475 Standard Options 20476 20477 -V 20478 20479 outputs version. 20480 20481 -v 20482 20483 invokes verbose mode. 20484 20485 -a 20486 20487 mounts all filesystems (of the given types) mentioned in fstab. 20488 20489 -F 20490 20491 combines with -a. to fork off a new incarnation of mount for each device. 20492 This will do the mounts on different devices or different NFS servers in 20493 parallel. 20494 20495 -f 20496 20497 causes everything to be done except for the actual system call; if it's not 20498 obvious, this `fakes' mounting the file system. 20499 20500 -n 20501 20502 mounts without writing in /etc/mtab. This is necessary for example when / 20503 etc is on a read-only file system. 20504 20505 -s 20506 20507 tolerates sloppy mount options rather than failing. This will ignore mount 20508 options not supported by a filesystem type. Not all filesystems support 20509 this option. 20510 20511 -r 20512 20513 mounts the file system read-only. A synonym is -o ro. 20514 20515 -w 20516 20517 mounts the file system read/write. (default) A synonym is -o rw. 20518 20519 -L label 20520 20521 mounts the partition that has the specified label. 20522 20523 -U uuid 20524 20525 mounts the partition that has the specified uuid. These two options require 20526 the file /proc/partitions to exist. 20527 20528 -t vfstype 20529 20530 indicates a file system type of vfstype. 20531 20532 More than one type may be specified in a comma separated list. The list of 20533 file system types can be prefixed with no to specify the file system types 20534 on which no action should be taken. 20535 20536 -o 20537 20538 options are specified with a -o flag followed by a comma-separated string 20539 of options. Some of these options are only useful when they appear in the / 20540 etc/fstab file. The following options apply to any file system that is 20541 being mounted: 20542 20543 async 20544 20545 does all I/O to the file system asynchronously. 20546 20547 atime 20548 20549 updates inode access time for each access. (default) 20550 20551 auto 20552 20553 is mountable with -a. 20554 20555 defaults 20556 20557 uses default options: rw, suid, dev, exec, auto, nouser, and async. 20558 20559 dev 20560 20561 interprets character or block special devices on the file system. 20562 20563 exec 20564 20565 permits execution of binaries. 20566 20567 noatime 20568 20569 does not update inode access times on this file system. 20570 20571 noauto 20572 20573 is only explicitly mountable. 20574 20575 nodev 20576 20577 does not interpret character or block special devices on the file 20578 system. 20579 20580 noexec 20581 20582 does not allow execution of any binaries on the mounted file system. 20583 20584 nosuid 20585 20586 does not allow set-user-identifier or set-group-identifier bits to take 20587 effect. 20588 20589 nouser 20590 20591 forbids an ordinary (i.e., non-root) user to mount the file system. 20592 (default) 20593 20594 remount 20595 20596 attempts to remount an already-mounted file system. This is commonly 20597 used to change the mount flags for a file system, especially to make a 20598 read-only file system writable. 20599 20600 ro 20601 20602 mounts the file system read-only. 20603 20604 rw 20605 20606 mounts the file system read-write. 20607 20608 suid 20609 20610 allows set-user-identifier or set-group-identifier bits to take effect. 20611 20612 sync 20613 20614 does all I/O to the file system synchronously. 20615 20616 user 20617 20618 allows an ordinary user to mount the file system. This option implies 20619 the options noexec, nosuid, and nodev (unless overridden by subsequent 20620 options, as in the option line user,exec,dev,suid). 20621 20622 msgfmt 20623 20624 Name 20625 20626 msgfmt -- retrieve text string from message database 20627 20628 Synopsis 20629 20630 msgfmt [ options ] filename.po ... 20631 20632 Description 20633 20634 msgfmt creates message object files from portable object files (filename.po), 20635 without changing the portable object files. 20636 20637 The .po file contains messages displayed to users by system utilities or by 20638 application programs. .po files can be edited, and the messages in them can be 20639 rewritten in any language supported by the system. 20640 20641 If input file is -, standard input is read. 20642 20643 The xgettext utility can be used to create .po files from script or programs. 20644 20645 msgfmt interprets data as characters according to the current setting of the 20646 LC_CTYPE locale category. 20647 20648 Options 20649 20650 -D directory, --directory=directory 20651 20652 Add directory to list for input files search. 20653 20654 -f, --use-fuzzy 20655 20656 Use fuzzy entries in output. If this option is not specified, fuzzy entries 20657 are not included into the output. 20658 20659 -o output-file, --output-file=output-file 20660 20661 Specify output file name as output-file. All domain directives and 20662 duplicate msgids in the .po file are ignored. If output-file is -, output 20663 is written to standard output. 20664 20665 --strict 20666 20667 Direct the utility to work strictly following the UniForum/Sun 20668 implementation. Currently this only affects the naming of the output file. 20669 If this option is not given the name of the output file is the same as the 20670 domain name. If the strict UniForum mode is enabled the suffix .mo is added 20671 to the file name if it is not already present. 20672 20673 -v, --verbose 20674 20675 Detect and diagnose input file anomalies which might represent translation 20676 errors. The msgid and msgstr strings are studied and compared. It is 20677 considered abnormal that one string starts or ends with a newline while the 20678 other does not. 20679 20680 Also, if the string represents a format string used in a printf-like 20681 function both strings should have the same number of % format specifiers, 20682 with matching types. If the flag c-format or possible-c-format appears in 20683 the special comment #, for this entry a check is performed. For example, 20684 the check will diagnose using %.*s against %s, or %d against %s, or %d 20685 against %x. It can even handle positional parameters. 20686 20687 Operands 20688 20689 The filename.po operands are treated as portable object files. The format of 20690 portable object files is defined in EXTENDED DESCRIPTION. 20691 20692 Standard Input 20693 20694 The standard input is not used unless a filename.po operand is specified as 20695 "-". 20696 20697 Environment Variables 20698 20699 LANGUAGE 20700 20701 Specifies one or more locale names. See gettext message handling functions 20702 for more information. 20703 20704 LANG 20705 20706 Specifies locale name. 20707 20708 LC_ALL 20709 20710 Specifies locale name for all categories. If defined, overrides LANG, 20711 LC_CTYPE and LC_MESSAGES. 20712 20713 LC_CTYPE 20714 20715 Specifies locale name for character handling. 20716 20717 LC_MESSAGES 20718 20719 Specifies messaging locale, and if present overrides LANG for messages. 20720 20721 Standard Output 20722 20723 The standard output is not used unless the option-argument of the -o option is 20724 specified as -. 20725 20726 Extended Description 20727 20728 The format of portable object files (.po files) is defined as follows. Each .po 20729 file contains one or more lines, with each line containing either a comment or 20730 a statement. Comments start the line with a hash mark (#) and end with the 20731 newline character. All comments and empty lines are ignored. The format of a 20732 statement is: 20733 20734 directive value 20735 20736 Each directive starts at the beginning of the line and is separated from value 20737 by white space (such as one or more space or tab characters). value consists of 20738 one or more quoted strings separated by white space. If two or more strings are 20739 specified as value, they are normalized into single string using the string 20740 normalization syntax the same as the ISO C language. Use any of the following 20741 types of directives: 20742 20743 domain domainname 20744 20745 msgid message_identifier 20746 20747 msgid_plural untranslated_string_plural 20748 20749 msgstr message_string 20750 20751 msgstr[n] message_string 20752 20753 The behavior of the domain directive is affected by the options used. See 20754 OPTIONS for the behavior when the -o option is specified. If the -o option is 20755 not specified, the behavior of the domain directive is as follows: (1) All 20756 msgids from the beginning of each .po file to the first domain directive are 20757 put into a default message object file, messages (or messages.mo if --strict 20758 option is specified). (2) When msgfmt encounters a domain domainname directive 20759 in the .po file, all following msgids until the next domain directive are put 20760 into the message object file domainname (or domainname.mo if --strict option is 20761 specified). (3) Duplicate msgids are defined in the scope of each domain. That 20762 is, a msgid is considered a duplicate only if the identical msgid exists in the 20763 same domain. (4) All duplicate msgids are ignored. 20764 20765 The msgid directive specifies the value of a message identifier associated with 20766 the directive that follows it. The msgid_plural directive specifies the plural 20767 form message specified to the plural message handling functions ngettext(), 20768 dngettext() or dcngettext(). The message_identifier string identifies a target 20769 string to be used at retrieval time. Each statement containing a msgid 20770 directive must be followed by a statement containing a msgstr directive or 20771 msgstr[n] directives. 20772 20773 The msgstr directive specifies the target string associated with the 20774 message_identifier string declared in the immediately preceding msgid 20775 directive. 20776 20777 The msgstr[n] (where n = 0, 1, 2, ...) directive specifies the target string to 20778 be used with plural form handling functions ngettext(), dngettext() and 20779 dcngettext(). 20780 20781 Message strings can contain the escape sequences \n for newline, \t for tab, \v 20782 for vertical tab, \b for backspace, \r for carriage return, \f for formfeed, \\ 20783 for backslash, \" for double quote, \ddd for octal bit pattern, and \xHH for 20784 hexadecimal bit pattern. 20785 20786 Comments should be in one of the following formats: 20787 20788 # translator-comments 20789 20790 #. automatic-comments 20791 20792 #: reference... 20793 20794 #, flag 20795 20796 The comments that starts with #. and #: are automatically generated by xgettext 20797 utility. The #: comments indicate the location of the msgid string in the 20798 source files in filename:line format. The #. comments are generated when -c 20799 option of the xgettext utility is specified. These comments are informative 20800 only and silently ignored by the msgfmt utility. 20801 20802 The #, comments requires one or more flags separated by comma (,) character. 20803 The following flags can be specified: 20804 20805 fuzzy 20806 20807 This flag can be generated by the msgmerge utility or can be inserted by 20808 the translator. It shows that the msgstr string might not be a correct 20809 translation (anymore). Only the translator can judge if the translation 20810 requires further modification, or is acceptable as is. Once satisfied with 20811 the translation, the translator then removes this fuzzy flag. The msgmerge 20812 programs inserts this when it combined the msgid and msgstr entries after 20813 fuzzy search only. 20814 20815 If this flag is specified, the msgfmt utility will not generate the entry 20816 for the immediately following msgid in the output message catalog. 20817 20818 c-format, no-c-format 20819 20820 The flags are automatically added by the xgettext utility and they should 20821 not be added manually. The c-format flag indicates that the msgid string is 20822 used as format string by printf-like functions. In case the c-format flag 20823 is given for a string the msgfmt utility does some more tests to check to 20824 validity of the translation. 20825 20826 The msgid entry with empty string ("") is called the header entry and treated 20827 specially. If the message string for the header entry contains nplurals=value, 20828 the value indicates the number of plural forms. For example, if nplurals=4, 20829 there are 4 plural forms. If nplurals is defined, there should be plural= 20830 expression in the same line, separated by a semicolon (;) character. The 20831 expression is a C language expression to determine which version of msgstr[n] 20832 to be used based on the value of n, the last argument of ngettext(), dngettext 20833 () or dcngettext(). For example: 20834 20835 nplurals=2; plural=n == 1 ? 0 : 1 20836 20837 indicates that there are 2 plural forms in the language; msgstr[0] is used if n 20838 == 1, otherwise msgstr[1] is used. Another example: 20839 20840 nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2 20841 20842 indicates that there are 3 plural forms in the language; msgstr[0] is used if n 20843 == 1, msgstr[1] is used if n == 2, otherwise msgstr[2] is used. 20844 20845 If the header entry contains charset=codeset string, the codeset is used to 20846 indicate the codeset to be used to encode the message strings. If the output 20847 string's codeset is different from the message string's codeset, codeset 20848 conversion from the message strings's codeset to the output string's codeset 20849 will be performed upon the call of gettext(), dgettext(), dcgettext(), ngettext 20850 (), dngettext(), and dcngettext(). The output string's codeset is determined by 20851 the current locale's codeset (the return value of nl_langinfo(CODESET)) by 20852 default, and can be changed by the call of bind_textdomain_codeset(). 20853 20854 Exit Status 20855 20856 The following exit values are returned: 20857 20858 0 20859 20860 Successful completion. 20861 20862 >0 20863 20864 An error occurred. 20865 20866 Application Usage 20867 20868 Neither msgfmt nor any gettext() routine imposes a limit on the total length of 20869 a message. Installing message catalogs under the C locale is pointless, since 20870 they are ignored for the sake of efficiency. 20871 20872 Examples 20873 20874 Example 1: Examples of creating message objects from message files. 20875 20876 In this example module1.po and module2.po are portable message objects files. 20877 20878 example% cat module1.po 20879 20880 # default domain "messages" 20881 20882 msgid "msg 1" 20883 20884 msgstr "msg 1 translation" 20885 20886 # 20887 20888 domain "help_domain" 20889 20890 msgid "help 2" 20891 20892 msgstr "help 2 translation" 20893 20894 # 20895 20896 domain "error_domain" 20897 20898 msgid "error 3" 20899 20900 msgstr "error 3 translation" 20901 20902 example% cat module2.po 20903 20904 # default domain "messages" 20905 20906 msgid "mesg 4" 20907 20908 msgstr "mesg 4 translation" 20909 20910 # 20911 20912 domain "error_domain" 20913 20914 msgid "error 5" 20915 20916 msgstr "error 5 translation" 20917 20918 # 20919 20920 domain "window_domain" 20921 20922 msgid "window 6" 20923 20924 msgstr "window 6 translation" 20925 20926 The following command will produce the output files, messages, help_domain, and 20927 error_domain. 20928 20929 example% msgfmt module1.po 20930 20931 The following command will produce the output files, messages, help_domain, 20932 error_domain, and window_domain. 20933 20934 example% msgfmt module1.po module2.po 20935 20936 The following example will produce the output file hello.mo. 20937 20938 example% msgfmt -o hello.mo module1.po module2.po 20939 20940 mv 20941 20942 Name 20943 20944 mv -- move (rename) files 20945 20946 Description 20947 20948 mv is as specified in the Single UNIX Specification but with differences as 20949 listed below. 20950 20951 LSB Deprecated Differences 20952 20953 The behaviors specified in this section are expected to disappear from a future 20954 version of the LSB; applications should only use the non-LSB-deprecated 20955 behaviors. 20956 20957 -b, --backup[=CONTROL] 20958 20959 makes backup before removal. 20960 20961 -S, --suffix=SUFFIX 20962 20963 overrides the usual backup suffix. 20964 20965 --strip-trailing-slashes 20966 20967 removes any trailing slashes from each SOURCE argument. 20968 20969 -S, --suffix=SUFFIX 20970 20971 overrides the usual backup suffix. 20972 20973 --target-directory=DIRECTORY 20974 20975 moves all SOURCE arguments into DIRECTORY. 20976 20977 -u, --update 20978 20979 moves only older or brand new non-directories. 20980 20981 -v, --verbose 20982 20983 explains what is being done. 20984 20985 --version 20986 20987 outputs version information and exits. 20988 20989 Notes 20990 20991 The backup suffix is ~, unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The 20992 version control method may be selected via the --backup option or through the 20993 VERSION_CONTROL environment variable. Here are the values: 20994 20995 none, off 20996 20997 makes no backups (even if --backup is given). 20998 20999 numbered, t 21000 21001 makes numbered backups. 21002 21003 existing, nil 21004 21005 is numbered if numbered backups exist, simple otherwise. 21006 21007 simple, never 21008 21009 makes simple backups. 21010 21011 newgrp 21012 21013 Name 21014 21015 newgrp -- change group ID 21016 21017 Synopsis 21018 21019 newgrp [-] [group] 21020 21021 Description 21022 21023 newgrp changes the current group ID during a login session. If the optional - 21024 flag is given, the user's environment will be reinitialized as though the user 21025 had logged in, otherwise the current environment, including current working 21026 directory, remains unchanged. 21027 21028 nice 21029 21030 Name 21031 21032 nice -- run a program with modified scheduling priority 21033 21034 Description 21035 21036 nice is as specified in the Single UNIX Specification but with differences as 21037 listed below. 21038 21039 LSB Deprecated Differences 21040 21041 The behaviors specified in this section are expected to disappear from a future 21042 version of the LSB; applications should only use the non-LSB-deprecated 21043 behaviors. 21044 21045 -ADJUST 21046 21047 increments priority by ADJUST first. 21048 21049 --help 21050 21051 displays this help and exits. 21052 21053 --version 21054 21055 outputs version information and exits. 21056 21057 nl 21058 21059 Name 21060 21061 nl -- number lines of files 21062 21063 Description 21064 21065 nl is as specified in the Single UNIX Specification but with differences as 21066 listed below. 21067 21068 LSB Deprecated Differences 21069 21070 The behaviors specified in this section are expected to disappear from a future 21071 version of the LSB; applications should only use the non-LSB-deprecated 21072 behaviors. 21073 21074 --help 21075 21076 displays this help and exits. 21077 21078 --version 21079 21080 outputs version information and exits. 21081 21082 nohup 21083 21084 Name 21085 21086 nohup -- runs a command immune to hangups, with output to a non-tty 21087 21088 Description 21089 21090 nohup is as specified in the Single UNIX Specification but with differences as 21091 listed below. 21092 21093 LSB Deprecated Differences 21094 21095 The behaviors specified in this section are expected to disappear from a future 21096 version of the LSB; applications should only use the non-LSB-deprecated 21097 behaviors. 21098 21099 --help 21100 21101 displays this help and exits. 21102 21103 --version 21104 21105 outputs version information and exits. 21106 21107 od 21108 21109 Name 21110 21111 od -- dump files in octal and other formats 21112 21113 Description 21114 21115 od is as specified in the Single UNIX Specification but with differences as 21116 listed below. 21117 21118 Differences 21119 21120 -w, --width[=BYTES] 21121 21122 outputs BYTES bytes per output line. 21123 21124 --traditional 21125 21126 accepts arguments in pre-POSIX form. 21127 21128 Pre-POSIX Specifications 21129 21130 The LSB supports option intermixtures with the following pre-POSIX 21131 specifications: 21132 21133 -a 21134 21135 is equivalent to -t a, selects named characters. 21136 21137 -f 21138 21139 is equivalent to -t fF, selects floats. 21140 21141 -h 21142 21143 is equivalent to -t x2, selects hexadecimal shorts. 21144 21145 -i 21146 21147 is equivalent to -t d2, selects decimal shorts. 21148 21149 -l 21150 21151 is equivalent to -t d4, selects decimal longs. 21152 21153 LSB Deprecated Differences 21154 21155 The behaviors specified in this section are expected to disappear from a future 21156 version of the LSB; applications should only use the non-LSB-deprecated 21157 behaviors. 21158 21159 --help 21160 21161 displays this help and exits. 21162 21163 --version 21164 21165 outputs version information and exits. 21166 21167 passwd 21168 21169 Name 21170 21171 passwd -- change user password 21172 21173 Synopsis 21174 21175 passwd [-x max] [-n min] [-w warn] [-i inact] name 21176 passwd {-l|-u} name 21177 21178 Description 21179 21180 passwd changes passwords for user and group accounts. A normal user may only 21181 change the password for their own account, the super user may change the 21182 password for any account. passwd also changes password expiry dates and 21183 intervals. Applications may not assume the format of prompts and anticipated 21184 input for user interaction, because they are unspecified. 21185 21186 Options 21187 21188 -x max 21189 21190 sets the maximum number of days a password remains valid. 21191 21192 -n min 21193 21194 sets the minimum number of days before a password may be changed. 21195 21196 -w warn 21197 21198 sets the number of days warning the user will receive before their password 21199 will expire. 21200 21201 -i inactive 21202 21203 disables an account after the password has been expired for the given 21204 number of days. 21205 21206 -l 21207 21208 disables an account by changing the password to a value which matches no 21209 possible encrypted value. 21210 21211 -u 21212 21213 re-enables an account by changing the password back to its previous value. 21214 21215 paste 21216 21217 Name 21218 21219 paste -- merge lines of files 21220 21221 Description 21222 21223 paste is as specified in the Single UNIX Specification but with differences as 21224 listed below. 21225 21226 LSB Deprecated Differences 21227 21228 The behaviors specified in this section are expected to disappear from a future 21229 version of the LSB; applications should only use the non-LSB-deprecated 21230 behaviors. 21231 21232 --help 21233 21234 displays this help and exits. 21235 21236 --version 21237 21238 outputs version information and exits. 21239 21240 patch 21241 21242 Name 21243 21244 patch -- apply a diff file to an original 21245 21246 Description 21247 21248 patch is as specified in the Single UNIX Specification but with differences as 21249 listed below. 21250 21251 Differences 21252 21253 --binary 21254 21255 reads and write all files in binary mode, except for standard output and / 21256 dev/tty. This option has no effect on POSIX-compliant systems. 21257 21258 -u, --unified 21259 21260 interprets the patch file as a unified context diff. 21261 21262 LSB Deprecated Differences 21263 21264 The behaviors specified in this section are expected to disappear from a future 21265 version of the LSB; applications should only use the non-LSB-deprecated 21266 behaviors. 21267 21268 --backup-if-mismatch 21269 21270 backs up a file if the patch does not match the file exactly and if backups 21271 are not otherwise requested. 21272 21273 --no-backup-if-mismatch 21274 21275 does not back up a file if the patch does not match the file exactly and if 21276 backups are not otherwise requested. 21277 21278 -B pref, --prefix=pref 21279 21280 prefixes pref to a file name when generating its simple backup file name. 21281 21282 --dry-run 21283 21284 prints the results of applying the patches without actually changing any 21285 files. 21286 21287 -E, --remove-empty-files 21288 21289 removes output files that are empty after the patches have been applied. 21290 When patch removes a file, it also attempts to remove any empty ancestor 21291 directories. 21292 21293 -f, --force 21294 21295 skips patches whose headers do not say which file is to be patched; patches 21296 files even though they have the wrong version for the Prereq: line in the 21297 patch; assumes that patches are not reversed even if they look like they 21298 are. 21299 21300 -F num, --fuzz=num 21301 21302 sets the maximum fuzz factor. This option only applies to diffs that have 21303 context, and ignores up to that many lines in looking for places to install 21304 a hunk. 21305 21306 -g num, --get=num 21307 21308 controls patch behavior when a file is under RCS or SCCS control and does 21309 not exist or is read-only and matches the default version. If num is 21310 positive, patch gets (or checks out) the file from the revision control 21311 system; if zero, patch ignores RCS and SCCS and does not get the file; and 21312 if negative, patch asks the user where to get the file. 21313 21314 -s, --silent, --quiet 21315 21316 works silently, unless an error occurs. 21317 21318 -t, --batch 21319 21320 suppresses questions like -f, but makes some different assumptions: skips 21321 patches whose headers do not contain file names; skips patches for which 21322 the file has the wrong version for the Prereq: line in the patch; and 21323 assumes that patches are reversed if they look like they are. 21324 21325 -T, --set-time 21326 21327 sets the modification and access times of patched files from time stamps 21328 given in context diff headers, assuming that the context diff headers use 21329 local time. 21330 21331 -v, --version 21332 21333 prints out patch's revision header and patch level, and exits. 21334 21335 -V method, --version-control=method 21336 21337 uses method to determine backup file names. The method can also be given by 21338 the PATCH_VERSION_CONTROL environment variable, which is overridden by this 21339 option. 21340 21341 --verbose 21342 21343 outputs extra information about the work being done. 21344 21345 -Y pref, --basename-prefix=pref 21346 21347 prefixes pref to the basename of a file name when generating its simple 21348 backup file name. 21349 21350 -z suffix, --suffix=suffix 21351 21352 uses suffix as the simple backup suffix. 21353 21354 -Z, --set-utc 21355 21356 sets the modification and access times of patched files from time stamps 21357 given in context diff headers. 21358 21359 --help 21360 21361 displays this help and exits. 21362 21363 pathchk 21364 21365 Name 21366 21367 pathchk -- check whether file names are valid or portable 21368 21369 Description 21370 21371 pathchk is as specified in the Single UNIX Specification but with differences 21372 as listed below. 21373 21374 LSB Deprecated Differences 21375 21376 The behaviors specified in this section are expected to disappear from a future 21377 version of the LSB; applications should only use the non-LSB-deprecated 21378 behaviors. 21379 21380 --help 21381 21382 displays this help and exits. 21383 21384 --version 21385 21386 outputs version information and exits. 21387 21388 pidof 21389 21390 Name 21391 21392 pidof -- find the process ID of a running program 21393 21394 Synopsis 21395 21396 pidof [-s] [-x] [-o omitpid..] program [program..] 21397 21398 Description 21399 21400 Return the process ID of a process which is running the program named on the 21401 command line.[53] 21402 21403 Options 21404 21405 -s 21406 21407 instructs the program to only return one pid. 21408 21409 -x 21410 21411 causes the program to also return process id's of shells running the named 21412 scripts. 21413 21414 -o 21415 21416 omits processes with specified process id. 21417 21418 pr 21419 21420 Name 21421 21422 pr -- split a file into sections determined by context lines 21423 21424 Description 21425 21426 pr is as specified in the Single UNIX Specification but with differences as 21427 listed below. 21428 21429 LSB Deprecated Differences 21430 21431 The behaviors specified in this section are expected to disappear from a future 21432 version of the LSB; applications should only use the non-LSB-deprecated 21433 behaviors. 21434 21435 -P 21436 21437 has unspecified behavior. 21438 21439 -c, --show-control-chars 21440 21441 uses hat notation (^G) and octal backslash notation. 21442 21443 -J, --join-lines 21444 21445 merges full lines, turns off -W line truncation, no column alignment. 21446 21447 -N NUMBER, --first-line-number=NUMBER 21448 21449 starts counting with NUMBER at 1st line of first page printed. 21450 21451 -S[STRING], --sep-string=[=STRING] 21452 21453 separates columns by an optional STRING, doesn't use -S "STRING", -S only: 21454 No separator used without -S. 21455 21456 -T, --omit-pagination 21457 21458 omits page headers and trailers, eliminates any pagination by form feeds 21459 set in input files. 21460 21461 -v, --show-nonprinting 21462 21463 uses octal backslash notation. 21464 21465 -W PAGE_WIDTH, --page-width=PAGE_WIDTH 21466 21467 sets page width to PAGE_WIDTH (72) characters always, truncates lines, 21468 except -J option is set, no interference with -S or -s. 21469 21470 --help 21471 21472 displays this help and exits. 21473 21474 --version 21475 21476 outputs version information and exits. 21477 21478 printf 21479 21480 Name 21481 21482 printf -- format and print data 21483 21484 Description 21485 21486 printf is as specified in the Single UNIX Specification but with differences as 21487 listed below. 21488 21489 LSB Deprecated Differences 21490 21491 The behaviors specified in this section are expected to disappear from a future 21492 version of the LSB; applications should only use the non-LSB-deprecated 21493 behaviors. 21494 21495 --help 21496 21497 displays this help and exits. 21498 21499 --version 21500 21501 outputs version information and exits. 21502 21503 pwd 21504 21505 Name 21506 21507 pwd -- print name of current/working directory 21508 21509 Description 21510 21511 pwd is as specified in the Single UNIX Specification but with differences as 21512 listed below. 21513 21514 LSB Deprecated Differences 21515 21516 The behaviors specified in this section are expected to disappear from a future 21517 version of the LSB; applications should only use the non-LSB-deprecated 21518 behaviors. 21519 21520 --help 21521 21522 displays this help and exits. 21523 21524 --version 21525 21526 outputs version information and exits. 21527 21528 remove_initd 21529 21530 Name 21531 21532 remove_initd -- clean up boot script system modifications introduced by 21533 install_initd 21534 21535 Synopsis 21536 21537 /usr/lib/lsb/remove_initd initd_file 21538 21539 Description 21540 21541 remove_initd processes the removal of the modifications made to a 21542 distribution's boot script system by the install_initd program. This cleanup is 21543 performed in the preuninstall script of a package; however, the package manager 21544 is still responsible for removing the /etc/init.d file. See also the Section 21545 called Installation and removal of init.d files in Chapter 24. 21546 21547 renice 21548 21549 Name 21550 21551 renice -- alter priority of running processes 21552 21553 Description 21554 21555 renice is as specified in the Single UNIX Specification but with differences as 21556 listed below. 21557 21558 Differences 21559 21560 -n increment 21561 21562 has unspecified behavior. 21563 21564 rm 21565 21566 Name 21567 21568 rm -- remove files or directories 21569 21570 Description 21571 21572 rm is as specified in the Single UNIX Specification but with differences as 21573 listed below. 21574 21575 LSB Deprecated Differences 21576 21577 The behaviors specified in this section are expected to disappear from a future 21578 version of the LSB; applications should only use the non-LSB-deprecated 21579 behaviors. 21580 21581 -v, --verbose 21582 21583 explains what is being done. 21584 21585 --help 21586 21587 displays this help and exits. 21588 21589 --version 21590 21591 outputs version information and exits. 21592 21593 rmdir 21594 21595 Name 21596 21597 rmdir -- remove empty directories 21598 21599 Description 21600 21601 rmdir is as specified in the Single UNIX Specification but with differences as 21602 listed below. 21603 21604 LSB Deprecated Differences 21605 21606 The behaviors specified in this section are expected to disappear from a future 21607 version of the LSB; applications should only use the non-LSB-deprecated 21608 behaviors. 21609 21610 --ignore-fail-on-non-empty 21611 21612 ignores each failure that is solely because a directory is non-empty. 21613 21614 --verbose 21615 21616 outputs a diagnostic for every directory processed. 21617 21618 --help 21619 21620 displays this help and exits. 21621 21622 --version 21623 21624 outputs version information and exits. 21625 21626 rsync 21627 21628 Name 21629 21630 rsync -- faster, flexible replacement for rcp (LSB DEPRECATED) 21631 21632 Synopsis 21633 21634 rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST 21635 rsync [OPTION]... [USER@]HOST:SRC DEST 21636 rsync [OPTION]... SRC [SRC]... DEST 21637 rsync [OPTION]... [USER@]HOST::SRC [DEST] 21638 rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST 21639 rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] 21640 21641 Description 21642 21643 The rsync command is expected to disappear from a future version of the LSB; 21644 applications should not rely on its presence.[54] 21645 21646 rsync behaves in much the same way that rcp does, but has many more options and 21647 uses its remote-update protocol to greatly speedup file transfers when the 21648 destination file already exists. 21649 21650 The remote-update protocol allows rsync to transfer just the differences 21651 between two sets of files across the network link, using an efficient 21652 checksum-search algorithm described in the technical report that accompanies 21653 this package. 21654 21655 Standard Options 21656 21657 --version 21658 21659 prints the rsync version number and exits. 21660 21661 -v, --verbose 21662 21663 increases the amount of information given during the transfer. By default, 21664 rsync works silently. A single -v gives information about what files are 21665 being transferred and a brief summary at the end. Two -v flags give 21666 information on what files are being skipped and slightly more information 21667 at the end. 21668 21669 -q, --quiet 21670 21671 decreases the amount of information given during the transfer, notably 21672 suppressing information messages from the remote server. This flag is 21673 useful when invoking rsync from cron. 21674 21675 -I, --ignore-times 21676 21677 turns off the skipping of files that are already the same length and have 21678 the same time-stamp. 21679 21680 -c, --checksum 21681 21682 forces the sender to checksum all files using a 128-bit MD4 checksum before 21683 transfer. The checksum is then explicitly checked on the receiver and any 21684 files of the same name which already exist and have the same checksum and 21685 size on the receiver are skipped. This option can be quite slow. 21686 21687 -a, --archive 21688 21689 is a shortcut for specifying recursion and to preserve all attributes. 21690 21691 -r, --recursive 21692 21693 copies directories recursively. If not specified, rsync will not copy 21694 directories at all. 21695 21696 -R, --relative 21697 21698 uses relative paths. This means that the full path names specified on the 21699 command line are sent to the server rather than just the last parts of the 21700 filenames. 21701 21702 -b, --backup 21703 21704 renames preexisting destination files with a ~ extension as each file is 21705 transferred. You can control the backup suffix using the --suffix option. 21706 21707 --backup-dir=DIR 21708 21709 combines with --backup to store all backups in the specified directory. 21710 This is very useful for incremental backups. 21711 21712 --suffix=SUFFIX 21713 21714 overrides the default backup suffix used with the -b option. The default is 21715 a ~. 21716 21717 -u, --update 21718 21719 skips any files for which the destination file already exists and has a 21720 date later than the source file. 21721 21722 -l, --links 21723 21724 recreates symbolic links on the remote system to be the same as the local 21725 system. Without this option, all symbolic links are skipped. 21726 21727 -L, --copy-links 21728 21729 transfers the file referenced by a symbolic link, rather than recreating 21730 the link. 21731 21732 --copy-unsafe-links 21733 21734 treats symbolic links that point outside the source tree like ordinary 21735 files. Absolute symlinks are also treated like ordinary files, and so are 21736 any symlinks in the source path itself when --relative is used. 21737 21738 --safe-links 21739 21740 ignores any symbolic links that point outside the destination tree. All 21741 absolute symlinks are also ignored. 21742 21743 -H, --hard-links 21744 21745 recreates hard links on the remote system to be the same as the local 21746 system. Without this option hard links are treated like regular files. 21747 21748 -W, --whole-file 21749 21750 does not use the incremental rsync algorithm and sends the whole file as-is 21751 instead. This may be useful when using rsync with a local machine. 21752 21753 -p, --perms 21754 21755 updates the remote permissions to be the same as the local permissions. 21756 21757 -o, --owner 21758 21759 updates the remote owner of the file to be the same as the local owner. 21760 This is only available to the super-user. Note that if the source system is 21761 a daemon using chroot, --numeric-ids is implied because the source system 21762 cannot get access to the usernames. 21763 21764 -g, --group 21765 21766 updates the remote group of the file to be the same as the local group. If 21767 the receiving system is not running as the super-user, only groups that the 21768 receiver is a member of will be preserved (by group name, not group id 21769 number). 21770 21771 -D, --devices 21772 21773 transfers character and block device information to the remote system to 21774 recreate these devices. This option is only available to the super-user. 21775 21776 -t, --times 21777 21778 transfers modification times along with the files and updates them on the 21779 remote system. 21780 21781 -n, --dry-run 21782 21783 does not perform any file transfers, but simply reports the actions it 21784 would have taken. 21785 21786 -x, --one-file-system 21787 21788 does not cross filesystem boundaries when recursing. 21789 21790 --existing 21791 21792 does not create any new files - only updates files that already exist on 21793 the destination. 21794 21795 --max-delete=NUM 21796 21797 does not delete more than NUM files or directories. 21798 21799 --delete 21800 21801 deletes any files on the receiving side that are not on the sending side. 21802 Files that are excluded from transfer are excluded from being deleted 21803 unless --delete-excluded is specified. 21804 21805 has no effect if directory recursion is not selected. 21806 21807 --delete-excluded 21808 21809 deletes any files on the receiving side that are excluded, in addition to 21810 deleting the files on the receiving side that are not on the sending side. 21811 (See --exclude.) 21812 21813 --delete-after 21814 21815 processes file deletions after transferring files, as opposed to the 21816 default behavior of deleting before the transfer to ensure that there is 21817 sufficient space on the receiving filesystem. 21818 21819 -B, --block-size=BLOCKSIZE 21820 21821 controls the block size used in the rsync algorithm. See the technical 21822 report for details. 21823 21824 -e, --rsh=COMMAND 21825 21826 specifies the remote shell program to use for communication between the 21827 local and remote copies of rsync. 21828 21829 You can also choose the remote shell program using the RSYNC_RSH 21830 environment variable. 21831 21832 --rsync-path=PATH 21833 21834 specifies the path to the copy of rsync on the remote machine. Note that 21835 this is the full path to the binary, not just the directory that the binary 21836 is in. 21837 21838 --exclude=PATTERN 21839 21840 selectively excludes certain files from the list of files to be 21841 transferred. 21842 21843 You may use as many --exclude options on the command line as you like to 21844 build up the list of files to exclude. 21845 21846 --exclude-from=FILE 21847 21848 is like the --exclude option, but instead adds all exclude patterns listed 21849 in the file FILE to the exclude list. Blank lines in FILE and lines 21850 starting with “;“ or “#“ are ignored. 21851 21852 --include=PATTERN 21853 21854 does not exclude the specified pattern of filenames. This is useful as it 21855 allows you to build up quite complex exclude/include rules. 21856 21857 --include-from=FILE 21858 21859 specifies a list of include patterns from a file. 21860 21861 -T, --temp-dir=DIR 21862 21863 instructs rsync to use DIR as a scratch directory when creating temporary 21864 copies of the files transferred on the receiving side. The default behavior 21865 is to create the temporary files in the receiving directory. 21866 21867 -z, --compress 21868 21869 compresses any data from the source file(s) that it sends to the 21870 destination machine. 21871 21872 --numeric-ids 21873 21874 transfers numeric group and user ids rather than using user and group names 21875 and mapping them at both ends. 21876 21877 By default rsync will use the user name and group name to determine what 21878 ownership to give files. The special uid 0 and the special group 0 are 21879 never mapped via user/group names even if --numeric-ids is not specified. 21880 21881 --timeout=TIMEOUT 21882 21883 sets a maximum IO timeout in seconds. If no data is transferred for the 21884 specified time, rsync will exit. The default is 0, which means no timeout. 21885 21886 --port=PORT 21887 21888 specifies an alternate TCP port number to use rather than the default port 21889 873. This only has effect when using rsync to connect to a remote rsync 21890 daemon. 21891 21892 --blocking-io 21893 21894 specifies whether rsync will use blocking IO when launching a remote shell 21895 transport. You may find this is needed for some remote shells that can“t 21896 handle the default non-blocking IO. 21897 21898 --partial 21899 21900 keeps any partially-transferred file in the event of an incomplete transfer 21901 (causing a subsequent transfer of the file remainder to process more 21902 rapidly) as opposed to the default behavior of rsync where an incomplete 21903 file is deleted. 21904 21905 --progress 21906 21907 prints information showing the progress of the transfer. 21908 21909 -P 21910 21911 is equivalent to --partial --progress. 21912 21913 --password-file 21914 21915 allows you to provide a password in a file for accessing a remote rsync 21916 server. Note that this option is only useful when accessing a rsync server 21917 using the built in transport, not when using a remote shell as the 21918 transport. The file must not be world readable. It should contain just the 21919 password as a single line. 21920 21921 --bwlimit=KBPS 21922 21923 specifies a maximum transfer rate in kilobytes per second. A value of zero 21924 specifies no limit. 21925 21926 sed 21927 21928 Name 21929 21930 sed -- stream editor 21931 21932 Description 21933 21934 sed is as specified in the Single UNIX Specification but with differences as 21935 listed below. 21936 21937 LSB Differences 21938 21939 Certain aspects of internationalized regular expressions are optional; see 21940 Internationalization and Regular Expressions>. 21941 21942 LSB Deprecated Differences 21943 21944 The behaviors specified in this section are expected to disappear from a future 21945 version of the LSB; applications should only use the non-LSB-deprecated 21946 behaviors. 21947 21948 -V, --version 21949 21950 prints out the version of sed that is being run and a copyright notice, 21951 then exits. 21952 21953 --quiet, --silent 21954 21955 is equivalent to -n. 21956 21957 --expression 21958 21959 is equivalent to -e. 21960 21961 --file=script-file 21962 21963 is equivalent to -f. 21964 21965 sendmail 21966 21967 Name 21968 21969 sendmail -- an electronic mail transport agent 21970 21971 Synopsis 21972 21973 sendmail [flags] [address ...] 21974 21975 Description 21976 21977 To deliver electronic mail (email), applications shall support the interface 21978 provided by /usr/sbin/sendmail (described here). This interface shall be the 21979 default delivery method for applications. 21980 21981 This program sends an email message to one or more recipients, routing the 21982 message as necessary. This program is not intended as a user interface routine. 21983 21984 With no flags, sendmail reads its standard input up to an end-of-file or a line 21985 consisting only of a single dot and sends a copy of the message found there to 21986 all of the addresses listed. It determines the network(s) to use based on the 21987 syntax and contents of the addresses. 21988 21989 It is recommended that applications use as few flags as necessary, none if 21990 possible. 21991 21992 Some agents allow aliasing on the local system to be prevented by preceding the 21993 address with a backslash. 21994 21995 The format of messages must be as defined in RFC 2822. 21996 21997 Options 21998 21999 -bm 22000 22001 reads mail from standard input and delivers to the recipient addresses. 22002 This is the default mode of operation. 22003 22004 -bp 22005 22006 lists information about messages currently in the input mail queue. 22007 22008 -bs 22009 22010 uses the SMTP protocol as described in RFC 2821; reads SMTP commands on 22011 standard input and writes SMTP responses on standard output. 22012 22013 Note that RFC 2821 specifies \r\n (CR-LF) be used at the end of each line, 22014 but pipes almost always use \n (LF) instead. To deal with this, agents will 22015 accept both \r\n and \n at the end of each line. When accepting \r\n, the \ 22016 r before the \n is silently discarded. 22017 22018 -F fullname 22019 22020 explicitly sets the full name of the sender for incoming mail unless the 22021 message already contains a From: message header. 22022 22023 If the user running sendmail is not sufficiently trusted, then the actual 22024 sender may be indicated in the message, depending on the behavior of the 22025 agent. 22026 22027 -f name 22028 22029 explicitly sets the envelope sender address for incoming mail. If there is 22030 no From: header, the address specified in the From: header will also be 22031 set. 22032 22033 If the user running sendmail is not sufficiently trusted, then the actual 22034 sender will be indicated in the message. 22035 22036 -i 22037 22038 ignores dots alone on lines by themselves in incoming messages. This option 22039 is ignored when -bs is used. 22040 22041 -odb 22042 22043 delivers any mail in background, if supported; otherwise ignored. 22044 22045 -odf 22046 22047 delivers any mail in foreground, if supported; otherwise ignored. 22048 22049 -oem or -em 22050 22051 mails errors back to the sender. (default) 22052 22053 -oep or -ep 22054 22055 writes errors to the standard error output. 22056 22057 -oeq or -eq 22058 22059 does not send notification of errors to the sender. This only works for 22060 mail delivered locally. 22061 22062 -oi 22063 22064 is equivalent to -i. 22065 22066 -om 22067 22068 indicates that the sender of a message should receive a copy of the message 22069 if the sender appears in an alias expansion. Ignored if aliases are not 22070 supported. 22071 22072 -t 22073 22074 reads the message to obtain recipients from the To:, Cc:, and Bcc: headers 22075 in the message instead of from the command arguments. If a Bcc: header is 22076 present, it is removed from the message unless there is no To: or Cc: 22077 header, in which case a Bcc: header with no data is created, in accordance 22078 with RFC 2822. 22079 22080 If there are any arguments, they specify addresses to which the message is 22081 not to be delivered. That is, the argument addresses are removed from the 22082 recipients list obtained from the headers. Note: some agents implement this 22083 behavior in reverse, adding addresses instead of removing them. Others may 22084 disallow addresses in argument list. Therefore, applications should not put 22085 addresses in the argument list if -t is used. 22086 22087 This option is sometimes ignored when not in -bm mode (the default). 22088 22089 Exit status 22090 22091 0 22092 22093 successful completion on all addresses. This does not indicate successful 22094 delivery. 22095 22096 >0 22097 22098 there was an error. 22099 22100 LSB-deprecated Options 22101 22102 The behaviors specified in this section are expected to disappear from a future 22103 version of the LSB; applications should only use the non-LSB-deprecated 22104 behaviors. 22105 22106 The use of -i together with -bs is LSB-deprecated. 22107 22108 -oew or -ew 22109 22110 writes errors to the sender's terminal using the write(1) command, if he is 22111 logged in. Otherwise, mails errors back to the sender. If not supported, 22112 reports errors in the same manner as -oem. 22113 22114 -v 22115 22116 is more verbose. Additional -v options may make the software increasingly 22117 verbose. 22118 22119 Notes/Rationale 22120 22121 This page is believed to reflect functionality provided by smail, exim and 22122 other implementations, not just the sendmail implementation. 22123 22124 shutdown 22125 22126 Name 22127 22128 shutdown -- bring the system down 22129 22130 Synopsis 22131 22132 /sbin/shutdown [-t sec] [-arkhcfF] time [warning-message] 22133 22134 Description 22135 22136 shutdown brings the system down in a secure way. All logged-in users are 22137 notified that the system is going down, and login(1) is blocked. It is possible 22138 to shut the system down immediately or after a specified delay. All processes 22139 are first notified that the system is going down by the signal SIGTERM. If 22140 neither the -h or the -r argument is used, then the default behavior is to take 22141 the system to runlevel one where administrative tasks can be run. 22142 22143 Standard Options 22144 22145 -a 22146 22147 uses /etc/shutdown.allow. 22148 22149 -t sec 22150 22151 tells init(8) to wait sec seconds between sending processes the warning and 22152 the kill signal, before changing to another runlevel. 22153 22154 -k 22155 22156 doesn't really shutdown; only sends the warning messages to everybody. 22157 22158 -r 22159 22160 reboots after shutdown. 22161 22162 -h 22163 22164 halts after shutdown. Powering off after halting is unspecified. 22165 22166 -f 22167 22168 skips fsck on reboot. 22169 22170 -F 22171 22172 forces fsck on reboot. 22173 22174 -c 22175 22176 cancels an already running shutdown. With this option, it is of course not 22177 possible to give the time argument, but you can enter a explanatory message 22178 on the command line that will be sent to all users. 22179 22180 time 22181 22182 specifies when to shut down. 22183 22184 The time argument can have different formats. First, it can be an absolute 22185 time in the format hh:mm, in which hh is the hour (1 or 2 digits) and mm is 22186 the minute of the hour (in two digits). Second, it can be in the format +m, 22187 in which m is the number of minutes to wait. The word now is an alias for 22188 +0. 22189 22190 If shutdown is called with a delay, it creates the advisory file /etc/ 22191 nologin which causes programs such as login(1) to not allow new user 22192 logins. shutdown only removes this file if it is stopped before it can 22193 signal init (i.e. it is cancelled or something goes wrong). Otherwise it is 22194 the responsibility of the system shutdown or startup scripts to remove this 22195 file so that users can login. 22196 22197 warning-message 22198 22199 specifies message to send all users. 22200 22201 sleep 22202 22203 Name 22204 22205 sleep -- delay for a specified amount of time 22206 22207 Synopsis 22208 22209 sleep [OPTION]... NUMBER[SUFFIX] 22210 22211 Description 22212 22213 The specification for sleep is as specified in the Single UNIX Specification 22214 but with the following differences. 22215 22216 LSB Deprecated Differences 22217 22218 The behaviors specified in this section are expected to disappear from a future 22219 version of the LSB; applications should only use the non-LSB-deprecated 22220 behaviors. 22221 22222 The operand to sleep in the Single UNIX Specification is the number of seconds 22223 to sleep for. As an extension, the number may be followed by s to keep seconds, 22224 m for minutes, h for hours or d for days. 22225 22226 --help 22227 22228 displays help and exits. 22229 22230 --version 22231 22232 outputs version information and exits. 22233 22234 sort 22235 22236 Name 22237 22238 sort -- sort, merge or sequence check text files 22239 22240 Description 22241 22242 sort is as specified in the Single UNIX Specification but with differences as 22243 listed below. 22244 22245 Differences 22246 22247 -z 22248 22249 has unspecified behavior.[55] 22250 22251 LSB Deprecated Differences 22252 22253 The behaviors specified in this section are expected to disappear from a future 22254 version of the LSB; applications should only use the non-LSB-deprecated 22255 behaviors. 22256 22257 -g 22258 22259 compares according to general numerical value, implies -b. 22260 22261 -M 22262 22263 compares (unknown) < JAN < ... < DEC, imply -b. 22264 22265 -s 22266 22267 stabilizes sort by disabling last resort comparison. 22268 22269 -T DIRECTORY 22270 22271 uses DIRECTORY for temporary files, not $TMPDIR or /tmp. 22272 22273 --version 22274 22275 outputs version information and exits. 22276 22277 split 22278 22279 Name 22280 22281 split -- split a file into pieces 22282 22283 Description 22284 22285 split is as specified in the Single UNIX Specification but with differences as 22286 listed below. 22287 22288 Differences 22289 22290 -a suffix_length 22291 22292 has unspecified behavior. [56] 22293 22294 LSB Deprecated Differences 22295 22296 The behaviors specified in this section are expected to disappear from a future 22297 version of the LSB; applications should only use the non-LSB-deprecated 22298 behaviors. 22299 22300 --bytes=SIZE 22301 22302 is equivalent to -b. 22303 22304 -C, --line-bytes 22305 22306 puts at most SIZE bytes of lines per output file. 22307 22308 --lines 22309 22310 is equivalent to -l. 22311 22312 --verbose 22313 22314 prints a diagnostic to standard error. 22315 22316 --version 22317 22318 outputs version information and exits. 22319 22320 strip 22321 22322 Name 22323 22324 strip -- remove unnecessary information from executable files 22325 22326 Description 22327 22328 strip is as specified in the Single UNIX Specification but with differences as 22329 listed below. 22330 22331 LSB Deprecated Differences 22332 22333 The behaviors specified in this section are expected to disappear from a future 22334 version of the LSB; applications should only use the non-LSB-deprecated 22335 behaviors. 22336 22337 -F bdfname, --target=bfdname 22338 22339 treats the original objfile as a file with the object code format bfdname, 22340 and rewrites it in the same format. 22341 22342 -I bfdname, --input-target=bfdname 22343 22344 treats the original objfile as a file with the object code format bfdname. 22345 22346 -O bdfname, --output-target=bfdname 22347 22348 replaces objfile with a file in the output format bfdname. 22349 22350 -R sectionname, --remove-section=sectionname 22351 22352 removes the named section from the file. This option may be given more than 22353 once. Note that using this option inappropriately may make the object file 22354 unusable. 22355 22356 -s, --strip-all 22357 22358 removes all symbols. 22359 22360 -S, -g, --strip-debug 22361 22362 removes debugging symbols only. 22363 22364 --strip-unneeded 22365 22366 strips all symbols that are not needed for relocation processing. 22367 22368 -N symbolname, --strip-symbol=symbolname 22369 22370 removes symbol symbolname from the source file. This option may be given 22371 more than once, and may be combined with other strip options. 22372 22373 -o file 22374 22375 puts the stripped output in file, rather than replacing the existing file. 22376 When this argument is used, only one objfile argument may be specified. 22377 22378 -p, --preserve-dates 22379 22380 preserves the access and modification dates of the file. 22381 22382 -x, --discard-all 22383 22384 removes non-global symbols. 22385 22386 -X, --discard-locals 22387 22388 removes compiler-generated local symbols. (These usually start with `L' or 22389 `.'.) 22390 22391 -K symbolname, --keep-symbol=symbolname 22392 22393 copies only symbol symbolname from the source file. This option may be 22394 given more than once. 22395 22396 -N symbolname, --strip-symbol=symbolname 22397 22398 does not copy symbol symbolname from the source file. This option may be 22399 given more than once, and may be combined with strip options other than -K. 22400 22401 -v, --verbose 22402 22403 lists all object files modified. In the case of archives, lists all members 22404 of the archive. 22405 22406 --version 22407 22408 shows the version number for strip and exits. 22409 22410 su 22411 22412 Name 22413 22414 su -- change user ID or become super-user 22415 22416 Synopsis 22417 22418 su [OPTS] [-] [username [ARGS]] 22419 22420 Description 22421 22422 su is used to become another user during a login session. Invoked without a 22423 username, su defaults to becoming the super user. The optional argument - may 22424 be used to provide an environment similar to what the user would expect had the 22425 user logged in directly. 22426 22427 The user will be prompted for a password, if appropriate. Invalid passwords 22428 will produce an error message. All attempts, both valid and invalid, are logged 22429 to detect abuses of the system. Applications may not assume the format of 22430 prompts and anticipated input for user interaction, because they are 22431 unspecified. 22432 22433 An optional command can be executed. This is done by the shell specified in / 22434 etc/passwd for the target user unless the -s or -m options are used. Any 22435 arguments supplied after the username will be passed to the invoked shell 22436 (shell must support the -c command line option in order for a command to be 22437 passed to it). 22438 22439 The current environment is passed to the new shell. The value of $PATH is reset 22440 to /bin:/usr/bin for normal users, or /sbin:/bin:/usr/sbin:/usr/bin for the 22441 super user. This may be changed with the ENV_PATH and ENV_SUPATH definitions in 22442 /etc/login.defs. When using the -m or -p options, the user's environment is not 22443 changed. 22444 22445 A subsystem login is indicated by the presense of a "*" as the first character 22446 of the login shell. The given home directory will be used as the root of a new 22447 filesystem which the user is actually logged into. 22448 22449 Standard Options 22450 22451 - 22452 22453 makes this a login shell. 22454 22455 -c, --comand=command 22456 22457 passes command to the invoked shell. It is passed directly to the invoked 22458 shell (using the shell's -c option), so its syntax is whatever that shell 22459 will accept. 22460 22461 -m, -p, --preserve-environment 22462 22463 does not reset environment variables, and keeps the same shell if it is 22464 present in /etc/shells. 22465 22466 -s, --shell=shell 22467 22468 uses shell instead of the default in /etc/passwd. The shell specified must 22469 be present in /etc/shells. 22470 22471 sum 22472 22473 Name 22474 22475 sum -- print checksum and block count of a file (deprecated) 22476 22477 Description 22478 22479 The sum command is deprecated and is expected to disappear from a future 22480 version of the LSB; applications should use cksum or md5sum instead. 22481 22482 sum is as specified in the Single UNIX Specification but with differences as 22483 listed below. 22484 22485 Differences 22486 22487 -s, --sysv 22488 22489 uses System V sum algorithm, uses 512 bytes blocks. 22490 22491 --version 22492 22493 outputs version information and exits. 22494 22495 sync 22496 22497 Name 22498 22499 sync -- flush filesystem buffers 22500 22501 Synopsis 22502 22503 sync [OPTION] 22504 22505 Description 22506 22507 Force changed blocks to disk, update the super block. 22508 22509 LSB Deprecated Options 22510 22511 The behaviors specified in this section are expected to disappear from a future 22512 version of the LSB; applications should only use the non-LSB-deprecated 22513 behaviors. 22514 22515 --help 22516 22517 displays help and exits. 22518 22519 --version 22520 22521 outputs version information and exits. 22522 22523 tail 22524 22525 Name 22526 22527 tail -- output the last part of files 22528 22529 Description 22530 22531 tail is as specified in the Single UNIX Specification but with differences as 22532 listed below. 22533 22534 LSB Deprecated Differences 22535 22536 The behaviors specified in this section are expected to disappear from a future 22537 version of the LSB; applications should only use the non-LSB-deprecated 22538 behaviors. 22539 22540 --retry 22541 22542 tries to open a file even if it is inaccessible when tail starts or if it 22543 becomes inaccessible later; useful only with -f. 22544 22545 --bytes=N 22546 22547 outputs the last N bytes. 22548 22549 --follow 22550 22551 is equivalent to -f. 22552 22553 --lines=N 22554 22555 is equivalent to -n. 22556 22557 --max-unchanged-stats=N 22558 22559 performs open/fstat of a file specified by name (if there have been N 22560 consecutive iterations for which the size has remained the same) to 22561 determine if that file name is still associated with the same device/ 22562 inode-number pair as before. 22563 22564 --max-consecutive-size-changes=N 22565 22566 if a file has been specified by name, controls how long tail follows the 22567 descriptor of a file that continues growing at a rapid pace even after it 22568 is deleted or renamed. After detecting N consecutive size changes for a 22569 file, open/fstat the file to determine if that file name is still 22570 associated with the same device/inode-number pair as before. 22571 22572 --pid=PID 22573 22574 terminates after process ID PID dies (only may be specified if -f is). 22575 22576 -q, --quiet, --silent 22577 22578 does not outputs headers giving file names. 22579 22580 -s, --sleep-interval=S 22581 22582 sleeps S seconds between iterations (only may be specified if -f is). 22583 22584 -v, --verbose 22585 22586 outputs headers giving file names. 22587 22588 +NUMBER, -NUMBER 22589 22590 supports b, k and m as suffixes (referring to multipliers 512, 1024 and 22591 1048576, respectively), as opposed to the c or l suffixes as stated in the 22592 Single UNIX Specification. 22593 22594 tar 22595 22596 Name 22597 22598 tar -- file archiver 22599 22600 Description 22601 22602 tar is as specified in the Single UNIX Specification, Version 2, but with 22603 differences as listed below. 22604 22605 Differences 22606 22607 Certain aspects of internationalized filename globbing are optional; see 22608 Internationalization and Filename Globbing>. 22609 22610 -h 22611 22612 doesn't dump symlinks; dumps the files they point to. 22613 22614 -z 22615 22616 filters the archive through gzip. 22617 22618 LSB Deprecated Differences 22619 22620 The behaviors specified in this section are expected to disappear from a future 22621 version of the LSB; applications should only use the non-LSB-deprecated 22622 behaviors. 22623 22624 -A, --catenate, --concatenate 22625 22626 appends tar files to an archive. 22627 22628 --create 22629 22630 is equivalent to -c. 22631 22632 -d, --diff, --compare 22633 22634 finds differences between archive and file system. 22635 22636 --delete 22637 22638 deletes from the archive. (Not for use on mag tapes!) 22639 22640 --apend 22641 22642 is equivalent to -r. 22643 22644 --list 22645 22646 is equivalent to -t. 22647 22648 --update 22649 22650 is equivalent to -u. 22651 22652 --extract, --get 22653 22654 extracts files from an archive. 22655 22656 --atime-preserve 22657 22658 does not change access times on dumped files. 22659 22660 --block-size N 22661 22662 is equivalent to -b. 22663 22664 -B, --read-full-blocks 22665 22666 reblocks as we read; for reading 4.2BSD pipes. 22667 22668 -C, --directory DIR 22669 22670 changes to directory DIR. 22671 22672 --checkpoint 22673 22674 prints directory names while reading the archive. 22675 22676 -f, --file [HOSTNAME:]F 22677 22678 uses archive file or device F. The default is "-", meaning stdin/stdout. 22679 22680 --force-local 22681 22682 specifies that archive file is local even if has a colon. 22683 22684 -F, --info-script F, --new-volume-script F 22685 22686 runs script at end of each tape; implies -M. 22687 22688 -G, --incremental 22689 22690 creates/lists/extracts old GNU-format incremental backup. 22691 22692 -g, --listed-incremental F 22693 22694 creates/lists/extracts new GNU-format incremental backup. 22695 22696 --dereference 22697 22698 Synonym for -h. 22699 22700 -i, --ignore-zeros 22701 22702 ignores blocks of zeros in archive that normally mean EOF. 22703 22704 --bzip2 22705 22706 filters archive through bzip2; used to decompress .bz2 files. 22707 22708 --ignore-failed-read 22709 22710 doesn't exit with non-zero status on unreadable files. 22711 22712 -k, --keep-old-files 22713 22714 keeps existing files; doesn't overwrite them from archive. 22715 22716 -K, --starting-file F 22717 22718 begins at file F in the archive. 22719 22720 -l, --one-file-system 22721 22722 stays in local file system when creating an archive. 22723 22724 -L, --tape-length N 22725 22726 changes tapes after writing N*1024 bytes. 22727 22728 --modification-time 22729 22730 is equivalent to -m. 22731 22732 -M, --multi-volume 22733 22734 creates/lists/extracts multi-volume archive. 22735 22736 -N, --after-date DATE, --newer DATE 22737 22738 stores only files newer than DATE. 22739 22740 -o, --old-archive, --portability 22741 22742 writes a V7 format archive, rather than ANSI format. Note that for -o the 22743 behavior is different than what is specified in the Single UNIX 22744 Specification, Version 2. 22745 22746 -O, --to-stdout 22747 22748 extracts files to standard output. 22749 22750 -p, --same-permissions, --preserve-permissions 22751 22752 extracts all protection information. 22753 22754 -P, --absolute-paths 22755 22756 does not strip leading /s from file names. 22757 22758 --preserve 22759 22760 is equivalent to -p -s. 22761 22762 -R, --record-number 22763 22764 shows record number within archive with each message. 22765 22766 --remove-files 22767 22768 removes files after adding them to the archive. 22769 22770 -s, --same-order, --preserve-order 22771 22772 sorts list of names to extract to match archive. 22773 22774 --same-owner 22775 22776 creates extracted files with the same ownership. 22777 22778 -S, --sparse 22779 22780 handles sparse files efficiently. 22781 22782 -T, --files-from F 22783 22784 gets names to extract or create from file F. 22785 22786 --null 22787 22788 causes -T to read null-terminated names; disables -C. 22789 22790 --totals 22791 22792 prints total bytes written with --create. 22793 22794 --verbose 22795 22796 is equivalent to -v. 22797 22798 -V, --label NAME 22799 22800 creates archive with volume name NAME. 22801 22802 --version 22803 22804 prints tar program version number. 22805 22806 -w, --interactive, --confirmation 22807 22808 asks for confirmation for every action. 22809 22810 -W, --verify 22811 22812 attempts to verify the archive after writing it. 22813 22814 --exclude FILE 22815 22816 excludes file FILE. 22817 22818 -X, --exclude-from FILE 22819 22820 excludes files listed in FILE. 22821 22822 -Z, --compress, --uncompress 22823 22824 filters the archive through compress. 22825 22826 --gzip, --ungzip 22827 22828 Synonym for -z. 22829 22830 --use-compress-program PROG 22831 22832 filters the archive through PROG (which must accept -d) 22833 22834 --block-compress 22835 22836 blocks the output of compression program for tapes. 22837 22838 -[0-7][lmh] 22839 22840 specifies drive and density. 22841 22842 tee 22843 22844 Name 22845 22846 tee -- read from standard input and write to standard output and files 22847 22848 Description 22849 22850 tee is as specified in the Single UNIX Specification but with differences as 22851 listed below. 22852 22853 LSB Deprecated Differences 22854 22855 The behaviors specified in this section are expected to disappear from a future 22856 version of the LSB; applications should only use the non-LSB-deprecated 22857 behaviors. 22858 22859 --append 22860 22861 is equivalent to -a. 22862 22863 --ignore-interrupts 22864 22865 is equivalent to -i. 22866 22867 --version 22868 22869 outputs version information and exits. 22870 22871 test 22872 22873 Name 22874 22875 test -- check file types and compare values 22876 22877 Description 22878 22879 test is as specified in the Single UNIX Specification but with differences as 22880 listed below. 22881 22882 LSB Deprecated Differences 22883 22884 The behaviors specified in this section are expected to disappear from a future 22885 version of the LSB; applications should only use the non-LSB-deprecated 22886 behaviors. 22887 22888 -G FILE 22889 22890 FILE exists and is owned by the effective group ID. 22891 22892 -k FILE 22893 22894 FILE exists and has its sticky bit set. 22895 22896 -L FILE 22897 22898 FILE exists and is a symbolic link. 22899 22900 -O FILE 22901 22902 FILE exists and is owned by the effective user ID. 22903 22904 -S 22905 22906 FILE exists and is a socket. 22907 22908 touch 22909 22910 Name 22911 22912 touch -- change file access and modification times 22913 22914 Description 22915 22916 touch is as specified in the Single UNIX Specification but with differences as 22917 listed below. 22918 22919 LSB Deprecated Differences 22920 22921 The behaviors specified in this section are expected to disappear from a future 22922 version of the LSB; applications should only use the non-LSB-deprecated 22923 behaviors. 22924 22925 --no-create 22926 22927 is equivalent to -c. 22928 22929 -d, --date=STRING 22930 22931 parses STRING and uses it instead of current time. 22932 22933 --reference=FILE 22934 22935 is equivalent to -r. 22936 22937 --time=WORD 22938 22939 sets time given by WORD: access atime use (same as -a) modify mtime (same 22940 as -m). 22941 22942 --version 22943 22944 outputs version information and exits. 22945 22946 tr 22947 22948 Name 22949 22950 tr -- translate or delete characters 22951 22952 Description 22953 22954 tr is as specified in the Single UNIX Specification but with differences as 22955 listed below. 22956 22957 LSB Deprecated Differences 22958 22959 The behaviors specified in this section are expected to disappear from a future 22960 version of the LSB; applications should only use the non-LSB-deprecated 22961 behaviors. 22962 22963 --complement 22964 22965 is equivalent to -c. 22966 22967 --delete 22968 22969 is equivalent to -d. 22970 22971 --squeeze-repeats 22972 22973 is equivalent to -s. 22974 22975 -t, --truncate-set1 22976 22977 first truncates SET1 to length of SET2. 22978 22979 --version 22980 22981 outputs version information and exits. 22982 22983 tty 22984 22985 Name 22986 22987 tty -- print the file name of the terminal connected to standard input 22988 22989 Description 22990 22991 tty is as specified in the Single UNIX Specification but with differences as 22992 listed below. 22993 22994 LSB Deprecated Differences 22995 22996 The behaviors specified in this section are expected to disappear from a future 22997 version of the LSB; applications should only use the non-LSB-deprecated 22998 behaviors. 22999 23000 --silent, --quiet 23001 23002 is equivalent to -s. 23003 23004 --delete 23005 23006 is equivalent to -d. 23007 23008 --squeeze-repeats 23009 23010 is equivalent to -s. 23011 23012 --version 23013 23014 outputs version information and exits. 23015 23016 umount 23017 23018 Name 23019 23020 umount -- unmount file systems 23021 23022 Synopsis 23023 23024 umount [-hV] 23025 umount -a [-nrv] [-t vfstype] 23026 umount [-nrv] device | dir [...] 23027 23028 Description 23029 23030 umount detaches the file system(s) mentioned from the file hierarchy. A file 23031 system is specified by giving the directory where it has been mounted. 23032 23033 Standard Options 23034 23035 -V 23036 23037 print version and exits. 23038 23039 -v 23040 23041 invokes verbose mode. 23042 23043 -n 23044 23045 unmounts without writing in /etc/mtab. 23046 23047 -r 23048 23049 tries to remount read-only if unmounting fails. 23050 23051 -a 23052 23053 unmounts all of the file systems described in /etc/mtab except for the proc 23054 filesystem. 23055 23056 -t vfstype 23057 23058 indicates that the actions should only be taken on file systems of the 23059 specified type. More than one type may be specified in a comma separated 23060 list. The list of file system types can be prefixed with no to specify the 23061 file system types on which no action should be taken. 23062 23063 -f 23064 23065 forces unmount (in case of an unreachable NFS system). 23066 23067 uname 23068 23069 Name 23070 23071 uname -- return system name 23072 23073 Description 23074 23075 uname is as specified in the Single UNIX Specification but with differences as 23076 listed below. 23077 23078 Differences 23079 23080 -a 23081 23082 prints all information (not just the options specified in the Single UNIX 23083 Specification). 23084 23085 LSB Deprecated Differences 23086 23087 The behaviors specified in this section are expected to disappear from a future 23088 version of the LSB; applications should only use the non-LSB-deprecated 23089 behaviors. 23090 23091 --all 23092 23093 is equivalent to -a. 23094 23095 --machine 23096 23097 is equivalent to -m. 23098 23099 --nodename 23100 23101 is equivalent to -n. 23102 23103 --release 23104 23105 is equivalent to -r. 23106 23107 -p, --processor 23108 23109 prints the host processor type. 23110 23111 --sysname 23112 23113 is equivalent to -s. 23114 23115 --version 23116 23117 outputs version information and exits. 23118 23119 unexpand 23120 23121 Name 23122 23123 unexpand -- convert spaces to tabs 23124 23125 Description 23126 23127 unexpand is as specified in the Single UNIX Specification but with differences 23128 as listed below. 23129 23130 LSB Deprecated Differences 23131 23132 The behaviors specified in this section are expected to disappear from a future 23133 version of the LSB; applications should only use the non-LSB-deprecated 23134 behaviors. 23135 23136 --tabs=NUMBER, -NUMBER 23137 23138 is equivalent to -t NUMBER. 23139 23140 --tabs=LIST, -LIST 23141 23142 is equivalent to -t LIST. 23143 23144 uniq 23145 23146 Name 23147 23148 uniq -- remove duplicate lines from a sorted file 23149 23150 Description 23151 23152 uniq is as specified in the Single UNIX Specification but with differences as 23153 listed below. 23154 23155 LSB Deprecated Differences 23156 23157 The behaviors specified in this section are expected to disappear from a future 23158 version of the LSB; applications should only use the non-LSB-deprecated 23159 behaviors. 23160 23161 --count 23162 23163 is equivalent to -c. 23164 23165 --repeated 23166 23167 is equivalent to -d. 23168 23169 -D, --all-repeated 23170 23171 prints all duplicate lines. 23172 23173 --skip-fields=N 23174 23175 is equivalent to -f fields. 23176 23177 -i, --ignore-case 23178 23179 ignores differences in case when comparing. 23180 23181 --skip-chars=N 23182 23183 is equivalent to -s. 23184 23185 --unique 23186 23187 is equivalent to -u. 23188 23189 -w, --check-chars=N 23190 23191 compares no more than N characters in lines. 23192 23193 --version 23194 23195 outputs version information and exits. 23196 23197 useradd 23198 23199 Name 23200 23201 useradd -- create a new user or update default new user information 23202 23203 Synopsis 23204 23205 useradd [-c comment] [-d home_dir] 23206 [-g initial_group] [-G group[,...]] 23207 [-m [-k skeleton_dir]] [-p passwd] [-r] 23208 [-s shell] [-u uid [ -o]] login 23209 23210 useradd -D [-g default_group] [-b default_home] 23211 [-s default_shell] 23212 23213 Description 23214 23215 When invoked without the -D option, useradd creates a new user account using 23216 the values specified on the command line and the default values from the 23217 system. The new user account will be entered into the system files as needed, 23218 the home directory will be created, and initial files copied, depending on the 23219 command line options. 23220 23221 When invoked with the -D option, useradd will either display the current 23222 default values, or update the default values from the command line. If no 23223 options are specified, useradd displays the current default values. 23224 23225 Standard Options 23226 23227 -c comment 23228 23229 specifies the new user's password file comment field value. 23230 23231 -d home_dir 23232 23233 creates the new user using home_dir as the value for the user's login 23234 directory. The default is to append the login name to default_home and use 23235 that as the login directory name. 23236 23237 -g initial_group 23238 23239 specifies the group name or number of the user's initial login group. The 23240 group name must exist. A group number must refer to an already existing 23241 group. If -g is not specified, the implementation will follow the normal 23242 user default for that system. This may create a new group or choose a 23243 default group that normal users are placed in. Applications which require 23244 control of the groups into which a user is placed should specify -g. 23245 23246 -G group,[...] 23247 23248 specifies a list of supplementary groups which the user is also a member 23249 of. Each group is separated from the next by a comma, with no intervening 23250 whitespace. The groups are subject to the same restrictions as the group 23251 given with the -g option. The default is for the user to belong only to the 23252 initial group. 23253 23254 -m [-k skeleton_dir] 23255 23256 specifies the user's home directory will be created if it does not exist. 23257 The files contained in skeleton_dir will be copied to the home directory if 23258 the -k option is used, otherwise the files contained in /etc/skel will be 23259 used instead. Any directories contained in skeleton_dir or /etc/skel will 23260 be created in the user's home directory as well. The -k option is only 23261 valid in conjunction with the -m option. The default is to not create the 23262 directory and to not copy any files. 23263 23264 -p passwd 23265 23266 is the encrypted password, as returned by crypt(3). The default is to 23267 disable the account. 23268 23269 -r 23270 23271 creates a system account, that is, a user with a UID in the range reserved 23272 for system account users. If there is not a UID free in the reserved range 23273 the command will fail. 23274 23275 -s shell 23276 23277 specifies the name of the user's login shell. The default is to leave this 23278 field blank, which causes the system to select the default login shell. 23279 23280 -u uid [-o] 23281 23282 specifies the numerical value of the user's ID. This value must be unique, 23283 unless the -o option is used. The value must be non-negative. The default 23284 is the smallest ID value greater than 499 which is not yet used. 23285 23286 Change Default Options 23287 23288 -b default_home 23289 23290 specifies the initial path prefix for a new user's home directory. The 23291 user's name will be affixed to the end of default_home to create the new 23292 directory name if the -d option is not used when creating a new account. 23293 23294 -g default_group 23295 23296 specifies the group name or ID for a new user's initial group. The named 23297 group must exist, and a numerical group ID must have an existing entry. 23298 23299 -s default_shell 23300 23301 specifies the name of the new user's login shell. The named program will be 23302 used for all future new user accounts. 23303 23304 -c comment 23305 23306 specifies the new user's password file comment field value. 23307 23308 Application Usage 23309 23310 The -D option will typically be used by system administration packages. Most 23311 applications should not change defaults which will affect other applications 23312 and users. 23313 23314 userdel 23315 23316 Name 23317 23318 userdel -- delete a user account and related files 23319 23320 Synopsis 23321 23322 userdel [-r] login 23323 23324 Description 23325 23326 Delete the user account named login. If there is also a group named login, this 23327 command may delete the group as well, or may leave it alone. 23328 23329 Options 23330 23331 -r 23332 23333 removes files in the user's home directory along with the home directory 23334 itself. Files located in other file system will have to be searched for and 23335 deleted manually. 23336 23337 usermod 23338 23339 Name 23340 23341 usermod -- modify a user account 23342 23343 Synopsis 23344 23345 usermod [-c comment] [-d home_dir [ -m]] 23346 [-g initial_group] [-G group[,...]] 23347 [-l login_name] [-p passwd] 23348 [-s shell] [-u uid [ -o]] login 23349 23350 Options 23351 23352 -c comment 23353 23354 specifies the new value of the user's password file comment field. 23355 23356 -d home_dir 23357 23358 specifies the user's new login directory. If the -m option is given the 23359 contents of the current home directory will be moved to the new home 23360 directory, which is created if it does not already exist. 23361 23362 -g initial_group 23363 23364 specifies the group name or number of the user's new initial login group. 23365 The group name must exist. A group number must refer to an already existing 23366 group. 23367 23368 -G group,[...] 23369 23370 specifies a list of supplementary groups which the user is also a member 23371 of. Each group is separated from the next by a comma, with no intervening 23372 whitespace. The groups are subject to the same restrictions as the group 23373 given with the -g option. If the user is currently a member of a group 23374 which is not listed, the user will be removed from the group. 23375 23376 -l login_name 23377 23378 changes the name of the user from login to login_name. Nothing else is 23379 changed. In particular, the user's home directory name should probably be 23380 changed to reflect the new login name. 23381 23382 -p passwd 23383 23384 is the encrypted password, as returned by crypt(3). 23385 23386 -s shell 23387 23388 specifies the name of the user's new login shell. Setting this field to 23389 blank causes the system to select the default login shell. 23390 23391 -u uid [-o] 23392 23393 specifies the numerical value of the user's ID. This value must be unique, 23394 unless the -o option is used. The value must be non-negative. Any files 23395 which the user owns and which are located in the directory tree rooted at 23396 the user's home directory will have the file user ID changed automatically. 23397 Files outside of the user's home directory must be altered manually. 23398 23399 wc 23400 23401 Name 23402 23403 wc -- print the number of bytes, words, and lines in files 23404 23405 Description 23406 23407 wc is as specified in the Single UNIX Specification but with differences as 23408 listed below. 23409 23410 Differences 23411 23412 -m 23413 23414 has unspecified behavior.[57] 23415 23416 LSB Deprecated Differences 23417 23418 The behaviors specified in this section are expected to disappear from a future 23419 version of the LSB; applications should only use the non-LSB-deprecated 23420 behaviors. 23421 23422 --bytes, --chars 23423 23424 is equivalent to -c. 23425 23426 --lines 23427 23428 is equivalent to -l. 23429 23430 -L, --max-line-length 23431 23432 prints the length of the longest line. 23433 23434 --words 23435 23436 is equivalent to -w. 23437 23438 --version 23439 23440 outputs version information and exits. 23441 23442 xargs 23443 23444 Name 23445 23446 xargs -- build and execute command lines from standard input 23447 23448 Description 23449 23450 xargs is as specified in the Single UNIX Specification but with differences as 23451 listed below. 23452 23453 Differences 23454 23455 -E 23456 23457 has unspecified behavior. 23458 23459 -I 23460 23461 has unspecified behavior. 23462 23463 -L 23464 23465 has unspecified behavior. 23466 23467 LSB Deprecated Differences 23468 23469 The behaviors specified in this section are expected to disappear from a future 23470 version of the LSB; applications should only use the non-LSB-deprecated 23471 behaviors. 23472 23473 --null, -0 23474 23475 terminates input filenames by a null character instead of by whitespace, 23476 and the quotes and backslash are not special (every character is taken 23477 literally). Disables the end of file string, which is treated like any 23478 other argument. Useful when arguments might contain white space, quote 23479 marks, or backslashes. The GNU find -print0 option produces input suitable 23480 for this mode. 23481 23482 --eof[=eof-str] 23483 23484 is equivalent to -e. 23485 23486 --replace[=replace-str] 23487 23488 uses FORMAT as the format string that controls the output of time. 23489 23490 --max-lines[=max-lines] 23491 23492 is equivalent to -l. 23493 23494 --max-args=max-args 23495 23496 is equivalent to -n. 23497 23498 --interactive 23499 23500 is equivalent to -p. 23501 23502 --no-run-if-empty, -r 23503 23504 does not run this command if the standard input does not contain any 23505 nonblanks. Normally, the command is run once even if there is no input. 23506 23507 --max-chars 23508 23509 is equivalent to -s. 23510 23511 --verbose 23512 23513 is equivalent to -t. 23514 23515 --version 23516 23517 Prints the version number of xargs and exits. 23518 23519 --exit 23520 23521 is equivalent to -x. 23522 23523 --max-procs=max-procs, -P max-procs 23524 23525 runs up to max-procs processes at a time; the default is 1. If max-procs is 23526 0, xargs will run as many processes as possible at a time. Use the -n 23527 option with -P; otherwise chances are that only one exec will be done. 23528 23529 IX. Standard Shell 23530 23531 Table of Contents 23532 18. Standard Shell 23533 23534 ------------------------------------------------------------------------------- 23535 23536 Chapter 18. Standard Shell 23537 23538 Introduction 23539 23540 The shell is POSIX-1003.2 with the following exceptions. 23541 23542 ------------------------------------------------------------------------------- 23543 23544 Standard Shell Exceptions 23545 23546 ------------------------------------------------------------------------------- 23547 23548 Pathname of $0 23549 23550 When the shell searches for a command name in the PATH and finds a shell 23551 script, POSIX specifies that it shall pass the command name as argv[0] and in 23552 the child shell script, $0 shall be set from argv[0] (POSIX Standard, section 23553 3.9.1.1, line 779-784). 23554 23555 However, for an LSB shell, the system may implement either this behavior or $0 23556 may be set to an absolute pathname of the shell script. [58] 23557 23558 ------------------------------------------------------------------------------- 23559 23560 Sourcing non-executable files 23561 23562 * When PATH is used to locate a file for the dot utility, and a matching file 23563 is on the PATH but is not readable, the behavior is undefined (unlike POSIX 23564 which apparently requires the shell to continue searching through the rest 23565 of the PATH, POSIX Standard, section 3.14.4, line 1493-1498). 23566 23567 ------------------------------------------------------------------------------- 23568 23569 Globalized Pattern Matching 23570 23571 For filename globbing, globalized implementations shall provide the 23572 functionality defined in [POSIX.2], with the following exceptions: 23573 23574 * Range expression (such as [a-z]) can be based on code point order instead 23575 of collating element order. 23576 23577 * Equivalence class expression (such as [=a=]) and multi-character collating 23578 element expression (such as [.ch.]) are optional. 23579 23580 * Handling of a multi-character collating element is optional. 23581 23582 ------------------------------------------------------------------------------- 23583 23584 Standard Shell Rationale 23585 23586 Among the many shells existing at the time of evaluation, the two most 23587 compliant were Bash and Pdksh. 23588 23589 At the time of evaluation, Bash was found mostly compliant with the 23590 POSIX-1003.2 standard, and its maintainer demonstrated interest in bringing the 23591 shell to full compliance. Bash already enjoys wide use among shell users, and 23592 is even included in many distributions as the default shell. Further, the 23593 abundance of documentation found both on the Internet and in the bookstore 23594 makes Bash an easy shell to use. 23595 23596 Of course, shell scripts must avoid using bash extensions if they want to run 23597 on any LSB system. 23598 23599 The two exceptions to POSIX (concerning . and non-readable files, and argv[0]) 23600 in this section are to accommodate bash. The need for exceptions should be 23601 reviewed if bash changes or POSIX changes to remove the conflict. Future 23602 versions of this standard may also consider exceptions for pdksh or other 23603 almost-compliant shells, if they seem to be warranted. 23604 23605 X. Users & Groups 23606 23607 Table of Contents 23608 19. Users & Groups 23609 23610 ------------------------------------------------------------------------------- 23611 23612 Chapter 19. Users & Groups 23613 23614 A "user name" is a string that is used to identify a user. A "login name" is a 23615 user name that is associated with a system login. A "user id" is a non negative 23616 integer, which can be contained in an object of type uid_t, that is used to 23617 identify a system user. 23618 23619 When the identity of a user is associated with a process, a user ID value is 23620 referred to as a real user ID, or an effective user ID. [POSIX 1003.1-1996] 23621 23622 A "group name" is a string that is used to identify a set of users. A "group 23623 id" is a non negative integer, which can be contained in a object of type 23624 gid_t, that is used to identify a group of system users. Each system user is a 23625 member of at least one group. When the identity of a group is associated with a 23626 process, a group ID value is referred to as a real group ID, or an effective 23627 group ID. [POSIX 1003.1-1996] 23628 23629 ------------------------------------------------------------------------------- 23630 23631 User and Group Database 23632 23633 The format of the User and Group databases is not specified. Programs may only 23634 read these databases using the provided API. Changes to these databases should 23635 be made using the provided commands. 23636 23637 ------------------------------------------------------------------------------- 23638 23639 User & Group Names 23640 23641 Below is a table of required mnemonic user and group names. This specification 23642 makes no attempt to numerically assign uid or gid numbers. The exception is the 23643 uid and gid for "root" which are equal to 0. 23644 23645 Table 19-1. Required User & Group Names 23646 23647 +-----------------------------------------------------------------------------+ 23648 |User |Group |Comments | 23649 |----------+----------+-------------------------------------------------------| 23650 |root |root |Administrative user with no restrictions | 23651 |----------+----------+-------------------------------------------------------| 23652 |bin |bin |Legacy UID/GID[a] | 23653 |----------+----------+-------------------------------------------------------| 23654 |daemon |daemon |Legacy UID/GID[b] | 23655 |-----------------------------------------------------------------------------| 23656 |Notes: | 23657 |a. The 'bin' UID/GID is included for compatibility with legacy applications. | 23658 |New applications should no longer use the 'bin' UID/GID. | 23659 |b. The 'daemon' UID/GID was used as an unprivileged UID/GID for daemons to | 23660 |execute under in order to limit their access to the system. Generally daemons| 23661 |should now run under individual UID/GIDs in order to further partition | 23662 |daemons from one another. | 23663 +-----------------------------------------------------------------------------+ 23664 23665 Below is a table of optional mnemonic user and group names. This specification 23666 makes no attempt to numerically assign uid or gid numbers. If the username 23667 exists on a system, then they should be in the suggested corresponding group. 23668 These user and group names are for use by distributions, not by applications. 23669 23670 Table 19-2. Optional User & Group Names 23671 23672 +---------------------------------------------------+ 23673 |User |Group |Comments | 23674 |--------+--------+---------------------------------| 23675 |adm |adm |Administrative special privileges| 23676 |--------+--------+---------------------------------| 23677 |lp |lp |Printer special privileges | 23678 |--------+--------+---------------------------------| 23679 |sync |sync |Login to sync the system | 23680 |--------+--------+---------------------------------| 23681 |shutdown|shutdown|Login to shutdown the system | 23682 |--------+--------+---------------------------------| 23683 |halt |halt |Login to halt the system | 23684 |--------+--------+---------------------------------| 23685 |mail |mail |Mail special privileges | 23686 |--------+--------+---------------------------------| 23687 |news |news |News special privileges | 23688 |--------+--------+---------------------------------| 23689 |uucp |uucp |UUCP special privileges | 23690 |--------+--------+---------------------------------| 23691 |operator|root |Operator special privileges | 23692 |--------+--------+---------------------------------| 23693 |man |man |Man special privileges | 23694 |--------+--------+---------------------------------| 23695 |nobody |nobody |Used by NFS | 23696 +---------------------------------------------------+ 23697 23698 The differences in numeric values of the uids and gids between systems on a 23699 network can be reconciled via NIS, rdist(1), rsync(1), or ugidd(8). Only a 23700 minimum working set of "user names" and their corresponding "user groups" are 23701 required. Applications cannot assume non system user or group names will be 23702 defined. 23703 23704 Applications cannot assume any policy for the default umask or the default 23705 directory permissions a user may have. Applications should enforce user only 23706 file permissions on private files such as mailboxes. The location of the users 23707 home directory is also not defined by policy other than the recommendations of 23708 the FHS and must be obtained by the *pwnam(3) calls. 23709 23710 ------------------------------------------------------------------------------- 23711 23712 UID Ranges 23713 23714 The system UIDs from 0 to 99 should be statically allocated by the system. 23715 These static assignments should be defined by a common registry. 23716 23717 The system UIDs from 100 to 499 should be reserved for dynamically allocation 23718 by system administrators and post install scripts using useradd(1). 23719 23720 ------------------------------------------------------------------------------- 23721 23722 Rationale 23723 23724 The purpose of specifying optional users and groups is to reduce the potential 23725 for name conflicts between applications and distributions. 23726 23727 XI. Execution Environment 23728 23729 Table of Contents 23730 20. File System Hierarchy 23731 21. Additional Recommendations 23732 22. Additional Behaviors 23733 23. Localization 23734 23735 ------------------------------------------------------------------------------- 23736 23737 Chapter 20. File System Hierarchy 23738 23739 An LSB conforming implementation must adhere to the FHS 2.2. 23740 23741 An LSB conforming application is recommended to follow the FHS 2.2. If it does 23742 not follow the FHS 2.2 it should include documentation of the differences. 23743 23744 The FHS allows many components or subsystems to be optional. An application 23745 must check for the existence of an optional component before using it, and 23746 should behave in a reasonable manner if the optional component is not present. 23747 23748 The FHS requirement to locate the operating system kernel in either / or /boot 23749 does not apply if the operating system kernel does not exist as a file in the 23750 filesystem. 23751 23752 The FHS specifies certain behaviors for a variety of commands if they are 23753 present (for example, ping or python). However, LSB applications must not rely 23754 on any commands beyond those specified by the LSB. The mere existence of a 23755 command must not be used as an indication that the command behaves in any 23756 particular way. 23757 23758 The following directories or links need not be present: /etc/X11 /usr/bin/X11 / 23759 usr/lib/X11 23760 23761 ------------------------------------------------------------------------------- 23762 23763 /dev 23764 23765 The following must exist under /dev. Other devices may also exist in /dev. 23766 Device names may exist as symbolic links to other device nodes located in /dev 23767 or subdirectories of /dev. There is no requirement concerning major/minor 23768 number values. 23769 23770 /dev/null 23771 23772 All data written to this device is discarded. A read from this device will 23773 return an EOF condition. 23774 23775 /dev/zero 23776 23777 This device is a source of zeroed out data. All data written to this device 23778 is discarded. A read from this device will return as many bytes containing 23779 the value zero as was requested. 23780 23781 /dev/tty 23782 23783 This device is a synonym for the controlling terminal of a process. Once 23784 this device is opened, all reads and writes will behave as if the actual 23785 controlling terminal device had been opened. 23786 23787 ------------------------------------------------------------------------------- 23788 23789 Chapter 21. Additional Recommendations 23790 23791 Minimal granted Directory and File permissions 23792 23793 In this Chapter "System" means an "LSB conforming implementation" and 23794 "application" means an "LSB conforming (third party vendor) application". 23795 23796 The system must grant to the application read and execute permissions needed to 23797 use all system interfaces (ABIs) mentioned in the LSB document and included 23798 standards. 23799 23800 ------------------------------------------------------------------------------- 23801 23802 Recommendations for applications on ownership and permissions 23803 23804 Directory Write Permissions 23805 23806 The application should not depend on having directory write permission outside 23807 /tmp, /var/tmp, invoking user's home directory and /var/opt/package, (where 23808 package is the name of the application package). 23809 23810 The application should not depend on owning these directories. 23811 23812 For these directories the application should be able to work with directory 23813 write permissions restricted by the "sticky bit". (Which prevents the 23814 application from removing files owned by another user. This is classically done 23815 with /tmp, to prevent accidental deletion of "foreign" files.) 23816 23817 ------------------------------------------------------------------------------- 23818 23819 File Write Permissions 23820 23821 The application should not depend on file write permission on files not owned 23822 by the user it runs under with the exception of its personal inbox /var/mail/ 23823 username 23824 23825 ------------------------------------------------------------------------------- 23826 23827 File Read and execute Permissions 23828 23829 The application should not depend on having read permission to every file and 23830 directory. 23831 23832 ------------------------------------------------------------------------------- 23833 23834 Suid and Sgid Permissions 23835 23836 The application should not depend on the suid/sgid permissions of a file not 23837 packaged with the application. Instead, the distribution is responsible for 23838 assuming that all system commands have the required permissions and work 23839 correctly. 23840 23841 Rationale: Let us make security officers happy. Let's give them the freedom to 23842 take sgid/suid perms away, as long as they do not break the system's 23843 functionality. 23844 23845 ------------------------------------------------------------------------------- 23846 23847 Privileged users 23848 23849 "Normal" applications should not depend on running as a privileged user. 23850 23851 Special applications that have a reason to run under a privileged user, should 23852 outline these reasons clearly in their documentation, if they are not obvious 23853 as in the case of a backup/restore program. Users of the application should be 23854 informed, that "this application demands security privileges, which could 23855 interfere with system security". 23856 23857 The application should not contain binary-only software that requires being run 23858 as root, as this makes security auditing harder or even impossible. 23859 23860 ------------------------------------------------------------------------------- 23861 23862 Changing permissions 23863 23864 The application should not change permissions of files and directories that do 23865 not belong to its own package. To do so without a warning notice in the 23866 documentation is regarded as unfriendly act. 23867 23868 ------------------------------------------------------------------------------- 23869 23870 Removable Media (Cdrom, Floppy, etc.) 23871 23872 Applications that expect to be runnable from removable media should not depend 23873 on logging in as a privileged user, and should be prepared to deal with a 23874 restrictive environment. Examples of such restrictions could be default mount 23875 options that disable set-user/group-ID attributes, disabling block or 23876 character-special files on the medium, or remapping the user/group IDs of files 23877 away from 0. [59] 23878 23879 ------------------------------------------------------------------------------- 23880 23881 Installable applications 23882 23883 If the installation of an application requires the execution of programs with 23884 superuser privileges, such programs should also be supplied in a human-readable 23885 form. 23886 23887 Without this, the local system administrator would have to blindly trust a 23888 piece of software, particularly its security. 23889 23890 ------------------------------------------------------------------------------- 23891 23892 Chapter 22. Additional Behaviors 23893 23894 This section specifies behaviors in which there is optional behavior in one of 23895 the standards on which the LSB relies, and where the LSB requires a specific 23896 behavior. [60] 23897 23898 The fcntl() function shall detect EDEADLK, as described as optional behavior in 23899 the Single UNIX Specification. 23900 23901 The fcntl() function shall treat the "cmd" value -1 as invalid. 23902 23903 The "whence" value -1 shall be an invalid value for the lseek(), fseek() and 23904 fcntl() functions. 23905 23906 The value "-5" shall be an invalid signal number. 23907 23908 The opendir() function shall detect EMFILE and ENFILE, as described as optional 23909 behavior in the Single UNIX Specification. 23910 23911 The readdir() and closedir() functions shall detect EBADF, as described as 23912 optional behavior in the Single UNIX Specification. 23913 23914 If the sigaddset() or sigdelset() functions are passed an invalid signal 23915 number, they shall return with EINVAL. Implementations are only required to 23916 enforce this requirement for signal numbers which are specified to be invalid 23917 by this specification (such as the -5 mentioned above). 23918 23919 The START and STOP termios characters shall be changeable, as described as 23920 optional behavior in the "General Terminal Interface" section of the Single 23921 UNIX Specification. 23922 23923 The mode value "-1" to the access() function shall be treated as invalid. 23924 23925 A value of -1 shall be an invalid "_PC_..." value for pathconf(). 23926 23927 A value of -1 shall be an invalid "_SC..." value for sysconf(). 23928 23929 The link() function shall require access to the existing file in order to 23930 succeed, as described as optional behavior in the Single UNIX Specification. 23931 23932 Calling unlink() on a directory shall fail. Calling link() specifying a 23933 directory as the first argument shall fail. See also unlink>. 23934 23935 The link() function shall not work across file systems, and shall return with 23936 EXDEV as described as optional behavior in the Single UNIX Specification. 23937 23938 The nl_item value "-1" shall be invalid for nl_langinfo. 23939 23940 The value -1 shall be an invalid "_CS_..." value for confstr(). 23941 23942 The value "z" shall be an invalid mode argument to popen(). 23943 23944 [61] 23945 23946 ------------------------------------------------------------------------------- 23947 23948 Chapter 23. Localization 23949 23950 Applications may either install a message catalog in the MO format as specified 23951 by the info page in version 0.10.40 of the gettext source package, or the 23952 application may execute the msgfmt command during it's installation to compile 23953 the message catalog. In either case, the resulting output must be located in 23954 the package's private area under /opt, and the application may use 23955 bindtextdomain() to specify this location. 23956 23957 Implementations shall support the POSIX and C locales as specified in the 23958 Single UNIX Specification. 23959 23960 ------------------------------------------------------------------------------- 23961 23962 Regular Expressions 23963 23964 Utilities that process regular expressions shall support Basic Regular 23965 Expressions and Extended Regular Expressions as specified in the Single UNIX 23966 Specification, with the following exceptions: 23967 23968 Range expression (such as [a-z]) can be based on code point order instead of 23969 collating element order. 23970 23971 Equivalence class expression (such as [=a=]) and multi-character collating 23972 element expression (such as [.ch.]) are optional. 23973 23974 Handling of a multi-character collating element is optional. 23975 23976 This affects at least the following utilities: grep (grep>) (including egrep), 23977 sed (sed>), and awk (awk>). 23978 23979 ------------------------------------------------------------------------------- 23980 23981 Filename Globbing 23982 23983 Utilities that perform filename globbing (also known as Pattern Matching 23984 Notation) shall do it as specified in the Single UNIX Specification, with the 23985 following exceptions: 23986 23987 Range expression (such as [a-z]) can be based on code point order instead of 23988 collating element order. 23989 23990 Equivalence class expression (such as [=a=]) and multi-character collating 23991 element expression (such as [.ch.]) are optional. 23992 23993 Handling of a multi-character collating element is optional. 23994 23995 This affects at least the following utilities: cpio (cpio>), find (find>), ls ( 23996 ls>) and tar (tar>). 23997 23998 XII. System Initialization 23999 24000 Table of Contents 24001 24. System Initialization 24002 24003 ------------------------------------------------------------------------------- 24004 24005 Chapter 24. System Initialization 24006 24007 Cron Jobs 24008 24009 Packages may not touch the configuration file /etc/crontab, nor may they modify 24010 the files in /var/spool/cron/crontabs. 24011 24012 If a package wants to install a job that has to be executed via cron, it shall 24013 place a file in one of the following directories: 24014 24015 /etc/cron.daily 24016 /etc/cron.weekly 24017 /etc/cron.monthly 24018 24019 As these directory names say, the files within them are executed on a daily, 24020 weekly, or monthly basis, respectively. See below for the rules concerning the 24021 names of these files. 24022 24023 If a certain job has to be executed more frequently than daily, the package 24024 shall install a file /etc/cron.d/cron-name tagged as configuration file. This 24025 file uses the same syntax as /etc/crontab and is processed by cron 24026 automatically. 24027 24028 It is recommended that files installed in any of these directories be scripts 24029 (shell scripts, Perl scripts, etc.) so that they may be modified by the local 24030 system administrator. In addition, they must be registered as configuration 24031 file. 24032 24033 The scripts in these directories have to check, if all necessary programs are 24034 installed before they try to execute them. Otherwise, problems will arise when 24035 a package was removed (but not purged), since the configuration files are kept 24036 on the system in this situation. 24037 24038 To avoid namespace conflicts in the /etc/cron.* directories, the filenames used 24039 by LSB-compliant packages in /etc/cron.daily, /etc/cron.weekly, /etc/ 24040 cron.monthly, or /etc/cron.d must come from a managed namespace. These 24041 filenames may be assigned using one of the following methods: 24042 24043 * Assigned namespace. This namespace consists of names which only use the 24044 character set [a-z0-9]. In order to avoid conflicts these cron script names 24045 must be reserved through the Linux Assigned Names and Numbers Authority 24046 (LANANA). Information about the LANANA may be found at www.lanana.org. 24047 24048 Commonly used names shall be reserved in advance; developers for projects 24049 should be encouraged reserve names from LANA, so that each distribution can 24050 use the same name, and to avoid conflicts with other projects. 24051 24052 * Hierarchical namespace. This namespace consists of scripts names which look 24053 like this: [hier1]-[hier2]-...-[name], where name is again taken the 24054 character set [a-z0-9], and where there may be one or more [hier-n] 24055 components. [hier1] may either be an LSB provider name assigned by the 24056 LANANA, or it may be owners' DNS name in lower case, with at least one '.'. 24057 I.e., "debian.org", "staroffice.sun.com", etc. The LSB provider name 24058 assigned by LANANA must only consist of the ASCII characters [a-z0-9]. 24059 24060 * Reserved namespace. This namespace consists of script names which begin 24061 with the character '_', and is reserved for distribution use only. This 24062 namespace should be used for core packages only, and in general use of this 24063 namespace is highly discouraged. 24064 24065 ------------------------------------------------------------------------------- 24066 24067 Init Script Actions 24068 24069 Init files provided by LSB applications shall accept one argument, saying what 24070 to do: 24071 24072 start start the service 24073 stop stop the service 24074 restart stop and restart the service if the service is already running, 24075 otherwise start the service 24076 reload cause the configuration of the service to be reloaded without 24077 actually stopping and restarting the service 24078 force-reload cause the configuration to be reloaded if the service supports 24079 this, otherwise restart the service 24080 status print the current status of the service 24081 24082 The start, stop, restart, force-reload, and status commands must be supported 24083 by all init files; the reload option is optional. Other init script actions may 24084 be defined by the init script. 24085 24086 Init files must ensure that they will behave sensibly if invoked with start 24087 when the service is already running, or with stop when it isn't, and that they 24088 don't kill unfortunately-named user processes. The best way to achieve this is 24089 to use the init-script functions provided by /lib/lsb/init-functions. 24090 24091 If a service reloads its configuration automatically (as in the case of cron, 24092 for example), the reload option of the init file must behave as if the 24093 configuration has been reloaded successfully. 24094 24095 These executable files must not fail obscurely when the configuration files 24096 remain but the package has been removed, as the default in [the packaging 24097 system] is to leave configuration files on the system after the package has 24098 been removed. Only when it is executed with the [purge] option will [the 24099 packaging system] remove configuration files. Therefore, you should include a 24100 test statement at the top of the file, like this: 24101 test -f program-executed-later-in-file || exit 5 24102 or take the equivalent action if the init file is not a shell script. 24103 24104 If the status command is given, the init script will return the following exit 24105 status codes. 24106 24107 0 program is running or service is OK 24108 1 program is dead and /var/run pid file exists 24109 2 program is dead and /var/lock lock file exists 24110 3 program is stopped 24111 4 program or service status is unknown 24112 5-99 reserved for future LSB use 24113 100-149 reserved for distribution use 24114 150-199 reserved for application use 24115 200-254 reserved 24116 24117 In the case of init script commands other than "status" (i.e., "start", "stop", 24118 "restart", "reload", and "force-reload"), the init script must return an exit 24119 status of zero if the action described by the argument has been successful. 24120 Otherwise, the exit status shall be non-zero, as defined below. In addition to 24121 straightforward success, the following situations are also to be considered 24122 successful: 24123 24124 * restarting a service (instead of reloading it) with the "force-reload" 24125 argument 24126 24127 * running "start" on a service already running 24128 24129 * running "stop" on a service already stopped or not running 24130 24131 * running "restart" on a service already stopped or not running 24132 24133 24134 24135 In case of an error, while processing any init script action except for 24136 "status", the init script must print an error message and return one of the 24137 following non-zero exit status codes. 24138 24139 1 generic or unspecified error (current practice) 24140 2 invalid or excess argument(s) 24141 3 unimplemented feature (for example, "reload") 24142 4 user had insufficient privilege 24143 5 program is not installed 24144 6 program is not configured 24145 7 program is not running 24146 8-99 reserved for future LSB use 24147 100-149 reserved for distribution use 24148 150-199 reserved for application use 24149 200-254 reserved 24150 24151 All error messages must be printed on standard error. All status messages must 24152 be printed on standard output. (This does not prevent scripts from calling the 24153 logging functions such as log_failure_msg). 24154 24155 Since init files may be run manually by a system administrator with 24156 non-standard environment variable values for PATH, USER, LOGNAME, etc. init 24157 files must not depend on the values of these environment variables. They should 24158 set them to some known/default values if they are needed. 24159 24160 ------------------------------------------------------------------------------- 24161 24162 Comment conventions for init scripts 24163 24164 LSB applications which need to execute script(s) at bootup and/or shutdown may 24165 provide one or more init.d files. These files are installed by the 24166 install_initd program described below, which copies it into a standard 24167 directory and makes whatever other adjustments (creation of symlinks, creation 24168 of entries in a database, etc.) are necessary so that the script can be run at 24169 boot-time. [62] 24170 24171 In the init.d file, information about the shell script shall be delimited by 24172 the lines "### BEGIN INIT INFO" and "### END INIT INFO". These delimiter lines 24173 may containg trailing whitespace, which shall be ignored. Inside this block 24174 there shall be lines of the form "# {keyword}: [arg1] [arg2] ...". (All lines 24175 inside this block start with a hash ('#') character in the first column, so 24176 that shell treats them as comments.) There must be exactly one space character 24177 between "#" and the keyword.[63] The following keywords, with their arguments 24178 are defined in this specification: 24179 24180 # Provides: boot_facility_1 [ boot_facility_2 ...] 24181 # Required-Start: boot_facility_1 [ boot_facility_2 ...] 24182 # Required-Stop: boot_facility_1 [ boot_facility_2 ...] 24183 # Default-Start: run_level_1 [ run_level_2 ...] 24184 # Default-Stop: run_level_1 [ run_level_2 ...] 24185 # Short-Description: short_description 24186 # Description: multiline_description 24187 24188 Additional keywords may be defined in future LSB specifications. Distributions 24189 may define local extensions by using the prefix "X-[distribution name]" --- for 24190 example, "X-RedHat-foobardecl", or "X-Debian-xyzzydecl". 24191 24192 An init.d shell script may declare using the "Required-Start: " header that it 24193 must not be run until certain boot facilities are provided. This information is 24194 used by the installation tool or the boot-time boot-script execution facility 24195 to assure that init scripts are run in the correct order. When an init script 24196 is run with a "start" argument, the boot facility or facilities specified in 24197 the "Provides" header shall be considered present, and hence init scripts which 24198 require those boot facilities would then be eligble to be run. When an init 24199 script is run with a "stop" argument, the boot facilities specified in the 24200 "Provides" header are considered no longer present. There are naming 24201 conventions for boot facilities and system facilities, as described in a 24202 following section. 24203 24204 Similarly, the "Required-Stop:" header defines which facilities must still be 24205 available during the shutdown of that service. Hence, the init script system 24206 should avoid stopping shell scripts which provide those facilities until this 24207 shell script is stopped. 24208 24209 The "Default-Start" and "Default-Stop" headers define which run levels should 24210 by default run the script with a start or stop argument, respectively, to start 24211 or stop the services controlled by the init script. 24212 24213 The "Short-Description" and "Description" header fields are used to provide 24214 text which describes the actions of the init script. The "short_description" 24215 shall be a relatively short, pithy description of the init script, where as the 24216 "multiline_description" can be a much longer piece of text that may span 24217 mulitple lines. In a multiline description, each continuation line must begin 24218 with a '#' followed by tab character or a '#' followed by at least two space 24219 characters. The multiline description is terminated by the first line that does 24220 not match this criteria. 24221 24222 The comment conventions described in this session are only required for use by 24223 LSB-compliant applications; system init scripts as provided by LSB-compliant 24224 run-time environments are not required to use the scheme outlined here. [64] 24225 24226 ------------------------------------------------------------------------------- 24227 24228 Installation and removal of init.d files 24229 24230 An init.d file is installed by copying it into /etc/init.d (which may be a 24231 symlink to another location). This can be done by the package installer. During 24232 the package's postinstall script, the program "/usr/lib/lsb/install_initd" 24233 configures the distribution's boot script system to call the package's init.d 24234 file at the appropriate time. 24235 24236 The install_initd program takes a single argument, the pathanme to the /etc/ 24237 init.d file. For example: 24238 24239 /usr/lib/lsb/install_initd /etc/init.d/example.com-coffeed 24240 24241 When a software package is removed, the package's preuninstall script shall 24242 call /usr/lib/lsb/remove_initd and pass the pathname to the /etc/init.d file. 24243 The package manager is still responsible for removing the /etc/init.d file; the 24244 remove_initd program is provided in case the distribution needs to clean up any 24245 other modifications in the distribution's boot script system that might have 24246 been made by the install_initd program. For example: 24247 24248 /usr/lib/lsb/remove_initd /etc/init.d/example.com-coffeed 24249 24250 There should be a tool available to the user (e.g., RedHat's chkconfig) which 24251 can be used by the system administrator to easily manipulate at which init 24252 levels a particular init.d script is started or stopped. This specification 24253 currently does not specify such an interface, however. 24254 24255 ------------------------------------------------------------------------------- 24256 24257 Run Levels 24258 24259 The following run levels are specified for use by the "Default-Start:" and 24260 "Default-Stop:" specifiers as defined by the section Comment conventions for 24261 init scripts>. Many LSB run-time environments commonly use these run level 24262 definitions, and in the absence of other considerations, providers of run-time 24263 environments are strongly encouraged to follow this convention to provide 24264 consistency for system administrators who need to work with multiple 24265 distributions. However, it is not required that LSB-compliant run-time 24266 environments use these run levels; the distribution-provided install_initd 24267 script may map the run levels specified below to whatever 24268 distribution-specified run levels are most appropriate. 24269 24270 0 halt 24271 1 single user mode 24272 2 multiuser with no network services exported 24273 3 normal/full multiuser 24274 4 reserved for local use, default is normal/full multiuser 24275 5 multiuser with xdm or equivalent 24276 6 reboot 24277 24278 ------------------------------------------------------------------------------- 24279 24280 Facility names 24281 24282 Boot facilities are used to indicate dependencies in init scripts, as defined 24283 in a previous section. Facility names that begin with a dollar sign ('$') are 24284 system facility names, defined by the LSB, and MUST be provided by 24285 distributions. [65] LSB applications must not provide facilities that begin 24286 with a dollar sign. This document defines the following facility names: 24287 24288 $local_fs all local filesystems are mounted 24289 $network low level networking (ethernet card; may imply PCMCIA running) 24290 $named daemons which may provide hostname resolution (if present) are 24291 running 24292 $portmap daemons providing SunRPC/ONCRPC portmapping service[66] (if present) 24293 are running 24294 $remote_fs all remote filesystems are mounted[67]. 24295 $syslog system logger is operational 24296 $time the system time has been set [68] 24297 24298 Other (non-system) facilities may be defined by other LSB applications. These 24299 facilities shall be named using the same conventions defined for naming init.d 24300 script names. Commonly, the facility provided by an LSB application init.d 24301 script will have the same name as the name assigned to the init.d script. 24302 24303 ------------------------------------------------------------------------------- 24304 24305 Script names 24306 24307 Since the init.d scripts must live in a single directory, they must come from a 24308 single namespace. Three means of assigning names from this namespace are 24309 available: 24310 24311 * Assigned namespace. This namespace consists of names which only use the 24312 character set [a-z0-9]. This space is desirable for scripts which system 24313 administrators may often wish to run manually: e.g., "/etc/init.d/named 24314 restart" In order to avoid conflicts these init.d names must be reserved 24315 through the Linux Assigned Names and Numbers Authority (LANANA). 24316 Information about the LANANA may be found at www.lanana.org. 24317 24318 Commonly used names shall be reserved in advance; developers for projects 24319 should be encouraged to reserve names from LANANA, so that each 24320 distribution can use the same name, and to avoid conflicts with other 24321 projects. 24322 24323 * Hierarchical namespace. This namespace consists of scripts names which look 24324 like this: [hier1]-[hier2]-...-[name], where name is again taken the 24325 character set [a-z0-9], and where there may be one or more [hier-n] 24326 components. [hier1] may either be an LSB provider name assigned by the 24327 LANANA, or it may be owners' DNS name in lower case, with at least one '.' 24328 (e.g., "debian.org", "staroffice.sun.com"). The LSB provider name assigned 24329 by LANANA must only consist of the ASCII characters [a-z0-9]. 24330 24331 * Reserved namespace. This namespace consists of script names which begin 24332 with the character '_', and is reserved for distribution use only. This 24333 namespace should be used for core packages only, and in general use of this 24334 namespace is highly discouraged. 24335 24336 In general, if a package or some system function is likely to be used on 24337 multiple systems, the package developers or the distribution SHOULD get a 24338 registered name through LANANA, and distributions should strive to use the same 24339 name whenever possible. For applications which may not be "core" or may not be 24340 commonly installed, the hierarchical namespace may be more appropriate. An 24341 advantage to the hierarchical namespace is that there is no need to consult 24342 with the LANANA before obtaining an assigned name. 24343 24344 Short names are highly desirable, since many system administrators like to use 24345 them to manually start and stop services. Given this, they should be 24346 standardized on a per-package basis. This is the rationale behind having a 24347 LANANA organization to assign these names. The LANANA may be called upon to 24348 handle other namespace issues, such as package/prerequisites naming (which is 24349 essential to making prerequisites to work correctly). 24350 24351 ------------------------------------------------------------------------------- 24352 24353 Init script Functions 24354 24355 Each LSB-compliant init.d script must source the file /lib/lsb/init-functions. 24356 This file must cause the following shell script commands to be defined. This 24357 can be done either by adding a directory to the PATH variable which defines 24358 these commands, or by defining sh aliases. While the distribution-provided 24359 aliases may choose to use bash extensions (at the distribution's option), the 24360 LSB init.d files themselves should only depend in /bin/sh features as defined 24361 by POSIX.2. 24362 24363 start_daemon This runs the specified program as a daemon. start_daemon will 24364 [-f] [-n check to see if there is a program named "daemon" already 24365 nicelevel] running. If so, it will not start another copy of the daemon 24366 pathname [args] unless the -f option is given. The -n option specifies a nice 24367 level. See nice(1). 24368 This stops the specified program. The program is found using 24369 killproc the algorithm given by pidofproc. If a signal is specified, 24370 basename using the -signal_name or -signal_number syntaxes specified by 24371 [signal] the kill command, the program is sent that signal. Otherwise, a 24372 SIGTERM followed by a SIGKILL after some number of seconds is 24373 sent. 24374 This function returns one or more pid(s) for a particular 24375 daemon. If an entry is found in /var/run/basename.pid, then 24376 that value is returned. Compliant implementations of the LSB 24377 may attempt other mechanisms for determining the pid(s), 24378 pidofproc although this is not required (and not recommended, since a 24379 basename user can trick startup scripts by creating processes that 24380 appear to be system programs in the process list thus creating 24381 a potential security exposure). Hence, LSB-complaint 24382 applications who wish to use the pidofproc function in their 24383 init scripts must store the pid in /var/run/basename.pid. 24384 log_success_msg This requests the distribution to print a success message. The 24385 "message" message should be relatively short; no more than 60 characters 24386 is highly desirable. 24387 log_failure_msg This requests the distribution to print a failure message. The 24388 "message" message should be relatively short; no more than 60 characters 24389 is highly desirable. 24390 log_warning_msg This requests the distribution to print a warning message. The 24391 "message" message should be relatively short; no more than 60 characters 24392 is highly desirable. 24393 24394 ------------------------------------------------------------------------------- 24395 24396 Appendix A. Alphabetical Listing of Interfaces 24397 24398 ------------------------------------------------------------------------------- 24399 24400 libX11 24401 24402 The behaviour of the interfaces in this library is specified by the following 24403 Standards. 24404 24405 X11R6.4 Xlib - C library 24406 24407 Table A-1. libX11 Function Interfaces 24408 24409 +-----------------------------------------------------------------------------------------+ 24410 |XActivateScreenSaver[37] |XIfEvent[37] |XcmsCIELabQueryMinL[37] | 24411 |----------------------------+--------------------------------+---------------------------| 24412 |XAddConnectionWatch[37] |XImageByteOrder[37] |XcmsCIELabToCIEXYZ[37] | 24413 |----------------------------+--------------------------------+---------------------------| 24414 |XAddExtension[37] |XInitExtension[37] |XcmsCIELabWhiteShiftColors | 24415 | | |[37] | 24416 |----------------------------+--------------------------------+---------------------------| 24417 |XAddHost[37] |XInitImage[37] |XcmsCIELuvClipL[37] | 24418 |----------------------------+--------------------------------+---------------------------| 24419 |XAddHosts[37] |XInitThreads[37] |XcmsCIELuvClipLuv[37] | 24420 |----------------------------+--------------------------------+---------------------------| 24421 |XAddPixel[37] |XInsertModifiermapEntry[37] |XcmsCIELuvClipuv[37] | 24422 |----------------------------+--------------------------------+---------------------------| 24423 |XAddToExtensionList[37] |XInstallColormap[37] |XcmsCIELuvQueryMaxC[37] | 24424 |----------------------------+--------------------------------+---------------------------| 24425 |XAddToSaveSet[37] |XInternAtom[37] |XcmsCIELuvQueryMaxL[37] | 24426 |----------------------------+--------------------------------+---------------------------| 24427 |XAllPlanes[37] |XInternAtoms[37] |XcmsCIELuvQueryMaxLC[37] | 24428 |----------------------------+--------------------------------+---------------------------| 24429 |XAllocClassHint[37] |XInternalConnectionNumbers[37] |XcmsCIELuvQueryMinL[37] | 24430 |----------------------------+--------------------------------+---------------------------| 24431 |XAllocColor[37] |XIntersectRegion[37] |XcmsCIELuvToCIEuvY[37] | 24432 |----------------------------+--------------------------------+---------------------------| 24433 |XAllocColorCells[37] |XKeycodeToKeysym[37] |XcmsCIELuvWhiteShiftColors | 24434 | | |[37] | 24435 |----------------------------+--------------------------------+---------------------------| 24436 |XAllocColorPlanes[37] |XKeysymToKeycode[37] |XcmsCIEXYZToCIELab[37] | 24437 |----------------------------+--------------------------------+---------------------------| 24438 |XAllocIconSize[37] |XKeysymToString[37] |XcmsCIEXYZToCIEuvY[37] | 24439 |----------------------------+--------------------------------+---------------------------| 24440 |XAllocNamedColor[37] |XKillClient[37] |XcmsCIEXYZToCIExyY[37] | 24441 |----------------------------+--------------------------------+---------------------------| 24442 |XAllocSizeHints[37] |XLastKnownRequestProcessed[37] |XcmsCIEXYZToRGBi[37] | 24443 |----------------------------+--------------------------------+---------------------------| 24444 |XAllocStandardColormap[37] |XListDepths[37] |XcmsCIEuvYToCIELuv[37] | 24445 |----------------------------+--------------------------------+---------------------------| 24446 |XAllocWMHints[37] |XListExtensions[37] |XcmsCIEuvYToCIEXYZ[37] | 24447 |----------------------------+--------------------------------+---------------------------| 24448 |XAllowEvents[37] |XListFonts[37] |XcmsCIEuvYToTekHVC[37] | 24449 |----------------------------+--------------------------------+---------------------------| 24450 |XAutoRepeatOff[37] |XListFontsWithInfo[37] |XcmsCIExyYToCIEXYZ[37] | 24451 |----------------------------+--------------------------------+---------------------------| 24452 |XAutoRepeatOn[37] |XListHosts[37] |XcmsClientWhitePointOfCCC | 24453 | | |[37] | 24454 |----------------------------+--------------------------------+---------------------------| 24455 |XBaseFontNameListOfFontSet |XListInstalledColormaps[37] |XcmsConvertColors[37] | 24456 |[37] | | | 24457 |----------------------------+--------------------------------+---------------------------| 24458 |XBell[37] |XListPixmapFormats[37] |XcmsCreateCCC[37] | 24459 |----------------------------+--------------------------------+---------------------------| 24460 |XBitmapBitOrder[37] |XListProperties[37] |XcmsDefaultCCC[37] | 24461 |----------------------------+--------------------------------+---------------------------| 24462 |XBitmapPad[37] |XLoadFont[37] |XcmsDisplayOfCCC[37] | 24463 |----------------------------+--------------------------------+---------------------------| 24464 |XBitmapUnit[37] |XLoadQueryFont[37] |XcmsFormatOfPrefix[37] | 24465 |----------------------------+--------------------------------+---------------------------| 24466 |XBlackPixel[37] |XLocaleOfFontSet[37] |XcmsFreeCCC[37] | 24467 |----------------------------+--------------------------------+---------------------------| 24468 |XBlackPixelOfScreen[37] |XLocaleOfIM[37] |XcmsLookupColor[37] | 24469 |----------------------------+--------------------------------+---------------------------| 24470 |XCellsOfScreen[37] |XLocaleOfOM[37] |XcmsPrefixOfFormat[37] | 24471 |----------------------------+--------------------------------+---------------------------| 24472 |XChangeActivePointerGrab[37]|XLockDisplay[37] |XcmsQueryBlack[37] | 24473 |----------------------------+--------------------------------+---------------------------| 24474 |XChangeGC[37] |XLookupColor[37] |XcmsQueryBlue[37] | 24475 |----------------------------+--------------------------------+---------------------------| 24476 |XChangeKeyboardControl[37] |XLookupKeysym[37] |XcmsQueryColor[37] | 24477 |----------------------------+--------------------------------+---------------------------| 24478 |XChangeKeyboardMapping[37] |XLookupString[37] |XcmsQueryColors[37] | 24479 |----------------------------+--------------------------------+---------------------------| 24480 |XChangePointerControl[37] |XLowerWindow[37] |XcmsQueryGreen[37] | 24481 |----------------------------+--------------------------------+---------------------------| 24482 |XChangeProperty[37] |XMapRaised[37] |XcmsQueryRed[37] | 24483 |----------------------------+--------------------------------+---------------------------| 24484 |XChangeSaveSet[37] |XMapSubwindows[37] |XcmsQueryWhite[37] | 24485 |----------------------------+--------------------------------+---------------------------| 24486 |XChangeWindowAttributes[37] |XMapWindow[37] |XcmsRGBToRGBi[37] | 24487 |----------------------------+--------------------------------+---------------------------| 24488 |XCheckIfEvent[37] |XMaskEvent[37] |XcmsRGBiToCIEXYZ[37] | 24489 |----------------------------+--------------------------------+---------------------------| 24490 |XCheckMaskEvent[37] |XMatchVisualInfo[37] |XcmsRGBiToRGB[37] | 24491 |----------------------------+--------------------------------+---------------------------| 24492 |XCheckTypedEvent[37] |XMaxCmapsOfScreen[37] |XcmsScreenNumberOfCCC[37] | 24493 |----------------------------+--------------------------------+---------------------------| 24494 |XCheckTypedWindowEvent[37] |XMaxRequestSize[37] |XcmsScreenWhitePointOfCCC | 24495 | | |[37] | 24496 |----------------------------+--------------------------------+---------------------------| 24497 |XCheckWindowEvent[37] |XMinCmapsOfScreen[37] |XcmsSetCCCOfColormap[37] | 24498 |----------------------------+--------------------------------+---------------------------| 24499 |XCirculateSubwindows[37] |XMoveResizeWindow[37] |XcmsSetCompressionProc[37] | 24500 |----------------------------+--------------------------------+---------------------------| 24501 |XCirculateSubwindowsDown[37]|XMoveWindow[37] |XcmsSetWhiteAdjustProc[37] | 24502 |----------------------------+--------------------------------+---------------------------| 24503 |XCirculateSubwindowsUp[37] |XNewModifiermap[37] |XcmsSetWhitePoint[37] | 24504 |----------------------------+--------------------------------+---------------------------| 24505 |XClearArea[37] |XNextEvent[37] |XcmsStoreColor[37] | 24506 |----------------------------+--------------------------------+---------------------------| 24507 |XClearWindow[37] |XNextRequest[37] |XcmsStoreColors[37] | 24508 |----------------------------+--------------------------------+---------------------------| 24509 |XClipBox[37] |XNoOp[37] |XcmsTekHVCClipC[37] | 24510 |----------------------------+--------------------------------+---------------------------| 24511 |XCloseDisplay[37] |XOMOfOC[37] |XcmsTekHVCClipV[37] | 24512 |----------------------------+--------------------------------+---------------------------| 24513 |XCloseIM[37] |XOffsetRegion[37] |XcmsTekHVCClipVC[37] | 24514 |----------------------------+--------------------------------+---------------------------| 24515 |XCloseOM[37] |XOpenDisplay[37] |XcmsTekHVCQueryMaxC[37] | 24516 |----------------------------+--------------------------------+---------------------------| 24517 |XConfigureWindow[37] |XOpenIM[37] |XcmsTekHVCQueryMaxV[37] | 24518 |----------------------------+--------------------------------+---------------------------| 24519 |XConnectionNumber[37] |XOpenOM[37] |XcmsTekHVCQueryMaxVC[37] | 24520 |----------------------------+--------------------------------+---------------------------| 24521 |XContextDependentDrawing[37]|XParseColor[37] |XcmsTekHVCQueryMaxVSamples | 24522 | | |[37] | 24523 |----------------------------+--------------------------------+---------------------------| 24524 |XContextualDrawing[37] |XParseGeometry[37] |XcmsTekHVCQueryMinV[37] | 24525 |----------------------------+--------------------------------+---------------------------| 24526 |XConvertCase[37] |XPeekEvent[37] |XcmsTekHVCToCIEuvY[37] | 24527 |----------------------------+--------------------------------+---------------------------| 24528 |XConvertSelection[37] |XPeekIfEvent[37] |XcmsTekHVCWhiteShiftColors | 24529 | | |[37] | 24530 |----------------------------+--------------------------------+---------------------------| 24531 |XCopyArea[37] |XPending[37] |XcmsVisualOfCCC[37] | 24532 |----------------------------+--------------------------------+---------------------------| 24533 |XCopyColormapAndFree[37] |XPlanesOfScreen[37] |XkbAllocClientMap[37] | 24534 |----------------------------+--------------------------------+---------------------------| 24535 |XCopyGC[37] |XPointInRegion[37] |XkbAllocCompatMap[37] | 24536 |----------------------------+--------------------------------+---------------------------| 24537 |XCopyPlane[37] |XPolygonRegion[37] |XkbAllocControls[37] | 24538 |----------------------------+--------------------------------+---------------------------| 24539 |XCreateBitmapFromData[37] |XProcessInternalConnection[37] |XkbAllocGeomColors[37] | 24540 |----------------------------+--------------------------------+---------------------------| 24541 |XCreateColormap[37] |XProtocolRevision[37] |XkbAllocGeomDoodads[37] | 24542 |----------------------------+--------------------------------+---------------------------| 24543 |XCreateFontCursor[37] |XProtocolVersion[37] |XkbAllocGeomKeyAliases[37] | 24544 |----------------------------+--------------------------------+---------------------------| 24545 |XCreateFontSet[37] |XPutBackEvent[37] |XkbAllocGeomKeys[37] | 24546 |----------------------------+--------------------------------+---------------------------| 24547 |XCreateGC[37] |XPutImage[37] |XkbAllocGeomOutlines[37] | 24548 |----------------------------+--------------------------------+---------------------------| 24549 |XCreateGlyphCursor[37] |XPutPixel[37] |XkbAllocGeomOverlayKeys[37]| 24550 |----------------------------+--------------------------------+---------------------------| 24551 |XCreateIC[37] |XQLength[37] |XkbAllocGeomOverlayRows[37]| 24552 |----------------------------+--------------------------------+---------------------------| 24553 |XCreateImage[37] |XQueryBestCursor[37] |XkbAllocGeomOverlays[37] | 24554 |----------------------------+--------------------------------+---------------------------| 24555 |XCreateOC[37] |XQueryBestSize[37] |XkbAllocGeomPoints[37] | 24556 |----------------------------+--------------------------------+---------------------------| 24557 |XCreatePixmap[37] |XQueryBestStipple[37] |XkbAllocGeomProps[37] | 24558 |----------------------------+--------------------------------+---------------------------| 24559 |XCreatePixmapCursor[37] |XQueryBestTile[37] |XkbAllocGeomRows[37] | 24560 |----------------------------+--------------------------------+---------------------------| 24561 |XCreatePixmapFromBitmapData |XQueryColor[37] |XkbAllocGeomSectionDoodads | 24562 |[37] | |[37] | 24563 |----------------------------+--------------------------------+---------------------------| 24564 |XCreateRegion[37] |XQueryColors[37] |XkbAllocGeomSections[37] | 24565 |----------------------------+--------------------------------+---------------------------| 24566 |XCreateSimpleWindow[37] |XQueryExtension[37] |XkbAllocGeomShapes[37] | 24567 |----------------------------+--------------------------------+---------------------------| 24568 |XCreateWindow[37] |XQueryFont[37] |XkbAllocGeometry[37] | 24569 |----------------------------+--------------------------------+---------------------------| 24570 |XDefaultColormap[37] |XQueryKeymap[37] |XkbAllocIndicatorMaps[37] | 24571 |----------------------------+--------------------------------+---------------------------| 24572 |XDefaultColormapOfScreen[37]|XQueryPointer[37] |XkbAllocKeyboard[37] | 24573 |----------------------------+--------------------------------+---------------------------| 24574 |XDefaultDepth[37] |XQueryTextExtents[37] |XkbAllocNames[37] | 24575 |----------------------------+--------------------------------+---------------------------| 24576 |XDefaultDepthOfScreen[37] |XQueryTextExtents16[37] |XkbAllocServerMap[37] | 24577 |----------------------------+--------------------------------+---------------------------| 24578 |XDefaultGC[37] |XQueryTree[37] |XkbApplyCompatMapToKey[37] | 24579 |----------------------------+--------------------------------+---------------------------| 24580 |XDefaultGCOfScreen[37] |XRaiseWindow[37] |XkbBell[37] | 24581 |----------------------------+--------------------------------+---------------------------| 24582 |XDefaultRootWindow[37] |XReadBitmapFile[37] |XkbBellEvent[37] | 24583 |----------------------------+--------------------------------+---------------------------| 24584 |XDefaultScreen[37] |XReadBitmapFileData[37] |XkbChangeEnabledControls | 24585 | | |[37] | 24586 |----------------------------+--------------------------------+---------------------------| 24587 |XDefaultScreenOfDisplay[37] |XRebindKeysym[37] |XkbChangeMap[37] | 24588 |----------------------------+--------------------------------+---------------------------| 24589 |XDefaultString[37] |XRecolorCursor[37] |XkbChangeNames[37] | 24590 |----------------------------+--------------------------------+---------------------------| 24591 |XDefaultVisual[37] |XReconfigureWMWindow[37] |XkbChangeTypesOfKey[37] | 24592 |----------------------------+--------------------------------+---------------------------| 24593 |XDefaultVisualOfScreen[37] |XRectInRegion[37] |XkbComputeEffectiveMap[37] | 24594 |----------------------------+--------------------------------+---------------------------| 24595 |XDefineCursor[37] |XRefreshKeyboardMapping[37] |XkbComputeRowBounds[37] | 24596 |----------------------------+--------------------------------+---------------------------| 24597 |XDeleteContext[37] |XRegisterIMInstantiateCallback |XkbComputeSectionBounds[37]| 24598 | |[37] | | 24599 |----------------------------+--------------------------------+---------------------------| 24600 |XDeleteModifiermapEntry[37] |XRemoveConnectionWatch[37] |XkbComputeShapeBounds[37] | 24601 |----------------------------+--------------------------------+---------------------------| 24602 |XDeleteProperty[37] |XRemoveFromSaveSet[37] |XkbComputeShapeTop[37] | 24603 |----------------------------+--------------------------------+---------------------------| 24604 |XDestroyIC[37] |XRemoveHost[37] |XkbCopyKeyType[37] | 24605 |----------------------------+--------------------------------+---------------------------| 24606 |XDestroyImage[37] |XRemoveHosts[37] |XkbCopyKeyTypes[37] | 24607 |----------------------------+--------------------------------+---------------------------| 24608 |XDestroyOC[37] |XReparentWindow[37] |XkbFindOverlayForKey[37] | 24609 |----------------------------+--------------------------------+---------------------------| 24610 |XDestroyRegion[37] |XResetScreenSaver[37] |XkbForceBell[37] | 24611 |----------------------------+--------------------------------+---------------------------| 24612 |XDestroySubwindows[37] |XResizeWindow[37] |XkbFreeClientMap[37] | 24613 |----------------------------+--------------------------------+---------------------------| 24614 |XDestroyWindow[37] |XResourceManagerString[37] |XkbFreeCompatMap[37] | 24615 |----------------------------+--------------------------------+---------------------------| 24616 |XDirectionalDependentDrawing|XRestackWindows[37] |XkbFreeComponentList[37] | 24617 |[37] | | | 24618 |----------------------------+--------------------------------+---------------------------| 24619 |XDisableAccessControl[37] |XRootWindow[37] |XkbFreeControls[37] | 24620 |----------------------------+--------------------------------+---------------------------| 24621 |XDisplayCells[37] |XRootWindowOfScreen[37] |XkbFreeGeomColors[37] | 24622 |----------------------------+--------------------------------+---------------------------| 24623 |XDisplayHeight[37] |XRotateBuffers[37] |XkbFreeGeomDoodads[37] | 24624 |----------------------------+--------------------------------+---------------------------| 24625 |XDisplayHeightMM[37] |XRotateWindowProperties[37] |XkbFreeGeomKeyAliases[37] | 24626 |----------------------------+--------------------------------+---------------------------| 24627 |XDisplayKeycodes[37] |XSaveContext[37] |XkbFreeGeomKeys[37] | 24628 |----------------------------+--------------------------------+---------------------------| 24629 |XDisplayMotionBufferSize[37]|XScreenCount[37] |XkbFreeGeomOutlines[37] | 24630 |----------------------------+--------------------------------+---------------------------| 24631 |XDisplayName[37] |XScreenNumberOfScreen[37] |XkbFreeGeomOverlayKeys[37] | 24632 |----------------------------+--------------------------------+---------------------------| 24633 |XDisplayOfIM[37] |XScreenOfDisplay[37] |XkbFreeGeomOverlayRows[37] | 24634 |----------------------------+--------------------------------+---------------------------| 24635 |XDisplayOfOM[37] |XScreenResourceString[37] |XkbFreeGeomOverlays[37] | 24636 |----------------------------+--------------------------------+---------------------------| 24637 |XDisplayOfScreen[37] |XSelectInput[37] |XkbFreeGeomPoints[37] | 24638 |----------------------------+--------------------------------+---------------------------| 24639 |XDisplayPlanes[37] |XSendEvent[37] |XkbFreeGeomProperties[37] | 24640 |----------------------------+--------------------------------+---------------------------| 24641 |XDisplayString[37] |XServerVendor[37] |XkbFreeGeomRows[37] | 24642 |----------------------------+--------------------------------+---------------------------| 24643 |XDisplayWidth[37] |XSetAccessControl[37] |XkbFreeGeomSections[37] | 24644 |----------------------------+--------------------------------+---------------------------| 24645 |XDisplayWidthMM[37] |XSetAfterFunction[37] |XkbFreeGeomShapes[37] | 24646 |----------------------------+--------------------------------+---------------------------| 24647 |XDoesBackingStore[37] |XSetArcMode[37] |XkbFreeGeometry[37] | 24648 |----------------------------+--------------------------------+---------------------------| 24649 |XDoesSaveUnders[37] |XSetAuthorization[37] |XkbFreeIndicatorMaps[37] | 24650 |----------------------------+--------------------------------+---------------------------| 24651 |XDrawArc[37] |XSetBackground[37] |XkbFreeKeyboard[37] | 24652 |----------------------------+--------------------------------+---------------------------| 24653 |XDrawArcs[37] |XSetClassHint[37] |XkbFreeNames[37] | 24654 |----------------------------+--------------------------------+---------------------------| 24655 |XDrawImageString[37] |XSetClipMask[37] |XkbFreeServerMap[37] | 24656 |----------------------------+--------------------------------+---------------------------| 24657 |XDrawImageString16[37] |XSetClipOrigin[37] |XkbGetAutoRepeatRate[37] | 24658 |----------------------------+--------------------------------+---------------------------| 24659 |XDrawLine[37] |XSetClipRectangles[37] |XkbGetCompatMap[37] | 24660 |----------------------------+--------------------------------+---------------------------| 24661 |XDrawLines[37] |XSetCloseDownMode[37] |XkbGetControls[37] | 24662 |----------------------------+--------------------------------+---------------------------| 24663 |XDrawPoint[37] |XSetCommand[37] |XkbGetGeometry[37] | 24664 |----------------------------+--------------------------------+---------------------------| 24665 |XDrawPoints[37] |XSetDashes[37] |XkbGetIndicatorMap[37] | 24666 |----------------------------+--------------------------------+---------------------------| 24667 |XDrawRectangle[37] |XSetErrorHandler[37] |XkbGetIndicatorState[37] | 24668 |----------------------------+--------------------------------+---------------------------| 24669 |XDrawRectangles[37] |XSetFillRule[37] |XkbGetKeyActions[37] | 24670 |----------------------------+--------------------------------+---------------------------| 24671 |XDrawSegments[37] |XSetFillStyle[37] |XkbGetKeyBehaviors[37] | 24672 |----------------------------+--------------------------------+---------------------------| 24673 |XDrawString[37] |XSetFont[37] |XkbGetKeyExplicitComponents| 24674 | | |[37] | 24675 |----------------------------+--------------------------------+---------------------------| 24676 |XDrawString16[37] |XSetFontPath[37] |XkbGetKeyModifierMap[37] | 24677 |----------------------------+--------------------------------+---------------------------| 24678 |XDrawText[37] |XSetForeground[37] |XkbGetKeySyms[37] | 24679 |----------------------------+--------------------------------+---------------------------| 24680 |XDrawText16[37] |XSetFunction[37] |XkbGetKeyTypes[37] | 24681 |----------------------------+--------------------------------+---------------------------| 24682 |XEHeadOfExtensionList[37] |XSetGraphicsExposures[37] |XkbGetKeyboard[37] | 24683 |----------------------------+--------------------------------+---------------------------| 24684 |XESetBeforeFlush[37] |XSetICFocus[37] |XkbGetKeyboardByName[37] | 24685 |----------------------------+--------------------------------+---------------------------| 24686 |XESetCloseDisplay[37] |XSetICValues[37] |XkbGetMap[37] | 24687 |----------------------------+--------------------------------+---------------------------| 24688 |XESetCopyGC[37] |XSetIMValues[37] |XkbGetMapChanges[37] | 24689 |----------------------------+--------------------------------+---------------------------| 24690 |XESetCreateFont[37] |XSetIOErrorHandler[37] |XkbGetNamedGeometry[37] | 24691 |----------------------------+--------------------------------+---------------------------| 24692 |XESetCreateGC[37] |XSetIconName[37] |XkbGetNamedIndicator[37] | 24693 |----------------------------+--------------------------------+---------------------------| 24694 |XESetError[37] |XSetIconSizes[37] |XkbGetNames[37] | 24695 |----------------------------+--------------------------------+---------------------------| 24696 |XESetErrorString[37] |XSetInputFocus[37] |XkbGetState[37] | 24697 |----------------------------+--------------------------------+---------------------------| 24698 |XESetEventToWire[37] |XSetLineAttributes[37] |XkbGetUpdatedMap[37] | 24699 |----------------------------+--------------------------------+---------------------------| 24700 |XESetFlushGC[37] |XSetLocaleModifiers[37] |XkbGetVirtualMods[37] | 24701 |----------------------------+--------------------------------+---------------------------| 24702 |XESetFreeFont[37] |XSetModifierMapping[37] |XkbGetXlibControls[37] | 24703 |----------------------------+--------------------------------+---------------------------| 24704 |XESetFreeGC[37] |XSetNormalHints[37] |XkbIgnoreExtension[37] | 24705 |----------------------------+--------------------------------+---------------------------| 24706 |XESetPrintErrorValues[37] |XSetOCValues[37] |XkbInitCanonicalKeyTypes | 24707 | | |[37] | 24708 |----------------------------+--------------------------------+---------------------------| 24709 |XESetWireToError[37] |XSetOMValues[37] |XkbKeyTypesForCoreSymbols | 24710 | | |[37] | 24711 |----------------------------+--------------------------------+---------------------------| 24712 |XESetWireToEvent[37] |XSetPlaneMask[37] |XkbKeycodeToKeysym[37] | 24713 |----------------------------+--------------------------------+---------------------------| 24714 |XEmptyRegion[37] |XSetPointerMapping[37] |XkbKeysymToModifiers[37] | 24715 |----------------------------+--------------------------------+---------------------------| 24716 |XEnableAccessControl[37] |XSetRGBColormaps[37] |XkbLatchGroup[37] | 24717 |----------------------------+--------------------------------+---------------------------| 24718 |XEqualRegion[37] |XSetRegion[37] |XkbLatchModifiers[37] | 24719 |----------------------------+--------------------------------+---------------------------| 24720 |XEventMaskOfScreen[37] |XSetScreenSaver[37] |XkbLibraryVersion[37] | 24721 |----------------------------+--------------------------------+---------------------------| 24722 |XEventsQueued[37] |XSetSelectionOwner[37] |XkbListComponents[37] | 24723 |----------------------------+--------------------------------+---------------------------| 24724 |XExtendedMaxRequestSize[37] |XSetSizeHints[37] |XkbLockGroup[37] | 24725 |----------------------------+--------------------------------+---------------------------| 24726 |XExtentsOfFontSet[37] |XSetStandardColormap[37] |XkbLockModifiers[37] | 24727 |----------------------------+--------------------------------+---------------------------| 24728 |XFetchBuffer[37] |XSetStandardProperties[37] |XkbLookupKeyBinding[37] | 24729 |----------------------------+--------------------------------+---------------------------| 24730 |XFetchBytes[37] |XSetState[37] |XkbLookupKeySym[37] | 24731 |----------------------------+--------------------------------+---------------------------| 24732 |XFetchName[37] |XSetStipple[37] |XkbNoteControlsChanges[37] | 24733 |----------------------------+--------------------------------+---------------------------| 24734 |XFillArc[37] |XSetSubwindowMode[37] |XkbNoteMapChanges[37] | 24735 |----------------------------+--------------------------------+---------------------------| 24736 |XFillArcs[37] |XSetTSOrigin[37] |XkbNoteNameChanges[37] | 24737 |----------------------------+--------------------------------+---------------------------| 24738 |XFillPolygon[37] |XSetTextProperty[37] |XkbOpenDisplay[37] | 24739 |----------------------------+--------------------------------+---------------------------| 24740 |XFillRectangle[37] |XSetTile[37] |XkbQueryExtension[37] | 24741 |----------------------------+--------------------------------+---------------------------| 24742 |XFillRectangles[37] |XSetTransientForHint[37] |XkbRefreshKeyboardMapping | 24743 | | |[37] | 24744 |----------------------------+--------------------------------+---------------------------| 24745 |XFilterEvent[37] |XSetWMClientMachine[37] |XkbResizeKeyActions[37] | 24746 |----------------------------+--------------------------------+---------------------------| 24747 |XFindContext[37] |XSetWMColormapWindows[37] |XkbResizeKeySyms[37] | 24748 |----------------------------+--------------------------------+---------------------------| 24749 |XFindOnExtensionList[37] |XSetWMHints[37] |XkbResizeKeyType[37] | 24750 |----------------------------+--------------------------------+---------------------------| 24751 |XFlush[37] |XSetWMIconName[37] |XkbSelectEventDetails[37] | 24752 |----------------------------+--------------------------------+---------------------------| 24753 |XFlushGC[37] |XSetWMName[37] |XkbSelectEvents[37] | 24754 |----------------------------+--------------------------------+---------------------------| 24755 |XFontsOfFontSet[37] |XSetWMNormalHints[37] |XkbSetAtomFuncs[37] | 24756 |----------------------------+--------------------------------+---------------------------| 24757 |XForceScreenSaver[37] |XSetWMProperties[37] |XkbSetAutoRepeatRate[37] | 24758 |----------------------------+--------------------------------+---------------------------| 24759 |XFree[37] |XSetWMProtocols[37] |XkbSetAutoResetControls[37]| 24760 |----------------------------+--------------------------------+---------------------------| 24761 |XFreeColormap[37] |XSetWMSizeHints[37] |XkbSetCompatMap[37] | 24762 |----------------------------+--------------------------------+---------------------------| 24763 |XFreeColors[37] |XSetWindowBackground[37] |XkbSetControls[37] | 24764 |----------------------------+--------------------------------+---------------------------| 24765 |XFreeCursor[37] |XSetWindowBackgroundPixmap[37] |XkbSetDebuggingFlags[37] | 24766 |----------------------------+--------------------------------+---------------------------| 24767 |XFreeExtensionList[37] |XSetWindowBorder[37] |XkbSetDetectableAutoRepeat | 24768 | | |[37] | 24769 |----------------------------+--------------------------------+---------------------------| 24770 |XFreeFont[37] |XSetWindowBorderPixmap[37] |XkbSetGeometry[37] | 24771 |----------------------------+--------------------------------+---------------------------| 24772 |XFreeFontInfo[37] |XSetWindowBorderWidth[37] |XkbSetIgnoreLockMods[37] | 24773 |----------------------------+--------------------------------+---------------------------| 24774 |XFreeFontNames[37] |XSetWindowColormap[37] |XkbSetIndicatorMap[37] | 24775 |----------------------------+--------------------------------+---------------------------| 24776 |XFreeFontPath[37] |XSetZoomHints[37] |XkbSetMap[37] | 24777 |----------------------------+--------------------------------+---------------------------| 24778 |XFreeFontSet[37] |XShrinkRegion[37] |XkbSetNamedIndicator[37] | 24779 |----------------------------+--------------------------------+---------------------------| 24780 |XFreeGC[37] |XStoreBuffer[37] |XkbSetNames[37] | 24781 |----------------------------+--------------------------------+---------------------------| 24782 |XFreeModifiermap[37] |XStoreBytes[37] |XkbSetServerInternalMods | 24783 | | |[37] | 24784 |----------------------------+--------------------------------+---------------------------| 24785 |XFreePixmap[37] |XStoreColor[37] |XkbSetXlibControls[37] | 24786 |----------------------------+--------------------------------+---------------------------| 24787 |XFreeStringList[37] |XStoreColors[37] |XkbToControl[37] | 24788 |----------------------------+--------------------------------+---------------------------| 24789 |XGContextFromGC[37] |XStoreName[37] |XkbTranslateKeyCode[37] | 24790 |----------------------------+--------------------------------+---------------------------| 24791 |XGeometry[37] |XStoreNamedColor[37] |XkbTranslateKeySym[37] | 24792 |----------------------------+--------------------------------+---------------------------| 24793 |XGetAtomName[37] |XStringListToTextProperty[37] |XkbUpdateMapFromCore[37] | 24794 |----------------------------+--------------------------------+---------------------------| 24795 |XGetAtomNames[37] |XStringToKeysym[37] |XkbUseExtension[37] | 24796 |----------------------------+--------------------------------+---------------------------| 24797 |XGetClassHint[37] |XSubImage[37] |XkbVirtualModsToReal[37] | 24798 |----------------------------+--------------------------------+---------------------------| 24799 |XGetCommand[37] |XSubtractRegion[37] |XmbDrawImageString[37] | 24800 |----------------------------+--------------------------------+---------------------------| 24801 |XGetDefault[37] |XSupportsLocale[37] |XmbDrawString[37] | 24802 |----------------------------+--------------------------------+---------------------------| 24803 |XGetErrorDatabaseText[37] |XSync[37] |XmbDrawText[37] | 24804 |----------------------------+--------------------------------+---------------------------| 24805 |XGetErrorText[37] |XSynchronize[37] |XmbLookupString[37] | 24806 |----------------------------+--------------------------------+---------------------------| 24807 |XGetFontPath[37] |XTextExtents[37] |XmbResetIC[37] | 24808 |----------------------------+--------------------------------+---------------------------| 24809 |XGetFontProperty[37] |XTextExtents16[37] |XmbSetWMProperties[37] | 24810 |----------------------------+--------------------------------+---------------------------| 24811 |XGetGCValues[37] |XTextPropertyToStringList[37] |XmbTextEscapement[37] | 24812 |----------------------------+--------------------------------+---------------------------| 24813 |XGetGeometry[37] |XTextWidth[37] |XmbTextExtents[37] | 24814 |----------------------------+--------------------------------+---------------------------| 24815 |XGetICValues[37] |XTextWidth16[37] |XmbTextListToTextProperty | 24816 | | |[37] | 24817 |----------------------------+--------------------------------+---------------------------| 24818 |XGetIMValues[37] |XTranslateCoordinates[37] |XmbTextPerCharExtents[37] | 24819 |----------------------------+--------------------------------+---------------------------| 24820 |XGetIconName[37] |XUndefineCursor[37] |XmbTextPropertyToTextList | 24821 | | |[37] | 24822 |----------------------------+--------------------------------+---------------------------| 24823 |XGetIconSizes[37] |XUngrabButton[37] |XrmCombineDatabase[37] | 24824 |----------------------------+--------------------------------+---------------------------| 24825 |XGetImage[37] |XUngrabKey[37] |XrmCombineFileDatabase[37] | 24826 |----------------------------+--------------------------------+---------------------------| 24827 |XGetInputFocus[37] |XUngrabKeyboard[37] |XrmDestroyDatabase[37] | 24828 |----------------------------+--------------------------------+---------------------------| 24829 |XGetKeyboardControl[37] |XUngrabPointer[37] |XrmEnumerateDatabase[37] | 24830 |----------------------------+--------------------------------+---------------------------| 24831 |XGetKeyboardMapping[37] |XUngrabServer[37] |XrmGetDatabase[37] | 24832 |----------------------------+--------------------------------+---------------------------| 24833 |XGetModifierMapping[37] |XUninstallColormap[37] |XrmGetFileDatabase[37] | 24834 |----------------------------+--------------------------------+---------------------------| 24835 |XGetMotionEvents[37] |XUnionRectWithRegion[37] |XrmGetResource[37] | 24836 |----------------------------+--------------------------------+---------------------------| 24837 |XGetNormalHints[37] |XUnionRegion[37] |XrmGetStringDatabase[37] | 24838 |----------------------------+--------------------------------+---------------------------| 24839 |XGetOCValues[37] |XUnloadFont[37] |XrmInitialize[37] | 24840 |----------------------------+--------------------------------+---------------------------| 24841 |XGetOMValues[37] |XUnlockDisplay[37] |XrmLocaleOfDatabase[37] | 24842 |----------------------------+--------------------------------+---------------------------| 24843 |XGetPixel[37] |XUnmapSubwindows[37] |XrmMergeDatabases[37] | 24844 |----------------------------+--------------------------------+---------------------------| 24845 |XGetPointerControl[37] |XUnmapWindow[37] |XrmParseCommand[37] | 24846 |----------------------------+--------------------------------+---------------------------| 24847 |XGetPointerMapping[37] |XUnregisterIMInstantiateCallback|XrmPermStringToQuark[37] | 24848 | |[37] | | 24849 |----------------------------+--------------------------------+---------------------------| 24850 |XGetRGBColormaps[37] |XUnsetICFocus[37] |XrmPutFileDatabase[37] | 24851 |----------------------------+--------------------------------+---------------------------| 24852 |XGetScreenSaver[37] |XVaCreateNestedList[37] |XrmPutLineResource[37] | 24853 |----------------------------+--------------------------------+---------------------------| 24854 |XGetSelectionOwner[37] |XVendorRelease[37] |XrmPutResource[37] | 24855 |----------------------------+--------------------------------+---------------------------| 24856 |XGetSizeHints[37] |XVisualIDFromVisual[37] |XrmPutStringResource[37] | 24857 |----------------------------+--------------------------------+---------------------------| 24858 |XGetStandardColormap[37] |XWMGeometry[37] |XrmQGetResource[37] | 24859 |----------------------------+--------------------------------+---------------------------| 24860 |XGetSubImage[37] |XWarpPointer[37] |XrmQGetSearchList[37] | 24861 |----------------------------+--------------------------------+---------------------------| 24862 |XGetTextProperty[37] |XWhitePixel[37] |XrmQGetSearchResource[37] | 24863 |----------------------------+--------------------------------+---------------------------| 24864 |XGetTransientForHint[37] |XWhitePixelOfScreen[37] |XrmQPutResource[37] | 24865 |----------------------------+--------------------------------+---------------------------| 24866 |XGetVisualInfo[37] |XWidthMMOfScreen[37] |XrmQPutStringResource[37] | 24867 |----------------------------+--------------------------------+---------------------------| 24868 |XGetWMClientMachine[37] |XWidthOfScreen[37] |XrmQuarkToString[37] | 24869 |----------------------------+--------------------------------+---------------------------| 24870 |XGetWMColormapWindows[37] |XWindowEvent[37] |XrmSetDatabase[37] | 24871 |----------------------------+--------------------------------+---------------------------| 24872 |XGetWMHints[37] |XWithdrawWindow[37] |XrmStringToBindingQuarkList| 24873 | | |[37] | 24874 |----------------------------+--------------------------------+---------------------------| 24875 |XGetWMIconName[37] |XWriteBitmapFile[37] |XrmStringToQuark[37] | 24876 |----------------------------+--------------------------------+---------------------------| 24877 |XGetWMName[37] |XXorRegion[37] |XrmStringToQuarkList[37] | 24878 |----------------------------+--------------------------------+---------------------------| 24879 |XGetWMNormalHints[37] |XauDisposeAuth[37] |XrmUniqueQuark[37] | 24880 |----------------------------+--------------------------------+---------------------------| 24881 |XGetWMProtocols[37] |XauFileName[37] |Xutf8TextListToTextProperty| 24882 |----------------------------+--------------------------------+---------------------------| 24883 |XGetWMSizeHints[37] |XauGetBestAuthByAddr[37] |Xutf8TextPropertyToTextList| 24884 |----------------------------+--------------------------------+---------------------------| 24885 |XGetWindowAttributes[37] |XauReadAuth[37] |XwcDrawImageString[37] | 24886 |----------------------------+--------------------------------+---------------------------| 24887 |XGetWindowProperty[37] |XcmsAddColorSpace[37] |XwcDrawString[37] | 24888 |----------------------------+--------------------------------+---------------------------| 24889 |XGetZoomHints[37] |XcmsAddFunctionSet[37] |XwcDrawText[37] | 24890 |----------------------------+--------------------------------+---------------------------| 24891 |XGrabButton[37] |XcmsAllocColor[37] |XwcFreeStringList[37] | 24892 |----------------------------+--------------------------------+---------------------------| 24893 |XGrabKey[37] |XcmsAllocNamedColor[37] |XwcLookupString[37] | 24894 |----------------------------+--------------------------------+---------------------------| 24895 |XGrabKeyboard[37] |XcmsCCCOfColormap[37] |XwcResetIC[37] | 24896 |----------------------------+--------------------------------+---------------------------| 24897 |XGrabPointer[37] |XcmsCIELabClipL[37] |XwcTextEscapement[37] | 24898 |----------------------------+--------------------------------+---------------------------| 24899 |XGrabServer[37] |XcmsCIELabClipLab[37] |XwcTextExtents[37] | 24900 |----------------------------+--------------------------------+---------------------------| 24901 |XHeightMMOfScreen[37] |XcmsCIELabClipab[37] |XwcTextListToTextProperty | 24902 | | |[37] | 24903 |----------------------------+--------------------------------+---------------------------| 24904 |XHeightOfScreen[37] |XcmsCIELabQueryMaxC[37] |XwcTextPerCharExtents[37] | 24905 |----------------------------+--------------------------------+---------------------------| 24906 |XIMOfIC[37] |XcmsCIELabQueryMaxL[37] |XwcTextPropertyToTextList | 24907 | | |[37] | 24908 |----------------------------+--------------------------------+---------------------------| 24909 |XIconifyWindow[37] |XcmsCIELabQueryMaxLC[37] | | 24910 +-----------------------------------------------------------------------------------------+ 24911 ------------------------------------------------------------------------------- 24912 24913 libXt 24914 24915 The behaviour of the interfaces in this library is specified by the following 24916 Standards. 24917 24918 Linux Standard Base 24919 X11R6.4 X Toolkit Intrinsics 24920 24921 Table A-2. libXt Function Interfaces 24922 24923 +-------------------------------------------------------------------------------------------+ 24924 |XtAddActions[47] |XtCvtStringToInitialState[47] |XtOwnSelectionIncremental | 24925 | | |[47] | 24926 |-----------------------------+--------------------------------+----------------------------| 24927 |XtAddCallback[47] |XtCvtStringToInt[47] |XtParent[47] | 24928 |-----------------------------+--------------------------------+----------------------------| 24929 |XtAddCallbacks[47] |XtCvtStringToPixel[47] |XtParseAcceleratorTable[47] | 24930 |-----------------------------+--------------------------------+----------------------------| 24931 |XtAddConverter[47] |XtCvtStringToRestartStyle[47] |XtParseTranslationTable[47] | 24932 |-----------------------------+--------------------------------+----------------------------| 24933 |XtAddEventHandler[47] |XtCvtStringToShort[47] |XtPeekEvent[47] | 24934 |-----------------------------+--------------------------------+----------------------------| 24935 |XtAddExposureToRegion[47] |XtCvtStringToTranslationTable |XtPending[47] | 24936 | |[47] | | 24937 |-----------------------------+--------------------------------+----------------------------| 24938 |XtAddGrab[47] |XtCvtStringToUnsignedChar[47] |XtPopdown[47] | 24939 |-----------------------------+--------------------------------+----------------------------| 24940 |XtAddInput[47] |XtCvtStringToVisual[47] |XtPopup[47] | 24941 |-----------------------------+--------------------------------+----------------------------| 24942 |XtAddRawEventHandler[47] |XtDatabase[47] |XtPopupSpringLoaded[47] | 24943 |-----------------------------+--------------------------------+----------------------------| 24944 |XtAddSignal[47] |XtDestroyApplicationContext[47] |XtProcessEvent[47] | 24945 |-----------------------------+--------------------------------+----------------------------| 24946 |XtAddTimeOut[47] |XtDestroyGC[47] |XtProcessLock[47] | 24947 |-----------------------------+--------------------------------+----------------------------| 24948 |XtAddWorkProc[47] |XtDestroyWidget[47] |XtProcessUnlock[47] | 24949 |-----------------------------+--------------------------------+----------------------------| 24950 |XtAllocateGC[47] |XtDirectConvert[47] |XtQueryGeometry[47] | 24951 |-----------------------------+--------------------------------+----------------------------| 24952 |XtAppAddActionHook[47] |XtDisownSelection[47] |XtRealizeWidget[47] | 24953 |-----------------------------+--------------------------------+----------------------------| 24954 |XtAppAddActions[47] |XtDispatchEvent[47] |XtRealloc[47] | 24955 |-----------------------------+--------------------------------+----------------------------| 24956 |XtAppAddBlockHook[47] |XtDispatchEventToWidget[47] |XtRegisterCaseConverter[47] | 24957 |-----------------------------+--------------------------------+----------------------------| 24958 |XtAppAddConverter[47] |XtDisplay[47] |XtRegisterDrawable[47] | 24959 |-----------------------------+--------------------------------+----------------------------| 24960 |XtAppAddInput[47] |XtDisplayInitialize[47] |XtRegisterExtensionSelector | 24961 | | |[47] | 24962 |-----------------------------+--------------------------------+----------------------------| 24963 |XtAppAddSignal[47] |XtDisplayOfObject[47] |XtRegisterGrabAction[47] | 24964 |-----------------------------+--------------------------------+----------------------------| 24965 |XtAppAddTimeOut[47] |XtDisplayStringConversionWarning|XtReleaseGC[47] | 24966 | |[47] | | 24967 |-----------------------------+--------------------------------+----------------------------| 24968 |XtAppAddWorkProc[47] |XtDisplayToApplicationContext |XtReleasePropertyAtom[47] | 24969 | |[47] | | 24970 |-----------------------------+--------------------------------+----------------------------| 24971 |XtAppCreateShell[47] |XtError[47] |XtRemoveActionHook[47] | 24972 |-----------------------------+--------------------------------+----------------------------| 24973 |XtAppError[47] |XtErrorMsg[47] |XtRemoveAllCallbacks[47] | 24974 |-----------------------------+--------------------------------+----------------------------| 24975 |XtAppErrorMsg[47] |XtFindFile[47] |XtRemoveBlockHook[47] | 24976 |-----------------------------+--------------------------------+----------------------------| 24977 |XtAppGetErrorDatabase[47] |XtFree[47] |XtRemoveCallback[47] | 24978 |-----------------------------+--------------------------------+----------------------------| 24979 |XtAppGetErrorDatabaseText[47]|XtGetActionKeysym[47] |XtRemoveCallbacks[47] | 24980 |-----------------------------+--------------------------------+----------------------------| 24981 |XtAppGetExitFlag[47] |XtGetActionList[47] |XtRemoveEventHandler[47] | 24982 |-----------------------------+--------------------------------+----------------------------| 24983 |XtAppGetSelectionTimeout[47] |XtGetApplicationNameAndClass[47]|XtRemoveEventTypeHandler[47]| 24984 |-----------------------------+--------------------------------+----------------------------| 24985 |XtAppInitialize[47] |XtGetApplicationResources[47] |XtRemoveGrab[47] | 24986 |-----------------------------+--------------------------------+----------------------------| 24987 |XtAppLock[47] |XtGetClassExtension[47] |XtRemoveInput[47] | 24988 |-----------------------------+--------------------------------+----------------------------| 24989 |XtAppMainLoop[47] |XtGetConstraintResourceList[47] |XtRemoveRawEventHandler[47] | 24990 |-----------------------------+--------------------------------+----------------------------| 24991 |XtAppNextEvent[47] |XtGetDisplays[47] |XtRemoveSignal[47] | 24992 |-----------------------------+--------------------------------+----------------------------| 24993 |XtAppPeekEvent[47] |XtGetErrorDatabase[47] |XtRemoveTimeOut[47] | 24994 |-----------------------------+--------------------------------+----------------------------| 24995 |XtAppPending[47] |XtGetErrorDatabaseText[47] |XtRemoveWorkProc[47] | 24996 |-----------------------------+--------------------------------+----------------------------| 24997 |XtAppProcessEvent[47] |XtGetGC[47] |XtReservePropertyAtom[47] | 24998 |-----------------------------+--------------------------------+----------------------------| 24999 |XtAppReleaseCacheRefs[47] |XtGetKeyboardFocusWidget[47] |XtResizeWidget[47] | 25000 |-----------------------------+--------------------------------+----------------------------| 25001 |XtAppSetErrorHandler[47] |XtGetKeysymTable[47] |XtResizeWindow[47] | 25002 |-----------------------------+--------------------------------+----------------------------| 25003 |XtAppSetErrorMsgHandler[47] |XtGetMultiClickTime[47] |XtResolvePathname[47] | 25004 |-----------------------------+--------------------------------+----------------------------| 25005 |XtAppSetExitFlag[47] |XtGetResourceList[47] |XtScreen[47] | 25006 |-----------------------------+--------------------------------+----------------------------| 25007 |XtAppSetFallbackResources[47]|XtGetSelectionParameters[47] |XtScreenDatabase[47] | 25008 |-----------------------------+--------------------------------+----------------------------| 25009 |XtAppSetSelectionTimeout[47] |XtGetSelectionRequest[47] |XtScreenOfObject[47] | 25010 |-----------------------------+--------------------------------+----------------------------| 25011 |XtAppSetTypeConverter[47] |XtGetSelectionTimeout[47] |XtSendSelectionRequest[47] | 25012 |-----------------------------+--------------------------------+----------------------------| 25013 |XtAppSetWarningHandler[47] |XtGetSelectionValue[47] |XtSessionGetToken[47] | 25014 |-----------------------------+--------------------------------+----------------------------| 25015 |XtAppSetWarningMsgHandler[47]|XtGetSelectionValueIncremental |XtSessionReturnToken[47] | 25016 | |[47] | | 25017 |-----------------------------+--------------------------------+----------------------------| 25018 |XtAppUnlock[47] |XtGetSelectionValues[47] |XtSetErrorHandler[47] | 25019 |-----------------------------+--------------------------------+----------------------------| 25020 |XtAppWarning[47] |XtGetSelectionValuesIncremental |XtSetErrorMsgHandler[47] | 25021 | |[47] | | 25022 |-----------------------------+--------------------------------+----------------------------| 25023 |XtAppWarningMsg[47] |XtGetSubresources[47] |XtSetEventDispatcher[47] | 25024 |-----------------------------+--------------------------------+----------------------------| 25025 |XtAugmentTranslations[47] |XtGetSubvalues[47] |XtSetKeyTranslator[47] | 25026 |-----------------------------+--------------------------------+----------------------------| 25027 |XtBuildEventMask[47] |XtGetValues[47] |XtSetKeyboardFocus[47] | 25028 |-----------------------------+--------------------------------+----------------------------| 25029 |XtCallAcceptFocus[47] |XtGrabButton[47] |XtSetLanguageProc[47] | 25030 |-----------------------------+--------------------------------+----------------------------| 25031 |XtCallActionProc[47] |XtGrabKey[47] |XtSetMappedWhenManaged[47] | 25032 |-----------------------------+--------------------------------+----------------------------| 25033 |XtCallCallbackList[47] |XtGrabKeyboard[47] |XtSetMultiClickTime[47] | 25034 |-----------------------------+--------------------------------+----------------------------| 25035 |XtCallCallbacks[47] |XtGrabPointer[47] |XtSetSelectionParameters[47]| 25036 |-----------------------------+--------------------------------+----------------------------| 25037 |XtCallConverter[47] |XtHasCallbacks[47] |XtSetSelectionTimeout[47] | 25038 |-----------------------------+--------------------------------+----------------------------| 25039 |XtCallbackExclusive[47] |XtHooksOfDisplay[47] |XtSetSensitive[47] | 25040 |-----------------------------+--------------------------------+----------------------------| 25041 |XtCallbackNone[47] |XtInitialize[47] |XtSetSubvalues[47] | 25042 |-----------------------------+--------------------------------+----------------------------| 25043 |XtCallbackNonexclusive[47] |XtInitializeWidgetClass[47] |XtSetTypeConverter[47] | 25044 |-----------------------------+--------------------------------+----------------------------| 25045 |XtCallbackPopdown[47] |XtInsertEventHandler[47] |XtSetValues[47] | 25046 |-----------------------------+--------------------------------+----------------------------| 25047 |XtCallbackReleaseCacheRef[47]|XtInsertEventTypeHandler[47] |XtSetWMColormapWindows[47] | 25048 |-----------------------------+--------------------------------+----------------------------| 25049 |XtCallbackReleaseCacheRefList|XtInsertRawEventHandler[47] |XtSetWarningHandler[47] | 25050 |[47] | | | 25051 |-----------------------------+--------------------------------+----------------------------| 25052 |XtCalloc[47] |XtInstallAccelerators[47] |XtSetWarningMsgHandler[47] | 25053 |-----------------------------+--------------------------------+----------------------------| 25054 |XtCancelSelectionRequest[47] |XtInstallAllAccelerators[47] |XtStringConversionWarning | 25055 | | |[47] | 25056 |-----------------------------+--------------------------------+----------------------------| 25057 |XtChangeManagedSet[47] |XtIsApplicationShell[47] |XtSuperclass[47] | 25058 |-----------------------------+--------------------------------+----------------------------| 25059 |XtClass[47] |XtIsComposite[47] |XtToolkitInitialize[47] | 25060 |-----------------------------+--------------------------------+----------------------------| 25061 |XtCloseDisplay[47] |XtIsConstraint[47] |XtToolkitThreadInitialize | 25062 | | |[47] | 25063 |-----------------------------+--------------------------------+----------------------------| 25064 |XtConfigureWidget[47] |XtIsManaged[47] |XtTranslateCoords[47] | 25065 |-----------------------------+--------------------------------+----------------------------| 25066 |XtConvert[47] |XtIsObject[47] |XtTranslateKey[47] | 25067 |-----------------------------+--------------------------------+----------------------------| 25068 |XtConvertAndStore[47] |XtIsOverrideShell[47] |XtTranslateKeycode[47] | 25069 |-----------------------------+--------------------------------+----------------------------| 25070 |XtConvertCase[47] |XtIsRealized[47] |XtUngrabButton[47] | 25071 |-----------------------------+--------------------------------+----------------------------| 25072 |XtCreateApplicationContext |XtIsRectObj[47] |XtUngrabKey[47] | 25073 |[47] | | | 25074 |-----------------------------+--------------------------------+----------------------------| 25075 |XtCreateApplicationShell[47] |XtIsSensitive[47] |XtUngrabKeyboard[47] | 25076 |-----------------------------+--------------------------------+----------------------------| 25077 |XtCreateManagedWidget[47] |XtIsSessionShell[47] |XtUngrabPointer[47] | 25078 |-----------------------------+--------------------------------+----------------------------| 25079 |XtCreatePopupShell[47] |XtIsShell[47] |XtUninstallTranslations[47] | 25080 |-----------------------------+--------------------------------+----------------------------| 25081 |XtCreateSelectionRequest[47] |XtIsSubclass[47] |XtUnmanageChild[47] | 25082 |-----------------------------+--------------------------------+----------------------------| 25083 |XtCreateWidget[47] |XtIsTopLevelShell[47] |XtUnmanageChildren[47] | 25084 |-----------------------------+--------------------------------+----------------------------| 25085 |XtCreateWindow[47] |XtIsTransientShell[47] |XtUnmapWidget[47] | 25086 |-----------------------------+--------------------------------+----------------------------| 25087 |XtCvtColorToPixel[47] |XtIsVendorShell[47] |XtUnrealizeWidget[47] | 25088 |-----------------------------+--------------------------------+----------------------------| 25089 |XtCvtIntToBool[47] |XtIsWMShell[47] |XtUnregisterDrawable[47] | 25090 |-----------------------------+--------------------------------+----------------------------| 25091 |XtCvtIntToBoolean[47] |XtIsWidget[47] |XtVaAppCreateShell[47] | 25092 |-----------------------------+--------------------------------+----------------------------| 25093 |XtCvtIntToColor[47] |XtKeysymToKeycodeList[47] |XtVaAppInitialize[47] | 25094 |-----------------------------+--------------------------------+----------------------------| 25095 |XtCvtIntToFloat[47] |XtLastEventProcessed[47] |XtVaCreateArgsList[47] | 25096 |-----------------------------+--------------------------------+----------------------------| 25097 |XtCvtIntToFont[47] |XtLastTimestampProcessed[47] |XtVaCreateManagedWidget[47] | 25098 |-----------------------------+--------------------------------+----------------------------| 25099 |XtCvtIntToPixel[47] |XtMainLoop[47] |XtVaCreatePopupShell[47] | 25100 |-----------------------------+--------------------------------+----------------------------| 25101 |XtCvtIntToPixmap[47] |XtMakeGeometryRequest[47] |XtVaCreateWidget[47] | 25102 |-----------------------------+--------------------------------+----------------------------| 25103 |XtCvtIntToShort[47] |XtMakeResizeRequest[47] |XtVaGetApplicationResources | 25104 | | |[47] | 25105 |-----------------------------+--------------------------------+----------------------------| 25106 |XtCvtIntToUnsignedChar[47] |XtMalloc[47] |XtVaGetSubresources[47] | 25107 |-----------------------------+--------------------------------+----------------------------| 25108 |XtCvtStringToAcceleratorTable|XtManageChild[47] |XtVaGetSubvalues[47] | 25109 |[47] | | | 25110 |-----------------------------+--------------------------------+----------------------------| 25111 |XtCvtStringToAtom[47] |XtManageChildren[47] |XtVaGetValues[47] | 25112 |-----------------------------+--------------------------------+----------------------------| 25113 |XtCvtStringToBool[47] |XtMapWidget[47] |XtVaOpenApplication[47] | 25114 |-----------------------------+--------------------------------+----------------------------| 25115 |XtCvtStringToBoolean[47] |XtMenuPopupAction[47] |XtVaSetSubvalues[47] | 25116 |-----------------------------+--------------------------------+----------------------------| 25117 |XtCvtStringToCommandArgArray |XtMergeArgLists[47] |XtVaSetValues[47] | 25118 |[47] | | | 25119 |-----------------------------+--------------------------------+----------------------------| 25120 |XtCvtStringToCursor[47] |XtMoveWidget[47] |XtWarning[47] | 25121 |-----------------------------+--------------------------------+----------------------------| 25122 |XtCvtStringToDimension[47] |XtName[47] |XtWarningMsg[47] | 25123 |-----------------------------+--------------------------------+----------------------------| 25124 |XtCvtStringToDirectoryString |XtNameToWidget[47] |XtWidgetToApplicationContext| 25125 |[47] | |[47] | 25126 |-----------------------------+--------------------------------+----------------------------| 25127 |XtCvtStringToDisplay[47] |XtNewString[47] |XtWindow[47] | 25128 |-----------------------------+--------------------------------+----------------------------| 25129 |XtCvtStringToFile[47] |XtNextEvent[47] |XtWindowOfObject[47] | 25130 |-----------------------------+--------------------------------+----------------------------| 25131 |XtCvtStringToFloat[47] |XtNoticeSignal[47] |XtWindowToWidget[47] | 25132 |-----------------------------+--------------------------------+----------------------------| 25133 |XtCvtStringToFont[47] |XtOpenApplication[47] |_XtCheckSubclassFlag[47] | 25134 |-----------------------------+--------------------------------+----------------------------| 25135 |XtCvtStringToFontSet[47] |XtOpenDisplay[47] |_XtCopyFromArg[46] | 25136 |-----------------------------+--------------------------------+----------------------------| 25137 |XtCvtStringToFontStruct[47] |XtOverrideTranslations[47] |_XtInherit[46] | 25138 |-----------------------------+--------------------------------+----------------------------| 25139 |XtCvtStringToGravity[47] |XtOwnSelection[47] |_XtIsSubclassOf[46] | 25140 +-------------------------------------------------------------------------------------------+ 25141 25142 Table A-3. libXt Data Interfaces 25143 25144 +------------------------------------------------------------------------------+ 25145 |XtCXtToolkitError[47] |objectClass[47] |topLevelShellClassRec[47]| 25146 |---------------------------+------------------------+-------------------------| 25147 |XtShellStrings[47] |objectClassRec[47] |topLevelShellWidgetClass | 25148 | | |[47] | 25149 |---------------------------+------------------------+-------------------------| 25150 |XtStrings[47] |overrideShellClassRec |transientShellClassRec | 25151 | |[47] |[47] | 25152 |---------------------------+------------------------+-------------------------| 25153 |_XtInheritTranslations[46] |overrideShellWidgetClass|transientShellWidgetClass| 25154 | |[47] |[47] | 25155 |---------------------------+------------------------+-------------------------| 25156 |applicationShellWidgetClass|rectObjClass[47] |widgetClass[47] | 25157 |[47] | | | 25158 |---------------------------+------------------------+-------------------------| 25159 |compositeClassRec[47] |rectObjClassRec[47] |widgetClassRec[47] | 25160 |---------------------------+------------------------+-------------------------| 25161 |compositeWidgetClass[47] |sessionShellClassRec[47]|wmShellClassRec[47] | 25162 |---------------------------+------------------------+-------------------------| 25163 |constraintClassRec[47] |sessionShellWidgetClass |wmShellWidgetClass[47] | 25164 | |[47] | | 25165 |---------------------------+------------------------+-------------------------| 25166 |constraintWidgetClass[47] |shellClassRec[47] | | 25167 |---------------------------+------------------------+-------------------------| 25168 |coreWidgetClass[47] |shellWidgetClass[47] | | 25169 +------------------------------------------------------------------------------+ 25170 ------------------------------------------------------------------------------- 25171 25172 libm 25173 25174 The behaviour of the interfaces in this library is specified by the following 25175 Standards. 25176 25177 ISO/IEC 9899: 1999, Programming Languages --C 25178 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 25179 (ISBN: 1-85912-181-0, C606) 25180 25181 Table A-4. libm Function Interfaces 25182 25183 +-----------------------------------------------------------------------------+ 25184 |acos(GLIBC_2.0)[24] |csinhl(GLIBC_2.0)[23] |log(GLIBC_2.0)[24] | 25185 |----------------------+----------------------------+-------------------------| 25186 |acosf(GLIBC_2.0)[23] |csinl(GLIBC_2.0)[23] |log10(GLIBC_2.0)[24] | 25187 |----------------------+----------------------------+-------------------------| 25188 |acosh(GLIBC_2.0)[24] |csqrt(GLIBC_2.0)[23] |log10f[23] | 25189 |----------------------+----------------------------+-------------------------| 25190 |acoshf(GLIBC_2.0)[23] |csqrtf(GLIBC_2.0)[23] |log10l[23] | 25191 |----------------------+----------------------------+-------------------------| 25192 |acoshl(GLIBC_2.0)[23] |csqrtl(GLIBC_2.0)[23] |log1p(GLIBC_2.0)[24] | 25193 |----------------------+----------------------------+-------------------------| 25194 |acosl(GLIBC_2.0)[23] |ctan(GLIBC_2.0)[23] |logb(GLIBC_2.0)[24] | 25195 |----------------------+----------------------------+-------------------------| 25196 |asin(GLIBC_2.0)[24] |ctanf(GLIBC_2.0)[23] |logf[23] | 25197 |----------------------+----------------------------+-------------------------| 25198 |asinf(GLIBC_2.0)[23] |ctanh(GLIBC_2.0)[23] |logl[23] | 25199 |----------------------+----------------------------+-------------------------| 25200 |asinh(GLIBC_2.0)[24] |ctanhf(GLIBC_2.0)[23] |lrint(GLIBC_2.0)[23] | 25201 |----------------------+----------------------------+-------------------------| 25202 |asinhf(GLIBC_2.0)[23] |ctanhl(GLIBC_2.0)[23] |lrintf(GLIBC_2.0)[23] | 25203 |----------------------+----------------------------+-------------------------| 25204 |asinhl(GLIBC_2.0)[23] |ctanl(GLIBC_2.0)[23] |lrintl(GLIBC_2.0)[23] | 25205 |----------------------+----------------------------+-------------------------| 25206 |asinl(GLIBC_2.0)[23] |dremf(GLIBC_2.0)[23] |lround(GLIBC_2.0)[23] | 25207 |----------------------+----------------------------+-------------------------| 25208 |atan(GLIBC_2.0)[24] |dreml(GLIBC_2.0)[23] |lroundf(GLIBC_2.0)[23] | 25209 |----------------------+----------------------------+-------------------------| 25210 |atan2(GLIBC_2.0)[24] |erf(GLIBC_2.0)[24] |lroundl(GLIBC_2.0)[23] | 25211 |----------------------+----------------------------+-------------------------| 25212 |atan2f(GLIBC_2.0)[23] |erfc(GLIBC_2.0)[24] |matherr(GLIBC_2.0)[23] | 25213 |----------------------+----------------------------+-------------------------| 25214 |atan2l(GLIBC_2.0)[23] |erfcf(GLIBC_2.0)[23] |modf(GLIBC_2.0)[24] | 25215 |----------------------+----------------------------+-------------------------| 25216 |atanf(GLIBC_2.0)[23] |erfcl(GLIBC_2.0)[23] |modff(GLIBC_2.0)[23] | 25217 |----------------------+----------------------------+-------------------------| 25218 |atanh(GLIBC_2.0)[24] |erff(GLIBC_2.0)[23] |modfl(GLIBC_2.0)[23] | 25219 |----------------------+----------------------------+-------------------------| 25220 |atanhf(GLIBC_2.0)[23] |erfl(GLIBC_2.0)[23] |nan(GLIBC_2.0)[23] | 25221 |----------------------+----------------------------+-------------------------| 25222 |atanhl(GLIBC_2.0)[23] |exp(GLIBC_2.0)[24] |nanf(GLIBC_2.0)[23] | 25223 |----------------------+----------------------------+-------------------------| 25224 |atanl(GLIBC_2.0)[23] |expf[23] |nanl(GLIBC_2.0)[23] | 25225 |----------------------+----------------------------+-------------------------| 25226 |cabs(GLIBC_2.1)[24] |expl[23] |nearbyint(GLIBC_2.1)[23] | 25227 |----------------------+----------------------------+-------------------------| 25228 |cabsf(GLIBC_2.1)[23] |expm1(GLIBC_2.1)[24] |nearbyintf(GLIBC_2.1)[23]| 25229 |----------------------+----------------------------+-------------------------| 25230 |cabsl(GLIBC_2.1)[23] |fabs(GLIBC_2.1)[24] |nearbyintl(GLIBC_2.1)[23]| 25231 |----------------------+----------------------------+-------------------------| 25232 |cacos(GLIBC_2.1)[23] |fabsf(GLIBC_2.1)[23] |nextafter(GLIBC_2.1)[24] | 25233 |----------------------+----------------------------+-------------------------| 25234 |cacosf(GLIBC_2.1)[23] |fabsl(GLIBC_2.1)[23] |nextafterf(GLIBC_2.1)[23]| 25235 |----------------------+----------------------------+-------------------------| 25236 |cacosh(GLIBC_2.1)[23] |fdim(GLIBC_2.1)[23] |nextafterl(GLIBC_2.1)[23]| 25237 |----------------------+----------------------------+-------------------------| 25238 |cacoshf(GLIBC_2.1)[23]|fdimf(GLIBC_2.1)[23] |nexttoward(GLIBC_2.1)[23]| 25239 |----------------------+----------------------------+-------------------------| 25240 |cacoshl(GLIBC_2.1)[23]|fdiml(GLIBC_2.1)[23] |nexttowardf(GLIBC_2.1) | 25241 | | |[23] | 25242 |----------------------+----------------------------+-------------------------| 25243 |cacosl(GLIBC_2.1)[23] |feclearexcept(GLIBC_2.1)[23]|nexttowardl(GLIBC_2.1) | 25244 | | |[23] | 25245 |----------------------+----------------------------+-------------------------| 25246 |carg(GLIBC_2.1)[23] |fegetenv(GLIBC_2.1)[23] |pow(GLIBC_2.1)[23] | 25247 |----------------------+----------------------------+-------------------------| 25248 |cargf(GLIBC_2.1)[23] |fegetexceptflag(GLIBC_2.1) |pow10(GLIBC_2.1)[23] | 25249 | |[23] | | 25250 |----------------------+----------------------------+-------------------------| 25251 |cargl(GLIBC_2.1)[23] |fegetround(GLIBC_2.1)[23] |pow10f(GLIBC_2.1)[23] | 25252 |----------------------+----------------------------+-------------------------| 25253 |casin(GLIBC_2.1)[23] |feholdexcept(GLIBC_2.1)[23] |pow10l(GLIBC_2.1)[23] | 25254 |----------------------+----------------------------+-------------------------| 25255 |casinf(GLIBC_2.1)[23] |feraiseexcept(GLIBC_2.1)[23]|powf(GLIBC_2.1)[23] | 25256 |----------------------+----------------------------+-------------------------| 25257 |casinh(GLIBC_2.1)[23] |fesetenv(GLIBC_2.1)[23] |powl(GLIBC_2.1)[23] | 25258 |----------------------+----------------------------+-------------------------| 25259 |casinhf(GLIBC_2.1)[23]|fesetexceptflag(GLIBC_2.1) |remainder(GLIBC_2.1)[24] | 25260 | |[23] | | 25261 |----------------------+----------------------------+-------------------------| 25262 |casinhl(GLIBC_2.1)[23]|fesetround(GLIBC_2.1)[23] |remainderf(GLIBC_2.1)[23]| 25263 |----------------------+----------------------------+-------------------------| 25264 |casinl(GLIBC_2.1)[23] |fetestexcept(GLIBC_2.1)[23] |remainderl(GLIBC_2.1)[23]| 25265 |----------------------+----------------------------+-------------------------| 25266 |catan(GLIBC_2.1)[23] |feupdateenv(GLIBC_2.1)[23] |remquo(GLIBC_2.1)[23] | 25267 |----------------------+----------------------------+-------------------------| 25268 |catanf(GLIBC_2.1)[23] |finite(GLIBC_2.1)[24] |remquof(GLIBC_2.1)[23] | 25269 |----------------------+----------------------------+-------------------------| 25270 |catanh(GLIBC_2.1)[23] |finitef(GLIBC_2.1)[23] |remquol(GLIBC_2.1)[23] | 25271 |----------------------+----------------------------+-------------------------| 25272 |catanhf(GLIBC_2.1)[23]|finitel(GLIBC_2.1)[23] |rint(GLIBC_2.1)[24] | 25273 |----------------------+----------------------------+-------------------------| 25274 |catanhl(GLIBC_2.1)[23]|floor(GLIBC_2.1)[24] |rintf(GLIBC_2.1)[23] | 25275 |----------------------+----------------------------+-------------------------| 25276 |catanl(GLIBC_2.1)[23] |floorf(GLIBC_2.1)[23] |rintl(GLIBC_2.1)[23] | 25277 |----------------------+----------------------------+-------------------------| 25278 |cbrt(GLIBC_2.0)[24] |floorl(GLIBC_2.0)[23] |round(GLIBC_2.0)[23] | 25279 |----------------------+----------------------------+-------------------------| 25280 |cbrtf(GLIBC_2.0)[23] |fma(GLIBC_2.0)[23] |roundf(GLIBC_2.0)[23] | 25281 |----------------------+----------------------------+-------------------------| 25282 |cbrtl(GLIBC_2.0)[23] |fmaf(GLIBC_2.0)[23] |roundl(GLIBC_2.0)[23] | 25283 |----------------------+----------------------------+-------------------------| 25284 |ccos(GLIBC_2.1)[23] |fmal(GLIBC_2.1)[23] |scalb(GLIBC_2.1)[24] | 25285 |----------------------+----------------------------+-------------------------| 25286 |ccosf(GLIBC_2.1)[23] |fmax(GLIBC_2.1)[23] |scalbf(GLIBC_2.1)[23] | 25287 |----------------------+----------------------------+-------------------------| 25288 |ccosh(GLIBC_2.1)[23] |fmaxf(GLIBC_2.1)[23] |scalbl(GLIBC_2.1)[23] | 25289 |----------------------+----------------------------+-------------------------| 25290 |ccoshf(GLIBC_2.1)[23] |fmaxl(GLIBC_2.1)[23] |scalbln(GLIBC_2.1)[23] | 25291 |----------------------+----------------------------+-------------------------| 25292 |ccoshl(GLIBC_2.1)[23] |fmin(GLIBC_2.1)[23] |scalblnf(GLIBC_2.1)[23] | 25293 |----------------------+----------------------------+-------------------------| 25294 |ccosl(GLIBC_2.1)[23] |fminf(GLIBC_2.1)[23] |scalblnl(GLIBC_2.1)[23] | 25295 |----------------------+----------------------------+-------------------------| 25296 |ceil(GLIBC_2.0)[24] |fminl(GLIBC_2.0)[23] |scalbn(GLIBC_2.0)[23] | 25297 |----------------------+----------------------------+-------------------------| 25298 |ceilf(GLIBC_2.0)[23] |fmod(GLIBC_2.0)[24] |scalbnf(GLIBC_2.0)[23] | 25299 |----------------------+----------------------------+-------------------------| 25300 |ceill(GLIBC_2.0)[23] |fmodf(GLIBC_2.0)[23] |scalbnl(GLIBC_2.0)[23] | 25301 |----------------------+----------------------------+-------------------------| 25302 |cexp(GLIBC_2.1)[23] |fmodl(GLIBC_2.1)[23] |significand(GLIBC_2.1) | 25303 | | |[23] | 25304 |----------------------+----------------------------+-------------------------| 25305 |cexpf(GLIBC_2.1)[23] |frexp(GLIBC_2.1)[24] |significandf(GLIBC_2.1) | 25306 | | |[23] | 25307 |----------------------+----------------------------+-------------------------| 25308 |cexpl(GLIBC_2.1)[23] |frexpf(GLIBC_2.1)[23] |significandl(GLIBC_2.1) | 25309 | | |[23] | 25310 |----------------------+----------------------------+-------------------------| 25311 |cimag(GLIBC_2.1)[23] |frexpl(GLIBC_2.1)[23] |sin(GLIBC_2.1)[24] | 25312 |----------------------+----------------------------+-------------------------| 25313 |cimagf(GLIBC_2.1)[23] |gamma(GLIBC_2.1)[24] |sincos(GLIBC_2.1)[23] | 25314 |----------------------+----------------------------+-------------------------| 25315 |cimagl(GLIBC_2.1)[23] |gammaf(GLIBC_2.1)[23] |sincosf(GLIBC_2.1)[23] | 25316 |----------------------+----------------------------+-------------------------| 25317 |clog(GLIBC_2.1)[23] |gammal(GLIBC_2.1)[23] |sincosl(GLIBC_2.1)[23] | 25318 |----------------------+----------------------------+-------------------------| 25319 |clog10(GLIBC_2.1)[23] |hypot(GLIBC_2.1)[24] |sinf(GLIBC_2.1)[23] | 25320 |----------------------+----------------------------+-------------------------| 25321 |clog10f(GLIBC_2.1)[23]|hypotf(GLIBC_2.1)[23] |sinh(GLIBC_2.1)[24] | 25322 |----------------------+----------------------------+-------------------------| 25323 |clog10l(GLIBC_2.1)[23]|hypotl(GLIBC_2.1)[23] |sinhf(GLIBC_2.1)[23] | 25324 |----------------------+----------------------------+-------------------------| 25325 |clogf(GLIBC_2.1)[23] |ilogb(GLIBC_2.1)[24] |sinhl(GLIBC_2.1)[23] | 25326 |----------------------+----------------------------+-------------------------| 25327 |clogl(GLIBC_2.1)[23] |ilogbf(GLIBC_2.1)[23] |sinl(GLIBC_2.1)[23] | 25328 |----------------------+----------------------------+-------------------------| 25329 |conj(GLIBC_2.1)[23] |ilogbl(GLIBC_2.1)[23] |sqrt(GLIBC_2.1)[24] | 25330 |----------------------+----------------------------+-------------------------| 25331 |conjf(GLIBC_2.1)[23] |j0(GLIBC_2.1)[24] |sqrtf(GLIBC_2.1)[23] | 25332 |----------------------+----------------------------+-------------------------| 25333 |conjl(GLIBC_2.1)[23] |j0f(GLIBC_2.1)[23] |sqrtl(GLIBC_2.1)[23] | 25334 |----------------------+----------------------------+-------------------------| 25335 |copysign(GLIBC_2.0) |j0l(GLIBC_2.0)[23] |tan(GLIBC_2.0)[24] | 25336 |[23] | | | 25337 |----------------------+----------------------------+-------------------------| 25338 |copysignf(GLIBC_2.0) |j1(GLIBC_2.0)[24] |tanf(GLIBC_2.0)[23] | 25339 |[23] | | | 25340 |----------------------+----------------------------+-------------------------| 25341 |copysignl(GLIBC_2.0) |j1f(GLIBC_2.0)[23] |tanh(GLIBC_2.0)[24] | 25342 |[23] | | | 25343 |----------------------+----------------------------+-------------------------| 25344 |cos(GLIBC_2.0)[24] |j1l(GLIBC_2.0)[23] |tanhf(GLIBC_2.0)[23] | 25345 |----------------------+----------------------------+-------------------------| 25346 |cosf(GLIBC_2.0)[23] |jn(GLIBC_2.0)[24] |tanhl(GLIBC_2.0)[23] | 25347 |----------------------+----------------------------+-------------------------| 25348 |cosh(GLIBC_2.0)[24] |jnf(GLIBC_2.0)[23] |tanl(GLIBC_2.0)[23] | 25349 |----------------------+----------------------------+-------------------------| 25350 |coshf(GLIBC_2.0)[23] |jnl(GLIBC_2.0)[23] |tgamma(GLIBC_2.0)[23] | 25351 |----------------------+----------------------------+-------------------------| 25352 |coshl(GLIBC_2.0)[23] |ldexp(GLIBC_2.0)[24] |tgammaf(GLIBC_2.0)[23] | 25353 |----------------------+----------------------------+-------------------------| 25354 |cosl(GLIBC_2.0)[23] |ldexpf(GLIBC_2.0)[23] |tgammal(GLIBC_2.0)[23] | 25355 |----------------------+----------------------------+-------------------------| 25356 |cpow(GLIBC_2.1)[23] |ldexpl(GLIBC_2.1)[23] |trunc(GLIBC_2.1)[23] | 25357 |----------------------+----------------------------+-------------------------| 25358 |cpowf(GLIBC_2.1)[23] |lgamma(GLIBC_2.1)[24] |truncf(GLIBC_2.1)[23] | 25359 |----------------------+----------------------------+-------------------------| 25360 |cpowl(GLIBC_2.1)[23] |lgamma_r(GLIBC_2.1)[23] |truncl(GLIBC_2.1)[23] | 25361 |----------------------+----------------------------+-------------------------| 25362 |cproj(GLIBC_2.1)[23] |lgammaf(GLIBC_2.1)[23] |y0(GLIBC_2.1)[24] | 25363 |----------------------+----------------------------+-------------------------| 25364 |cprojf(GLIBC_2.1)[23] |lgammaf_r(GLIBC_2.1)[23] |y0f(GLIBC_2.1)[23] | 25365 |----------------------+----------------------------+-------------------------| 25366 |cprojl(GLIBC_2.1)[23] |lgammal(GLIBC_2.1)[23] |y0l(GLIBC_2.1)[23] | 25367 |----------------------+----------------------------+-------------------------| 25368 |creal(GLIBC_2.1)[23] |lgammal_r(GLIBC_2.1)[23] |y1(GLIBC_2.1)[24] | 25369 |----------------------+----------------------------+-------------------------| 25370 |crealf(GLIBC_2.1)[23] |llrint(GLIBC_2.1)[23] |y1f(GLIBC_2.1)[23] | 25371 |----------------------+----------------------------+-------------------------| 25372 |creall(GLIBC_2.1)[23] |llrintf(GLIBC_2.1)[23] |y1l(GLIBC_2.1)[23] | 25373 |----------------------+----------------------------+-------------------------| 25374 |csin(GLIBC_2.1)[23] |llrintl(GLIBC_2.1)[23] |yn(GLIBC_2.1)[24] | 25375 |----------------------+----------------------------+-------------------------| 25376 |csinf(GLIBC_2.1)[23] |llround(GLIBC_2.1)[23] |ynf(GLIBC_2.1)[23] | 25377 |----------------------+----------------------------+-------------------------| 25378 |csinh(GLIBC_2.1)[23] |llroundf(GLIBC_2.1)[23] |ynl(GLIBC_2.1)[23] | 25379 |----------------------+----------------------------+-------------------------| 25380 |csinhf(GLIBC_2.1)[23] |llroundl(GLIBC_2.1)[23] | | 25381 +-----------------------------------------------------------------------------+ 25382 25383 Table A-5. libm Data Interfaces 25384 25385 +----------------+ 25386 |signgam[24] | | | 25387 +----------------+ 25388 ------------------------------------------------------------------------------- 25389 25390 libGL 25391 25392 The behaviour of the interfaces in this library is specified by the following 25393 Standards. 25394 25395 OpenGL® Application Binary Interface for Linux 25396 25397 Table A-6. libGL Function Interfaces 25398 25399 +------------------------------------------------------------------------------+ 25400 |glAccum[48] |glGetString[48] |glRasterPos4iv[48] | 25401 |---------------------------+------------------------+-------------------------| 25402 |glActiveTextureARB[48] |glGetTexEnvfv[48] |glRasterPos4s[48] | 25403 |---------------------------+------------------------+-------------------------| 25404 |glAlphaFunc[48] |glGetTexEnviv[48] |glRasterPos4sv[48] | 25405 |---------------------------+------------------------+-------------------------| 25406 |glAreTexturesResident[48] |glGetTexGendv[48] |glReadBuffer[48] | 25407 |---------------------------+------------------------+-------------------------| 25408 |glArrayElement[48] |glGetTexGenfv[48] |glReadPixels[48] | 25409 |---------------------------+------------------------+-------------------------| 25410 |glBegin[48] |glGetTexGeniv[48] |glRectd[48] | 25411 |---------------------------+------------------------+-------------------------| 25412 |glBindTexture[48] |glGetTexImage[48] |glRectdv[48] | 25413 |---------------------------+------------------------+-------------------------| 25414 |glBitmap[48] |glGetTexLevelParameterfv|glRectf[48] | 25415 | |[48] | | 25416 |---------------------------+------------------------+-------------------------| 25417 |glBlendColor[48] |glGetTexLevelParameteriv|glRectfv[48] | 25418 | |[48] | | 25419 |---------------------------+------------------------+-------------------------| 25420 |glBlendEquation[48] |glGetTexParameterfv[48] |glRecti[48] | 25421 |---------------------------+------------------------+-------------------------| 25422 |glBlendFunc[48] |glGetTexParameteriv[48] |glRectiv[48] | 25423 |---------------------------+------------------------+-------------------------| 25424 |glCallList[48] |glHint[48] |glRects[48] | 25425 |---------------------------+------------------------+-------------------------| 25426 |glCallLists[48] |glHistogram[48] |glRectsv[48] | 25427 |---------------------------+------------------------+-------------------------| 25428 |glClear[48] |glIndexMask[48] |glRenderMode[48] | 25429 |---------------------------+------------------------+-------------------------| 25430 |glClearAccum[48] |glIndexPointer[48] |glResetHistogram[48] | 25431 |---------------------------+------------------------+-------------------------| 25432 |glClearColor[48] |glIndexd[48] |glResetMinmax[48] | 25433 |---------------------------+------------------------+-------------------------| 25434 |glClearDepth[48] |glIndexdv[48] |glRotated[48] | 25435 |---------------------------+------------------------+-------------------------| 25436 |glClearIndex[48] |glIndexf[48] |glRotatef[48] | 25437 |---------------------------+------------------------+-------------------------| 25438 |glClearStencil[48] |glIndexfv[48] |glScaled[48] | 25439 |---------------------------+------------------------+-------------------------| 25440 |glClientActiveTextureARB |glIndexi[48] |glScalef[48] | 25441 |[48] | | | 25442 |---------------------------+------------------------+-------------------------| 25443 |glClipPlane[48] |glIndexiv[48] |glScissor[48] | 25444 |---------------------------+------------------------+-------------------------| 25445 |glColor3b[48] |glIndexs[48] |glSelectBuffer[48] | 25446 |---------------------------+------------------------+-------------------------| 25447 |glColor3bv[48] |glIndexsv[48] |glSeparableFilter2D[48] | 25448 |---------------------------+------------------------+-------------------------| 25449 |glColor3d[48] |glIndexub[48] |glShadeModel[48] | 25450 |---------------------------+------------------------+-------------------------| 25451 |glColor3dv[48] |glIndexubv[48] |glStencilFunc[48] | 25452 |---------------------------+------------------------+-------------------------| 25453 |glColor3f[48] |glInitNames[48] |glStencilMask[48] | 25454 |---------------------------+------------------------+-------------------------| 25455 |glColor3fv[48] |glInterleavedArrays[48] |glStencilOp[48] | 25456 |---------------------------+------------------------+-------------------------| 25457 |glColor3i[48] |glIsEnabled[48] |glTexCoord1d[48] | 25458 |---------------------------+------------------------+-------------------------| 25459 |glColor3iv[48] |glIsList[48] |glTexCoord1dv[48] | 25460 |---------------------------+------------------------+-------------------------| 25461 |glColor3s[48] |glIsTexture[48] |glTexCoord1f[48] | 25462 |---------------------------+------------------------+-------------------------| 25463 |glColor3sv[48] |glLightModelf[48] |glTexCoord1fv[48] | 25464 |---------------------------+------------------------+-------------------------| 25465 |glColor3ub[48] |glLightModelfv[48] |glTexCoord1i[48] | 25466 |---------------------------+------------------------+-------------------------| 25467 |glColor3ubv[48] |glLightModeli[48] |glTexCoord1iv[48] | 25468 |---------------------------+------------------------+-------------------------| 25469 |glColor3ui[48] |glLightModeliv[48] |glTexCoord1s[48] | 25470 |---------------------------+------------------------+-------------------------| 25471 |glColor3uiv[48] |glLightf[48] |glTexCoord1sv[48] | 25472 |---------------------------+------------------------+-------------------------| 25473 |glColor3us[48] |glLightfv[48] |glTexCoord2d[48] | 25474 |---------------------------+------------------------+-------------------------| 25475 |glColor3usv[48] |glLighti[48] |glTexCoord2dv[48] | 25476 |---------------------------+------------------------+-------------------------| 25477 |glColor4b[48] |glLightiv[48] |glTexCoord2f[48] | 25478 |---------------------------+------------------------+-------------------------| 25479 |glColor4bv[48] |glLineStipple[48] |glTexCoord2fv[48] | 25480 |---------------------------+------------------------+-------------------------| 25481 |glColor4d[48] |glLineWidth[48] |glTexCoord2i[48] | 25482 |---------------------------+------------------------+-------------------------| 25483 |glColor4dv[48] |glListBase[48] |glTexCoord2iv[48] | 25484 |---------------------------+------------------------+-------------------------| 25485 |glColor4f[48] |glLoadIdentity[48] |glTexCoord2s[48] | 25486 |---------------------------+------------------------+-------------------------| 25487 |glColor4fv[48] |glLoadMatrixd[48] |glTexCoord2sv[48] | 25488 |---------------------------+------------------------+-------------------------| 25489 |glColor4i