/usr/share/doc/glibc-doc/html/libc_toc.html is in glibc-doc 2.15-0ubuntu10.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
<!-- This file documents the GNU C library.
This is Edition 0.13, last updated 2011-07-19,
of The GNU C Library Reference Manual, for version
2.14 (Ubuntu EGLIBC 2.15-0ubuntu10) .
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software Needs Free Documentation"
and "GNU Lesser General Public License", the Front-Cover texts being
"A GNU Manual", and with the Back-Cover Texts as in (a) below. A
copy of the license is included in the section entitled "GNU Free
Documentation License".
(a) The FSF's Back-Cover Text is: "You have the freedom to
copy and modify this GNU manual. Buying copies from the FSF
supports it in developing GNU and promoting software freedom."
-->
<!-- Created on April 20, 2012 by texi2html 1.82
texi2html was written by:
Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Many creative people.
Send bugs and suggestions to <texi2html-bug@nongnu.org>
-->
<head>
<title>The GNU C Library: Table of Contents</title>
<meta name="description" content="The GNU C Library: Table of Contents">
<meta name="keywords" content="The GNU C Library: Table of Contents">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 1.82">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
pre.display {font-family: serif}
pre.format {font-family: serif}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: serif; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: serif; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.roman {font-family:serif; font-weight:normal;}
span.sansserif {font-family:sans-serif; font-weight:normal;}
ul.toc {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="SEC_Contents"></a>
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libc.html#Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td valign="middle" align="left">[<a href="libc_42.html#Concept-Index" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libc_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<h1>Table of Contents</h1>
<div class="contents">
<ul class="toc">
<li><a name="toc-Introduction-1" href="libc_1.html#Introduction">1. Introduction</a>
<ul class="toc">
<li><a name="toc-Getting-Started-1" href="libc_1.html#Getting-Started">1.1 Getting Started</a></li>
<li><a name="toc-Standards-and-Portability-1" href="libc_1.html#Standards-and-Portability">1.2 Standards and Portability</a>
<ul class="toc">
<li><a name="toc-ISO-C-1" href="libc_1.html#ISO-C">1.2.1 ISO C</a></li>
<li><a name="toc-POSIX-_0028The-Portable-Operating-System-Interface_0029" href="libc_1.html#POSIX">1.2.2 POSIX (The Portable Operating System Interface)</a></li>
<li><a name="toc-Berkeley-Unix-1" href="libc_1.html#Berkeley-Unix">1.2.3 Berkeley Unix</a></li>
<li><a name="toc-SVID-_0028The-System-V-Interface-Description_0029" href="libc_1.html#SVID">1.2.4 SVID (The System V Interface Description)</a></li>
<li><a name="toc-XPG-_0028The-X_002fOpen-Portability-Guide_0029" href="libc_1.html#XPG">1.2.5 XPG (The X/Open Portability Guide)</a></li>
</ul></li>
<li><a name="toc-Using-the-Library-1" href="libc_1.html#Using-the-Library">1.3 Using the Library</a>
<ul class="toc">
<li><a name="toc-Header-Files-1" href="libc_1.html#Header-Files">1.3.1 Header Files</a></li>
<li><a name="toc-Macro-Definitions-of-Functions" href="libc_1.html#Macro-Definitions">1.3.2 Macro Definitions of Functions</a></li>
<li><a name="toc-Reserved-Names-1" href="libc_1.html#Reserved-Names">1.3.3 Reserved Names</a></li>
<li><a name="toc-Feature-Test-Macros-1" href="libc_1.html#Feature-Test-Macros">1.3.4 Feature Test Macros</a></li>
</ul></li>
<li><a name="toc-Roadmap-to-the-Manual-1" href="libc_1.html#Roadmap-to-the-Manual">1.4 Roadmap to the Manual</a></li>
</ul></li>
<li><a name="toc-Error-Reporting-1" href="libc_2.html#Error-Reporting">2. Error Reporting</a>
<ul class="toc">
<li><a name="toc-Checking-for-Errors-1" href="libc_2.html#Checking-for-Errors">2.1 Checking for Errors</a></li>
<li><a name="toc-Error-Codes-1" href="libc_2.html#Error-Codes">2.2 Error Codes</a></li>
<li><a name="toc-Error-Messages-1" href="libc_2.html#Error-Messages">2.3 Error Messages</a></li>
</ul></li>
<li><a name="toc-Virtual-Memory-Allocation-And-Paging" href="libc_3.html#Memory">3. Virtual Memory Allocation And Paging</a>
<ul class="toc">
<li><a name="toc-Process-Memory-Concepts" href="libc_3.html#Memory-Concepts">3.1 Process Memory Concepts</a></li>
<li><a name="toc-Allocating-Storage-For-Program-Data" href="libc_3.html#Memory-Allocation">3.2 Allocating Storage For Program Data</a>
<ul class="toc">
<li><a name="toc-Memory-Allocation-in-C-Programs" href="libc_3.html#Memory-Allocation-and-C">3.2.1 Memory Allocation in C Programs</a>
<ul class="toc">
<li><a name="toc-Dynamic-Memory-Allocation" href="libc_3.html#Dynamic-Memory-Allocation">3.2.1.1 Dynamic Memory Allocation</a></li>
</ul></li>
<li><a name="toc-Unconstrained-Allocation-1" href="libc_3.html#Unconstrained-Allocation">3.2.2 Unconstrained Allocation</a>
<ul class="toc">
<li><a name="toc-Basic-Memory-Allocation" href="libc_3.html#Basic-Allocation">3.2.2.1 Basic Memory Allocation</a></li>
<li><a name="toc-Examples-of-malloc" href="libc_3.html#Malloc-Examples">3.2.2.2 Examples of <code>malloc</code></a></li>
<li><a name="toc-Freeing-Memory-Allocated-with-malloc" href="libc_3.html#Freeing-after-Malloc">3.2.2.3 Freeing Memory Allocated with <code>malloc</code></a></li>
<li><a name="toc-Changing-the-Size-of-a-Block" href="libc_3.html#Changing-Block-Size">3.2.2.4 Changing the Size of a Block</a></li>
<li><a name="toc-Allocating-Cleared-Space-1" href="libc_3.html#Allocating-Cleared-Space">3.2.2.5 Allocating Cleared Space</a></li>
<li><a name="toc-Efficiency-Considerations-for-malloc" href="libc_3.html#Efficiency-and-Malloc">3.2.2.6 Efficiency Considerations for <code>malloc</code></a></li>
<li><a name="toc-Allocating-Aligned-Memory-Blocks" href="libc_3.html#Aligned-Memory-Blocks">3.2.2.7 Allocating Aligned Memory Blocks</a></li>
<li><a name="toc-Malloc-Tunable-Parameters-1" href="libc_3.html#Malloc-Tunable-Parameters">3.2.2.8 Malloc Tunable Parameters</a></li>
<li><a name="toc-Heap-Consistency-Checking-1" href="libc_3.html#Heap-Consistency-Checking">3.2.2.9 Heap Consistency Checking</a></li>
<li><a name="toc-Memory-Allocation-Hooks" href="libc_3.html#Hooks-for-Malloc">3.2.2.10 Memory Allocation Hooks</a></li>
<li><a name="toc-Statistics-for-Memory-Allocation-with-malloc" href="libc_3.html#Statistics-of-Malloc">3.2.2.11 Statistics for Memory Allocation with <code>malloc</code></a></li>
<li><a name="toc-Summary-of-malloc_002dRelated-Functions" href="libc_3.html#Summary-of-Malloc">3.2.2.12 Summary of <code>malloc</code>-Related Functions</a></li>
</ul></li>
<li><a name="toc-Allocation-Debugging-1" href="libc_3.html#Allocation-Debugging">3.2.3 Allocation Debugging</a>
<ul class="toc">
<li><a name="toc-How-to-install-the-tracing-functionality" href="libc_3.html#Tracing-malloc">3.2.3.1 How to install the tracing functionality</a></li>
<li><a name="toc-Example-program-excerpts" href="libc_3.html#Using-the-Memory-Debugger">3.2.3.2 Example program excerpts</a></li>
<li><a name="toc-Some-more-or-less-clever-ideas" href="libc_3.html#Tips-for-the-Memory-Debugger">3.2.3.3 Some more or less clever ideas</a></li>
<li><a name="toc-Interpreting-the-traces-1" href="libc_3.html#Interpreting-the-traces">3.2.3.4 Interpreting the traces</a></li>
</ul></li>
<li><a name="toc-Obstacks-1" href="libc_3.html#Obstacks">3.2.4 Obstacks</a>
<ul class="toc">
<li><a name="toc-Creating-Obstacks-1" href="libc_3.html#Creating-Obstacks">3.2.4.1 Creating Obstacks</a></li>
<li><a name="toc-Preparing-for-Using-Obstacks" href="libc_3.html#Preparing-for-Obstacks">3.2.4.2 Preparing for Using Obstacks</a></li>
<li><a name="toc-Allocation-in-an-Obstack-1" href="libc_3.html#Allocation-in-an-Obstack">3.2.4.3 Allocation in an Obstack</a></li>
<li><a name="toc-Freeing-Objects-in-an-Obstack" href="libc_3.html#Freeing-Obstack-Objects">3.2.4.4 Freeing Objects in an Obstack</a></li>
<li><a name="toc-Obstack-Functions-and-Macros" href="libc_3.html#Obstack-Functions">3.2.4.5 Obstack Functions and Macros</a></li>
<li><a name="toc-Growing-Objects-1" href="libc_3.html#Growing-Objects">3.2.4.6 Growing Objects</a></li>
<li><a name="toc-Extra-Fast-Growing-Objects" href="libc_3.html#Extra-Fast-Growing">3.2.4.7 Extra Fast Growing Objects</a></li>
<li><a name="toc-Status-of-an-Obstack-1" href="libc_3.html#Status-of-an-Obstack">3.2.4.8 Status of an Obstack</a></li>
<li><a name="toc-Alignment-of-Data-in-Obstacks" href="libc_3.html#Obstacks-Data-Alignment">3.2.4.9 Alignment of Data in Obstacks</a></li>
<li><a name="toc-Obstack-Chunks-1" href="libc_3.html#Obstack-Chunks">3.2.4.10 Obstack Chunks</a></li>
<li><a name="toc-Summary-of-Obstack-Functions" href="libc_3.html#Summary-of-Obstacks">3.2.4.11 Summary of Obstack Functions</a></li>
</ul></li>
<li><a name="toc-Automatic-Storage-with-Variable-Size" href="libc_3.html#Variable-Size-Automatic">3.2.5 Automatic Storage with Variable Size</a>
<ul class="toc">
<li><a name="toc-alloca-Example" href="libc_3.html#Alloca-Example">3.2.5.1 <code>alloca</code> Example</a></li>
<li><a name="toc-Advantages-of-alloca" href="libc_3.html#Advantages-of-Alloca">3.2.5.2 Advantages of <code>alloca</code></a></li>
<li><a name="toc-Disadvantages-of-alloca" href="libc_3.html#Disadvantages-of-Alloca">3.2.5.3 Disadvantages of <code>alloca</code></a></li>
<li><a name="toc-GNU-C-Variable_002dSize-Arrays-1" href="libc_3.html#GNU-C-Variable_002dSize-Arrays">3.2.5.4 GNU C Variable-Size Arrays</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Resizing-the-Data-Segment-1" href="libc_3.html#Resizing-the-Data-Segment">3.3 Resizing the Data Segment</a></li>
<li><a name="toc-Locking-Pages-1" href="libc_3.html#Locking-Pages">3.4 Locking Pages</a>
<ul class="toc">
<li><a name="toc-Why-Lock-Pages-1" href="libc_3.html#Why-Lock-Pages">3.4.1 Why Lock Pages</a></li>
<li><a name="toc-Locked-Memory-Details-1" href="libc_3.html#Locked-Memory-Details">3.4.2 Locked Memory Details</a></li>
<li><a name="toc-Functions-To-Lock-And-Unlock-Pages" href="libc_3.html#Page-Lock-Functions">3.4.3 Functions To Lock And Unlock Pages</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Character-Handling-1" href="libc_4.html#Character-Handling">4. Character Handling</a>
<ul class="toc">
<li><a name="toc-Classification-of-Characters-1" href="libc_4.html#Classification-of-Characters">4.1 Classification of Characters</a></li>
<li><a name="toc-Case-Conversion-1" href="libc_4.html#Case-Conversion">4.2 Case Conversion</a></li>
<li><a name="toc-Character-class-determination-for-wide-characters" href="libc_4.html#Classification-of-Wide-Characters">4.3 Character class determination for wide characters</a></li>
<li><a name="toc-Notes-on-using-the-wide-character-classes" href="libc_4.html#Using-Wide-Char-Classes">4.4 Notes on using the wide character classes</a></li>
<li><a name="toc-Mapping-of-wide-characters_002e" href="libc_4.html#Wide-Character-Case-Conversion">4.5 Mapping of wide characters.</a></li>
</ul></li>
<li><a name="toc-String-and-Array-Utilities-1" href="libc_5.html#String-and-Array-Utilities">5. String and Array Utilities</a>
<ul class="toc">
<li><a name="toc-Representation-of-Strings-1" href="libc_5.html#Representation-of-Strings">5.1 Representation of Strings</a></li>
<li><a name="toc-String-and-Array-Conventions" href="libc_5.html#String_002fArray-Conventions">5.2 String and Array Conventions</a></li>
<li><a name="toc-String-Length-1" href="libc_5.html#String-Length">5.3 String Length</a></li>
<li><a name="toc-Copying-and-Concatenation-1" href="libc_5.html#Copying-and-Concatenation">5.4 Copying and Concatenation</a></li>
<li><a name="toc-String_002fArray-Comparison-1" href="libc_5.html#String_002fArray-Comparison">5.5 String/Array Comparison</a></li>
<li><a name="toc-Collation-Functions-1" href="libc_5.html#Collation-Functions">5.6 Collation Functions</a></li>
<li><a name="toc-Search-Functions-1" href="libc_5.html#Search-Functions">5.7 Search Functions</a>
<ul class="toc">
<li><a name="toc-Compatibility-String-Search-Functions" href="libc_5.html#Compatibility-String-Search-Functions">5.7.1 Compatibility String Search Functions</a></li>
</ul></li>
<li><a name="toc-Finding-Tokens-in-a-String-1" href="libc_5.html#Finding-Tokens-in-a-String">5.8 Finding Tokens in a String</a></li>
<li><a name="toc-strfry-1" href="libc_5.html#strfry">5.9 strfry</a></li>
<li><a name="toc-Trivial-Encryption-1" href="libc_5.html#Trivial-Encryption">5.10 Trivial Encryption</a></li>
<li><a name="toc-Encode-Binary-Data-1" href="libc_5.html#Encode-Binary-Data">5.11 Encode Binary Data</a></li>
<li><a name="toc-Argz-and-Envz-Vectors-1" href="libc_5.html#Argz-and-Envz-Vectors">5.12 Argz and Envz Vectors</a>
<ul class="toc">
<li><a name="toc-Argz-Functions-1" href="libc_5.html#Argz-Functions">5.12.1 Argz Functions</a></li>
<li><a name="toc-Envz-Functions-1" href="libc_5.html#Envz-Functions">5.12.2 Envz Functions</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Character-Set-Handling-1" href="libc_6.html#Character-Set-Handling">6. Character Set Handling</a>
<ul class="toc">
<li><a name="toc-Introduction-to-Extended-Characters" href="libc_6.html#Extended-Char-Intro">6.1 Introduction to Extended Characters</a></li>
<li><a name="toc-Overview-about-Character-Handling-Functions" href="libc_6.html#Charset-Function-Overview">6.2 Overview about Character Handling Functions</a></li>
<li><a name="toc-Restartable-Multibyte-Conversion-Functions" href="libc_6.html#Restartable-multibyte-conversion">6.3 Restartable Multibyte Conversion Functions</a>
<ul class="toc">
<li><a name="toc-Selecting-the-conversion-and-its-properties" href="libc_6.html#Selecting-the-Conversion">6.3.1 Selecting the conversion and its properties</a></li>
<li><a name="toc-Representing-the-state-of-the-conversion" href="libc_6.html#Keeping-the-state">6.3.2 Representing the state of the conversion</a></li>
<li><a name="toc-Converting-Single-Characters" href="libc_6.html#Converting-a-Character">6.3.3 Converting Single Characters</a></li>
<li><a name="toc-Converting-Multibyte-and-Wide-Character-Strings" href="libc_6.html#Converting-Strings">6.3.4 Converting Multibyte and Wide Character Strings</a></li>
<li><a name="toc-A-Complete-Multibyte-Conversion-Example" href="libc_6.html#Multibyte-Conversion-Example">6.3.5 A Complete Multibyte Conversion Example</a></li>
</ul></li>
<li><a name="toc-Non_002dreentrant-Conversion-Function" href="libc_6.html#Non_002dreentrant-Conversion">6.4 Non-reentrant Conversion Function</a>
<ul class="toc">
<li><a name="toc-Non_002dreentrant-Conversion-of-Single-Characters" href="libc_6.html#Non_002dreentrant-Character-Conversion">6.4.1 Non-reentrant Conversion of Single Characters</a></li>
<li><a name="toc-Non_002dreentrant-Conversion-of-Strings" href="libc_6.html#Non_002dreentrant-String-Conversion">6.4.2 Non-reentrant Conversion of Strings</a></li>
<li><a name="toc-States-in-Non_002dreentrant-Functions" href="libc_6.html#Shift-State">6.4.3 States in Non-reentrant Functions</a></li>
</ul></li>
<li><a name="toc-Generic-Charset-Conversion-1" href="libc_6.html#Generic-Charset-Conversion">6.5 Generic Charset Conversion</a>
<ul class="toc">
<li><a name="toc-Generic-Character-Set-Conversion-Interface" href="libc_6.html#Generic-Conversion-Interface">6.5.1 Generic Character Set Conversion Interface</a></li>
<li><a name="toc-A-complete-iconv-example" href="libc_6.html#iconv-Examples">6.5.2 A complete <code>iconv</code> example</a></li>
<li><a name="toc-Some-Details-about-other-iconv-Implementations" href="libc_6.html#Other-iconv-Implementations">6.5.3 Some Details about other <code>iconv</code> Implementations</a></li>
<li><a name="toc-The-iconv-Implementation-in-the-GNU-C-library" href="libc_6.html#glibc-iconv-Implementation">6.5.4 The <code>iconv</code> Implementation in the GNU C library</a>
<ul class="toc">
<li><a name="toc-Format-of-gconv_002dmodules-files" href="libc_6.html#Format-of-gconv_002dmodules-files">6.5.4.1 Format of ‘<tt>gconv-modules</tt>’ files</a></li>
<li><a name="toc-Finding-the-conversion-path-in-iconv" href="libc_6.html#Finding-the-conversion-path-in-iconv">6.5.4.2 Finding the conversion path in <code>iconv</code></a></li>
<li><a name="toc-iconv-module-data-structures" href="libc_6.html#iconv-module-data-structures">6.5.4.3 <code>iconv</code> module data structures</a></li>
<li><a name="toc-iconv-module-interfaces" href="libc_6.html#iconv-module-interfaces">6.5.4.4 <code>iconv</code> module interfaces</a></li>
</ul>
</li>
</ul>
</li>
</ul></li>
<li><a name="toc-Locales-and-Internationalization" href="libc_7.html#Locales">7. Locales and Internationalization</a>
<ul class="toc">
<li><a name="toc-What-Effects-a-Locale-Has" href="libc_7.html#Effects-of-Locale">7.1 What Effects a Locale Has</a></li>
<li><a name="toc-Choosing-a-Locale" href="libc_7.html#Choosing-Locale">7.2 Choosing a Locale</a></li>
<li><a name="toc-Categories-of-Activities-that-Locales-Affect" href="libc_7.html#Locale-Categories">7.3 Categories of Activities that Locales Affect</a></li>
<li><a name="toc-How-Programs-Set-the-Locale" href="libc_7.html#Setting-the-Locale">7.4 How Programs Set the Locale</a></li>
<li><a name="toc-Standard-Locales-1" href="libc_7.html#Standard-Locales">7.5 Standard Locales</a></li>
<li><a name="toc-Accessing-Locale-Information" href="libc_7.html#Locale-Information">7.6 Accessing Locale Information</a>
<ul class="toc">
<li><a name="toc-localeconv_003a-It-is-portable-but-_2026" href="libc_7.html#The-Lame-Way-to-Locale-Data">7.6.1 <code>localeconv</code>: It is portable but …</a>
<ul class="toc">
<li><a name="toc-Generic-Numeric-Formatting-Parameters" href="libc_7.html#General-Numeric">7.6.1.1 Generic Numeric Formatting Parameters</a></li>
<li><a name="toc-Printing-the-Currency-Symbol" href="libc_7.html#Currency-Symbol">7.6.1.2 Printing the Currency Symbol</a></li>
<li><a name="toc-Printing-the-Sign-of-a-Monetary-Amount" href="libc_7.html#Sign-of-Money-Amount">7.6.1.3 Printing the Sign of a Monetary Amount</a></li>
</ul></li>
<li><a name="toc-Pinpoint-Access-to-Locale-Data" href="libc_7.html#The-Elegant-and-Fast-Way">7.6.2 Pinpoint Access to Locale Data</a></li>
</ul></li>
<li><a name="toc-A-dedicated-function-to-format-numbers" href="libc_7.html#Formatting-Numbers">7.7 A dedicated function to format numbers</a></li>
<li><a name="toc-Yes_002dor_002dNo-Questions-1" href="libc_7.html#Yes_002dor_002dNo-Questions">7.8 Yes-or-No Questions</a></li>
</ul></li>
<li><a name="toc-Message-Translation-1" href="libc_8.html#Message-Translation">8. Message Translation</a>
<ul class="toc">
<li><a name="toc-X_002fOpen-Message-Catalog-Handling" href="libc_8.html#Message-catalogs-a-la-X_002fOpen">8.1 X/Open Message Catalog Handling</a>
<ul class="toc">
<li><a name="toc-The-catgets-function-family" href="libc_8.html#The-catgets-Functions">8.1.1 The <code>catgets</code> function family</a></li>
<li><a name="toc-Format-of-the-message-catalog-files" href="libc_8.html#The-message-catalog-files">8.1.2 Format of the message catalog files</a></li>
<li><a name="toc-Generate-Message-Catalogs-files" href="libc_8.html#The-gencat-program">8.1.3 Generate Message Catalogs files</a></li>
<li><a name="toc-How-to-use-the-catgets-interface" href="libc_8.html#Common-Usage">8.1.4 How to use the <code>catgets</code> interface</a>
<ul class="toc">
<li><a name="toc-Not-using-symbolic-names" href="libc_8.html#Not-using-symbolic-names">8.1.4.1 Not using symbolic names</a></li>
<li><a name="toc-Using-symbolic-names" href="libc_8.html#Using-symbolic-names">8.1.4.2 Using symbolic names</a></li>
<li><a name="toc-How-does-to-this-allow-to-develop" href="libc_8.html#How-does-to-this-allow-to-develop">8.1.4.3 How does to this allow to develop</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-The-Uniforum-approach-to-Message-Translation" href="libc_8.html#The-Uniforum-approach">8.2 The Uniforum approach to Message Translation</a>
<ul class="toc">
<li><a name="toc-The-gettext-family-of-functions" href="libc_8.html#Message-catalogs-with-gettext">8.2.1 The <code>gettext</code> family of functions</a>
<ul class="toc">
<li><a name="toc-What-has-to-be-done-to-translate-a-message_003f" href="libc_8.html#Translation-with-gettext">8.2.1.1 What has to be done to translate a message?</a></li>
<li><a name="toc-How-to-determine-which-catalog-to-be-used" href="libc_8.html#Locating-gettext-catalog">8.2.1.2 How to determine which catalog to be used</a></li>
<li><a name="toc-Additional-functions-for-more-complicated-situations" href="libc_8.html#Advanced-gettext-functions">8.2.1.3 Additional functions for more complicated situations</a></li>
<li><a name="toc-How-to-specify-the-output-character-set-gettext-uses" href="libc_8.html#Charset-conversion-in-gettext">8.2.1.4 How to specify the output character set <code>gettext</code> uses</a></li>
<li><a name="toc-How-to-use-gettext-in-GUI-programs" href="libc_8.html#GUI-program-problems">8.2.1.5 How to use <code>gettext</code> in GUI programs</a></li>
<li><a name="toc-User-influence-on-gettext" href="libc_8.html#Using-gettextized-software">8.2.1.6 User influence on <code>gettext</code></a></li>
</ul></li>
<li><a name="toc-Programs-to-handle-message-catalogs-for-gettext" href="libc_8.html#Helper-programs-for-gettext">8.2.2 Programs to handle message catalogs for <code>gettext</code></a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Searching-and-Sorting-1" href="libc_9.html#Searching-and-Sorting">9. Searching and Sorting</a>
<ul class="toc">
<li><a name="toc-Defining-the-Comparison-Function" href="libc_9.html#Comparison-Functions">9.1 Defining the Comparison Function</a></li>
<li><a name="toc-Array-Search-Function-1" href="libc_9.html#Array-Search-Function">9.2 Array Search Function</a></li>
<li><a name="toc-Array-Sort-Function-1" href="libc_9.html#Array-Sort-Function">9.3 Array Sort Function</a></li>
<li><a name="toc-Searching-and-Sorting-Example" href="libc_9.html#Search_002fSort-Example">9.4 Searching and Sorting Example</a></li>
<li><a name="toc-The-hsearch-function_002e" href="libc_9.html#Hash-Search-Function">9.5 The <code>hsearch</code> function.</a></li>
<li><a name="toc-The-tsearch-function_002e" href="libc_9.html#Tree-Search-Function">9.6 The <code>tsearch</code> function.</a></li>
</ul></li>
<li><a name="toc-Pattern-Matching-1" href="libc_10.html#Pattern-Matching">10. Pattern Matching</a>
<ul class="toc">
<li><a name="toc-Wildcard-Matching-1" href="libc_10.html#Wildcard-Matching">10.1 Wildcard Matching</a></li>
<li><a name="toc-Globbing-1" href="libc_10.html#Globbing">10.2 Globbing</a>
<ul class="toc">
<li><a name="toc-Calling-glob" href="libc_10.html#Calling-Glob">10.2.1 Calling <code>glob</code></a></li>
<li><a name="toc-Flags-for-Globbing-1" href="libc_10.html#Flags-for-Globbing">10.2.2 Flags for Globbing</a></li>
<li><a name="toc-More-Flags-for-Globbing-1" href="libc_10.html#More-Flags-for-Globbing">10.2.3 More Flags for Globbing</a></li>
</ul></li>
<li><a name="toc-Regular-Expression-Matching" href="libc_10.html#Regular-Expressions">10.3 Regular Expression Matching</a>
<ul class="toc">
<li><a name="toc-POSIX-Regular-Expression-Compilation" href="libc_10.html#POSIX-Regexp-Compilation">10.3.1 POSIX Regular Expression Compilation</a></li>
<li><a name="toc-Flags-for-POSIX-Regular-Expressions" href="libc_10.html#Flags-for-POSIX-Regexps">10.3.2 Flags for POSIX Regular Expressions</a></li>
<li><a name="toc-Matching-a-Compiled-POSIX-Regular-Expression" href="libc_10.html#Matching-POSIX-Regexps">10.3.3 Matching a Compiled POSIX Regular Expression</a></li>
<li><a name="toc-Match-Results-with-Subexpressions" href="libc_10.html#Regexp-Subexpressions">10.3.4 Match Results with Subexpressions</a></li>
<li><a name="toc-Complications-in-Subexpression-Matching" href="libc_10.html#Subexpression-Complications">10.3.5 Complications in Subexpression Matching</a></li>
<li><a name="toc-POSIX-Regexp-Matching-Cleanup" href="libc_10.html#Regexp-Cleanup">10.3.6 POSIX Regexp Matching Cleanup</a></li>
</ul></li>
<li><a name="toc-Shell_002dStyle-Word-Expansion" href="libc_10.html#Word-Expansion">10.4 Shell-Style Word Expansion</a>
<ul class="toc">
<li><a name="toc-The-Stages-of-Word-Expansion" href="libc_10.html#Expansion-Stages">10.4.1 The Stages of Word Expansion</a></li>
<li><a name="toc-Calling-wordexp" href="libc_10.html#Calling-Wordexp">10.4.2 Calling <code>wordexp</code></a></li>
<li><a name="toc-Flags-for-Word-Expansion" href="libc_10.html#Flags-for-Wordexp">10.4.3 Flags for Word Expansion</a></li>
<li><a name="toc-wordexp-Example" href="libc_10.html#Wordexp-Example">10.4.4 <code>wordexp</code> Example</a></li>
<li><a name="toc-Details-of-Tilde-Expansion" href="libc_10.html#Tilde-Expansion">10.4.5 Details of Tilde Expansion</a></li>
<li><a name="toc-Details-of-Variable-Substitution" href="libc_10.html#Variable-Substitution">10.4.6 Details of Variable Substitution</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Input_002fOutput-Overview" href="libc_11.html#I_002fO-Overview">11. Input/Output Overview</a>
<ul class="toc">
<li><a name="toc-Input_002fOutput-Concepts" href="libc_11.html#I_002fO-Concepts">11.1 Input/Output Concepts</a>
<ul class="toc">
<li><a name="toc-Streams-and-File-Descriptors-1" href="libc_11.html#Streams-and-File-Descriptors">11.1.1 Streams and File Descriptors</a></li>
<li><a name="toc-File-Position-1" href="libc_11.html#File-Position">11.1.2 File Position</a></li>
</ul></li>
<li><a name="toc-File-Names-1" href="libc_11.html#File-Names">11.2 File Names</a>
<ul class="toc">
<li><a name="toc-Directories-1" href="libc_11.html#Directories">11.2.1 Directories</a></li>
<li><a name="toc-File-Name-Resolution-1" href="libc_11.html#File-Name-Resolution">11.2.2 File Name Resolution</a></li>
<li><a name="toc-File-Name-Errors-1" href="libc_11.html#File-Name-Errors">11.2.3 File Name Errors</a></li>
<li><a name="toc-Portability-of-File-Names" href="libc_11.html#File-Name-Portability">11.2.4 Portability of File Names</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Input_002fOutput-on-Streams" href="libc_12.html#I_002fO-on-Streams">12. Input/Output on Streams</a>
<ul class="toc">
<li><a name="toc-Streams-1" href="libc_12.html#Streams">12.1 Streams</a></li>
<li><a name="toc-Standard-Streams-1" href="libc_12.html#Standard-Streams">12.2 Standard Streams</a></li>
<li><a name="toc-Opening-Streams-1" href="libc_12.html#Opening-Streams">12.3 Opening Streams</a></li>
<li><a name="toc-Closing-Streams-1" href="libc_12.html#Closing-Streams">12.4 Closing Streams</a></li>
<li><a name="toc-Streams-and-Threads-1" href="libc_12.html#Streams-and-Threads">12.5 Streams and Threads</a></li>
<li><a name="toc-Streams-in-Internationalized-Applications" href="libc_12.html#Streams-and-I18N">12.6 Streams in Internationalized Applications</a></li>
<li><a name="toc-Simple-Output-by-Characters-or-Lines" href="libc_12.html#Simple-Output">12.7 Simple Output by Characters or Lines</a></li>
<li><a name="toc-Character-Input-1" href="libc_12.html#Character-Input">12.8 Character Input</a></li>
<li><a name="toc-Line_002dOriented-Input" href="libc_12.html#Line-Input">12.9 Line-Oriented Input</a></li>
<li><a name="toc-Unreading-1" href="libc_12.html#Unreading">12.10 Unreading</a>
<ul class="toc">
<li><a name="toc-What-Unreading-Means" href="libc_12.html#Unreading-Idea">12.10.1 What Unreading Means</a></li>
<li><a name="toc-Using-ungetc-To-Do-Unreading" href="libc_12.html#How-Unread">12.10.2 Using <code>ungetc</code> To Do Unreading</a></li>
</ul></li>
<li><a name="toc-Block-Input_002fOutput-1" href="libc_12.html#Block-Input_002fOutput">12.11 Block Input/Output</a></li>
<li><a name="toc-Formatted-Output-1" href="libc_12.html#Formatted-Output">12.12 Formatted Output</a>
<ul class="toc">
<li><a name="toc-Formatted-Output-Basics-1" href="libc_12.html#Formatted-Output-Basics">12.12.1 Formatted Output Basics</a></li>
<li><a name="toc-Output-Conversion-Syntax-1" href="libc_12.html#Output-Conversion-Syntax">12.12.2 Output Conversion Syntax</a></li>
<li><a name="toc-Table-of-Output-Conversions-1" href="libc_12.html#Table-of-Output-Conversions">12.12.3 Table of Output Conversions</a></li>
<li><a name="toc-Integer-Conversions-1" href="libc_12.html#Integer-Conversions">12.12.4 Integer Conversions</a></li>
<li><a name="toc-Floating_002dPoint-Conversions-1" href="libc_12.html#Floating_002dPoint-Conversions">12.12.5 Floating-Point Conversions</a></li>
<li><a name="toc-Other-Output-Conversions-1" href="libc_12.html#Other-Output-Conversions">12.12.6 Other Output Conversions</a></li>
<li><a name="toc-Formatted-Output-Functions-1" href="libc_12.html#Formatted-Output-Functions">12.12.7 Formatted Output Functions</a></li>
<li><a name="toc-Dynamically-Allocating-Formatted-Output" href="libc_12.html#Dynamic-Output">12.12.8 Dynamically Allocating Formatted Output</a></li>
<li><a name="toc-Variable-Arguments-Output-Functions" href="libc_12.html#Variable-Arguments-Output">12.12.9 Variable Arguments Output Functions</a></li>
<li><a name="toc-Parsing-a-Template-String-1" href="libc_12.html#Parsing-a-Template-String">12.12.10 Parsing a Template String</a></li>
<li><a name="toc-Example-of-Parsing-a-Template-String" href="libc_12.html#Example-of-Parsing">12.12.11 Example of Parsing a Template String</a></li>
</ul></li>
<li><a name="toc-Customizing-printf" href="libc_12.html#Customizing-Printf">12.13 Customizing <code>printf</code></a>
<ul class="toc">
<li><a name="toc-Registering-New-Conversions-1" href="libc_12.html#Registering-New-Conversions">12.13.1 Registering New Conversions</a></li>
<li><a name="toc-Conversion-Specifier-Options-1" href="libc_12.html#Conversion-Specifier-Options">12.13.2 Conversion Specifier Options</a></li>
<li><a name="toc-Defining-the-Output-Handler-1" href="libc_12.html#Defining-the-Output-Handler">12.13.3 Defining the Output Handler</a></li>
<li><a name="toc-printf-Extension-Example" href="libc_12.html#Printf-Extension-Example">12.13.4 <code>printf</code> Extension Example</a></li>
<li><a name="toc-Predefined-printf-Handlers" href="libc_12.html#Predefined-Printf-Handlers">12.13.5 Predefined <code>printf</code> Handlers</a></li>
</ul></li>
<li><a name="toc-Formatted-Input-1" href="libc_12.html#Formatted-Input">12.14 Formatted Input</a>
<ul class="toc">
<li><a name="toc-Formatted-Input-Basics-1" href="libc_12.html#Formatted-Input-Basics">12.14.1 Formatted Input Basics</a></li>
<li><a name="toc-Input-Conversion-Syntax-1" href="libc_12.html#Input-Conversion-Syntax">12.14.2 Input Conversion Syntax</a></li>
<li><a name="toc-Table-of-Input-Conversions-1" href="libc_12.html#Table-of-Input-Conversions">12.14.3 Table of Input Conversions</a></li>
<li><a name="toc-Numeric-Input-Conversions-1" href="libc_12.html#Numeric-Input-Conversions">12.14.4 Numeric Input Conversions</a></li>
<li><a name="toc-String-Input-Conversions-1" href="libc_12.html#String-Input-Conversions">12.14.5 String Input Conversions</a></li>
<li><a name="toc-Dynamically-Allocating-String-Conversions" href="libc_12.html#Dynamic-String-Input">12.14.6 Dynamically Allocating String Conversions</a></li>
<li><a name="toc-Other-Input-Conversions-1" href="libc_12.html#Other-Input-Conversions">12.14.7 Other Input Conversions</a></li>
<li><a name="toc-Formatted-Input-Functions-1" href="libc_12.html#Formatted-Input-Functions">12.14.8 Formatted Input Functions</a></li>
<li><a name="toc-Variable-Arguments-Input-Functions" href="libc_12.html#Variable-Arguments-Input">12.14.9 Variable Arguments Input Functions</a></li>
</ul></li>
<li><a name="toc-End_002dOf_002dFile-and-Errors" href="libc_12.html#EOF-and-Errors">12.15 End-Of-File and Errors</a></li>
<li><a name="toc-Recovering-from-errors" href="libc_12.html#Error-Recovery">12.16 Recovering from errors</a></li>
<li><a name="toc-Text-and-Binary-Streams" href="libc_12.html#Binary-Streams">12.17 Text and Binary Streams</a></li>
<li><a name="toc-File-Positioning-1" href="libc_12.html#File-Positioning">12.18 File Positioning</a></li>
<li><a name="toc-Portable-File_002dPosition-Functions" href="libc_12.html#Portable-Positioning">12.19 Portable File-Position Functions</a></li>
<li><a name="toc-Stream-Buffering-1" href="libc_12.html#Stream-Buffering">12.20 Stream Buffering</a>
<ul class="toc">
<li><a name="toc-Buffering-Concepts-1" href="libc_12.html#Buffering-Concepts">12.20.1 Buffering Concepts</a></li>
<li><a name="toc-Flushing-Buffers-1" href="libc_12.html#Flushing-Buffers">12.20.2 Flushing Buffers</a></li>
<li><a name="toc-Controlling-Which-Kind-of-Buffering" href="libc_12.html#Controlling-Buffering">12.20.3 Controlling Which Kind of Buffering</a></li>
</ul></li>
<li><a name="toc-Other-Kinds-of-Streams-1" href="libc_12.html#Other-Kinds-of-Streams">12.21 Other Kinds of Streams</a>
<ul class="toc">
<li><a name="toc-String-Streams-1" href="libc_12.html#String-Streams">12.21.1 String Streams</a></li>
<li><a name="toc-Programming-Your-Own-Custom-Streams" href="libc_12.html#Custom-Streams">12.21.2 Programming Your Own Custom Streams</a>
<ul class="toc">
<li><a name="toc-Custom-Streams-and-Cookies" href="libc_12.html#Streams-and-Cookies">12.21.2.1 Custom Streams and Cookies</a></li>
<li><a name="toc-Custom-Stream-Hook-Functions" href="libc_12.html#Hook-Functions">12.21.2.2 Custom Stream Hook Functions</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Formatted-Messages-1" href="libc_12.html#Formatted-Messages">12.22 Formatted Messages</a>
<ul class="toc">
<li><a name="toc-Printing-Formatted-Messages-1" href="libc_12.html#Printing-Formatted-Messages">12.22.1 Printing Formatted Messages</a></li>
<li><a name="toc-Adding-Severity-Classes-1" href="libc_12.html#Adding-Severity-Classes">12.22.2 Adding Severity Classes</a></li>
<li><a name="toc-How-to-use-fmtmsg-and-addseverity" href="libc_12.html#Example">12.22.3 How to use <code>fmtmsg</code> and <code>addseverity</code></a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Low_002dLevel-Input_002fOutput" href="libc_13.html#Low_002dLevel-I_002fO">13. Low-Level Input/Output</a>
<ul class="toc">
<li><a name="toc-Opening-and-Closing-Files-1" href="libc_13.html#Opening-and-Closing-Files">13.1 Opening and Closing Files</a></li>
<li><a name="toc-Input-and-Output-Primitives" href="libc_13.html#I_002fO-Primitives">13.2 Input and Output Primitives</a></li>
<li><a name="toc-Setting-the-File-Position-of-a-Descriptor" href="libc_13.html#File-Position-Primitive">13.3 Setting the File Position of a Descriptor</a></li>
<li><a name="toc-Descriptors-and-Streams-1" href="libc_13.html#Descriptors-and-Streams">13.4 Descriptors and Streams</a></li>
<li><a name="toc-Dangers-of-Mixing-Streams-and-Descriptors" href="libc_13.html#Stream_002fDescriptor-Precautions">13.5 Dangers of Mixing Streams and Descriptors</a>
<ul class="toc">
<li><a name="toc-Linked-Channels-1" href="libc_13.html#Linked-Channels">13.5.1 Linked Channels</a></li>
<li><a name="toc-Independent-Channels-1" href="libc_13.html#Independent-Channels">13.5.2 Independent Channels</a></li>
<li><a name="toc-Cleaning-Streams-1" href="libc_13.html#Cleaning-Streams">13.5.3 Cleaning Streams</a></li>
</ul></li>
<li><a name="toc-Fast-Scatter_002dGather-I_002fO" href="libc_13.html#Scatter_002dGather">13.6 Fast Scatter-Gather I/O</a></li>
<li><a name="toc-Memory_002dmapped-I_002fO-1" href="libc_13.html#Memory_002dmapped-I_002fO">13.7 Memory-mapped I/O</a></li>
<li><a name="toc-Waiting-for-Input-or-Output" href="libc_13.html#Waiting-for-I_002fO">13.8 Waiting for Input or Output</a></li>
<li><a name="toc-Synchronizing-I_002fO-operations" href="libc_13.html#Synchronizing-I_002fO">13.9 Synchronizing I/O operations</a></li>
<li><a name="toc-Perform-I_002fO-Operations-in-Parallel" href="libc_13.html#Asynchronous-I_002fO">13.10 Perform I/O Operations in Parallel</a>
<ul class="toc">
<li><a name="toc-Asynchronous-Read-and-Write-Operations" href="libc_13.html#Asynchronous-Reads_002fWrites">13.10.1 Asynchronous Read and Write Operations</a></li>
<li><a name="toc-Getting-the-Status-of-AIO-Operations" href="libc_13.html#Status-of-AIO-Operations">13.10.2 Getting the Status of AIO Operations</a></li>
<li><a name="toc-Getting-into-a-Consistent-State" href="libc_13.html#Synchronizing-AIO-Operations">13.10.3 Getting into a Consistent State</a></li>
<li><a name="toc-Cancellation-of-AIO-Operations" href="libc_13.html#Cancel-AIO-Operations">13.10.4 Cancellation of AIO Operations</a></li>
<li><a name="toc-How-to-optimize-the-AIO-implementation" href="libc_13.html#Configuration-of-AIO">13.10.5 How to optimize the AIO implementation</a></li>
</ul></li>
<li><a name="toc-Control-Operations-on-Files" href="libc_13.html#Control-Operations">13.11 Control Operations on Files</a></li>
<li><a name="toc-Duplicating-Descriptors-1" href="libc_13.html#Duplicating-Descriptors">13.12 Duplicating Descriptors</a></li>
<li><a name="toc-File-Descriptor-Flags" href="libc_13.html#Descriptor-Flags">13.13 File Descriptor Flags</a></li>
<li><a name="toc-File-Status-Flags-1" href="libc_13.html#File-Status-Flags">13.14 File Status Flags</a>
<ul class="toc">
<li><a name="toc-File-Access-Modes" href="libc_13.html#Access-Modes">13.14.1 File Access Modes</a></li>
<li><a name="toc-Open_002dtime-Flags-1" href="libc_13.html#Open_002dtime-Flags">13.14.2 Open-time Flags</a></li>
<li><a name="toc-I_002fO-Operating-Modes" href="libc_13.html#Operating-Modes">13.14.3 I/O Operating Modes</a></li>
<li><a name="toc-Getting-and-Setting-File-Status-Flags" href="libc_13.html#Getting-File-Status-Flags">13.14.4 Getting and Setting File Status Flags</a></li>
</ul></li>
<li><a name="toc-File-Locks-1" href="libc_13.html#File-Locks">13.15 File Locks</a></li>
<li><a name="toc-Interrupt_002dDriven-Input" href="libc_13.html#Interrupt-Input">13.16 Interrupt-Driven Input</a></li>
<li><a name="toc-Generic-I_002fO-Control-operations" href="libc_13.html#IOCTLs">13.17 Generic I/O Control operations</a></li>
</ul></li>
<li><a name="toc-File-System-Interface-1" href="libc_14.html#File-System-Interface">14. File System Interface</a>
<ul class="toc">
<li><a name="toc-Working-Directory-1" href="libc_14.html#Working-Directory">14.1 Working Directory</a></li>
<li><a name="toc-Accessing-Directories-1" href="libc_14.html#Accessing-Directories">14.2 Accessing Directories</a>
<ul class="toc">
<li><a name="toc-Format-of-a-Directory-Entry" href="libc_14.html#Directory-Entries">14.2.1 Format of a Directory Entry</a></li>
<li><a name="toc-Opening-a-Directory-Stream" href="libc_14.html#Opening-a-Directory">14.2.2 Opening a Directory Stream</a></li>
<li><a name="toc-Reading-and-Closing-a-Directory-Stream" href="libc_14.html#Reading_002fClosing-Directory">14.2.3 Reading and Closing a Directory Stream</a></li>
<li><a name="toc-Simple-Program-to-List-a-Directory" href="libc_14.html#Simple-Directory-Lister">14.2.4 Simple Program to List a Directory</a></li>
<li><a name="toc-Random-Access-in-a-Directory-Stream" href="libc_14.html#Random-Access-Directory">14.2.5 Random Access in a Directory Stream</a></li>
<li><a name="toc-Scanning-the-Content-of-a-Directory" href="libc_14.html#Scanning-Directory-Content">14.2.6 Scanning the Content of a Directory</a></li>
<li><a name="toc-Simple-Program-to-List-a-Directory_002c-Mark-II" href="libc_14.html#Simple-Directory-Lister-Mark-II">14.2.7 Simple Program to List a Directory, Mark II</a></li>
</ul></li>
<li><a name="toc-Working-with-Directory-Trees-1" href="libc_14.html#Working-with-Directory-Trees">14.3 Working with Directory Trees</a></li>
<li><a name="toc-Hard-Links-1" href="libc_14.html#Hard-Links">14.4 Hard Links</a></li>
<li><a name="toc-Symbolic-Links-1" href="libc_14.html#Symbolic-Links">14.5 Symbolic Links</a></li>
<li><a name="toc-Deleting-Files-1" href="libc_14.html#Deleting-Files">14.6 Deleting Files</a></li>
<li><a name="toc-Renaming-Files-1" href="libc_14.html#Renaming-Files">14.7 Renaming Files</a></li>
<li><a name="toc-Creating-Directories-1" href="libc_14.html#Creating-Directories">14.8 Creating Directories</a></li>
<li><a name="toc-File-Attributes-1" href="libc_14.html#File-Attributes">14.9 File Attributes</a>
<ul class="toc">
<li><a name="toc-The-meaning-of-the-File-Attributes" href="libc_14.html#Attribute-Meanings">14.9.1 The meaning of the File Attributes</a></li>
<li><a name="toc-Reading-the-Attributes-of-a-File" href="libc_14.html#Reading-Attributes">14.9.2 Reading the Attributes of a File</a></li>
<li><a name="toc-Testing-the-Type-of-a-File" href="libc_14.html#Testing-File-Type">14.9.3 Testing the Type of a File</a></li>
<li><a name="toc-File-Owner-1" href="libc_14.html#File-Owner">14.9.4 File Owner</a></li>
<li><a name="toc-The-Mode-Bits-for-Access-Permission" href="libc_14.html#Permission-Bits">14.9.5 The Mode Bits for Access Permission</a></li>
<li><a name="toc-How-Your-Access-to-a-File-is-Decided" href="libc_14.html#Access-Permission">14.9.6 How Your Access to a File is Decided</a></li>
<li><a name="toc-Assigning-File-Permissions" href="libc_14.html#Setting-Permissions">14.9.7 Assigning File Permissions</a></li>
<li><a name="toc-Testing-Permission-to-Access-a-File" href="libc_14.html#Testing-File-Access">14.9.8 Testing Permission to Access a File</a></li>
<li><a name="toc-File-Times-1" href="libc_14.html#File-Times">14.9.9 File Times</a></li>
<li><a name="toc-File-Size-1" href="libc_14.html#File-Size">14.9.10 File Size</a></li>
</ul></li>
<li><a name="toc-Making-Special-Files-1" href="libc_14.html#Making-Special-Files">14.10 Making Special Files</a></li>
<li><a name="toc-Temporary-Files-1" href="libc_14.html#Temporary-Files">14.11 Temporary Files</a></li>
</ul></li>
<li><a name="toc-Pipes-and-FIFOs-1" href="libc_15.html#Pipes-and-FIFOs">15. Pipes and FIFOs</a>
<ul class="toc">
<li><a name="toc-Creating-a-Pipe-1" href="libc_15.html#Creating-a-Pipe">15.1 Creating a Pipe</a></li>
<li><a name="toc-Pipe-to-a-Subprocess-1" href="libc_15.html#Pipe-to-a-Subprocess">15.2 Pipe to a Subprocess</a></li>
<li><a name="toc-FIFO-Special-Files-1" href="libc_15.html#FIFO-Special-Files">15.3 FIFO Special Files</a></li>
<li><a name="toc-Atomicity-of-Pipe-I_002fO" href="libc_15.html#Pipe-Atomicity">15.4 Atomicity of Pipe I/O</a></li>
</ul></li>
<li><a name="toc-Sockets-1" href="libc_16.html#Sockets">16. Sockets</a>
<ul class="toc">
<li><a name="toc-Socket-Concepts-1" href="libc_16.html#Socket-Concepts">16.1 Socket Concepts</a></li>
<li><a name="toc-Communication-Styles-1" href="libc_16.html#Communication-Styles">16.2 Communication Styles</a></li>
<li><a name="toc-Socket-Addresses-1" href="libc_16.html#Socket-Addresses">16.3 Socket Addresses</a>
<ul class="toc">
<li><a name="toc-Address-Formats-1" href="libc_16.html#Address-Formats">16.3.1 Address Formats</a></li>
<li><a name="toc-Setting-the-Address-of-a-Socket" href="libc_16.html#Setting-Address">16.3.2 Setting the Address of a Socket</a></li>
<li><a name="toc-Reading-the-Address-of-a-Socket" href="libc_16.html#Reading-Address">16.3.3 Reading the Address of a Socket</a></li>
</ul></li>
<li><a name="toc-Interface-Naming-1" href="libc_16.html#Interface-Naming">16.4 Interface Naming</a></li>
<li><a name="toc-The-Local-Namespace" href="libc_16.html#Local-Namespace">16.5 The Local Namespace</a>
<ul class="toc">
<li><a name="toc-Local-Namespace-Concepts-1" href="libc_16.html#Local-Namespace-Concepts">16.5.1 Local Namespace Concepts</a></li>
<li><a name="toc-Details-of-Local-Namespace" href="libc_16.html#Local-Namespace-Details">16.5.2 Details of Local Namespace</a></li>
<li><a name="toc-Example-of-Local_002dNamespace-Sockets" href="libc_16.html#Local-Socket-Example">16.5.3 Example of Local-Namespace Sockets</a></li>
</ul></li>
<li><a name="toc-The-Internet-Namespace" href="libc_16.html#Internet-Namespace">16.6 The Internet Namespace</a>
<ul class="toc">
<li><a name="toc-Internet-Socket-Address-Formats" href="libc_16.html#Internet-Address-Formats">16.6.1 Internet Socket Address Formats</a></li>
<li><a name="toc-Host-Addresses-1" href="libc_16.html#Host-Addresses">16.6.2 Host Addresses</a>
<ul class="toc">
<li><a name="toc-Internet-Host-Addresses" href="libc_16.html#Abstract-Host-Addresses">16.6.2.1 Internet Host Addresses</a></li>
<li><a name="toc-Host-Address-Data-Type-1" href="libc_16.html#Host-Address-Data-Type">16.6.2.2 Host Address Data Type</a></li>
<li><a name="toc-Host-Address-Functions-1" href="libc_16.html#Host-Address-Functions">16.6.2.3 Host Address Functions</a></li>
<li><a name="toc-Host-Names-1" href="libc_16.html#Host-Names">16.6.2.4 Host Names</a></li>
</ul></li>
<li><a name="toc-Internet-Ports" href="libc_16.html#Ports">16.6.3 Internet Ports</a></li>
<li><a name="toc-The-Services-Database" href="libc_16.html#Services-Database">16.6.4 The Services Database</a></li>
<li><a name="toc-Byte-Order-Conversion" href="libc_16.html#Byte-Order">16.6.5 Byte Order Conversion</a></li>
<li><a name="toc-Protocols-Database-1" href="libc_16.html#Protocols-Database">16.6.6 Protocols Database</a></li>
<li><a name="toc-Internet-Socket-Example" href="libc_16.html#Inet-Example">16.6.7 Internet Socket Example</a></li>
</ul></li>
<li><a name="toc-Other-Namespaces" href="libc_16.html#Misc-Namespaces">16.7 Other Namespaces</a></li>
<li><a name="toc-Opening-and-Closing-Sockets" href="libc_16.html#Open_002fClose-Sockets">16.8 Opening and Closing Sockets</a>
<ul class="toc">
<li><a name="toc-Creating-a-Socket-1" href="libc_16.html#Creating-a-Socket">16.8.1 Creating a Socket</a></li>
<li><a name="toc-Closing-a-Socket-1" href="libc_16.html#Closing-a-Socket">16.8.2 Closing a Socket</a></li>
<li><a name="toc-Socket-Pairs-1" href="libc_16.html#Socket-Pairs">16.8.3 Socket Pairs</a></li>
</ul></li>
<li><a name="toc-Using-Sockets-with-Connections" href="libc_16.html#Connections">16.9 Using Sockets with Connections</a>
<ul class="toc">
<li><a name="toc-Making-a-Connection" href="libc_16.html#Connecting">16.9.1 Making a Connection</a></li>
<li><a name="toc-Listening-for-Connections" href="libc_16.html#Listening">16.9.2 Listening for Connections</a></li>
<li><a name="toc-Accepting-Connections-1" href="libc_16.html#Accepting-Connections">16.9.3 Accepting Connections</a></li>
<li><a name="toc-Who-is-Connected-to-Me_003f" href="libc_16.html#Who-is-Connected">16.9.4 Who is Connected to Me?</a></li>
<li><a name="toc-Transferring-Data-1" href="libc_16.html#Transferring-Data">16.9.5 Transferring Data</a>
<ul class="toc">
<li><a name="toc-Sending-Data-1" href="libc_16.html#Sending-Data">16.9.5.1 Sending Data</a></li>
<li><a name="toc-Receiving-Data-1" href="libc_16.html#Receiving-Data">16.9.5.2 Receiving Data</a></li>
<li><a name="toc-Socket-Data-Options-1" href="libc_16.html#Socket-Data-Options">16.9.5.3 Socket Data Options</a></li>
</ul></li>
<li><a name="toc-Byte-Stream-Socket-Example" href="libc_16.html#Byte-Stream-Example">16.9.6 Byte Stream Socket Example</a></li>
<li><a name="toc-Byte-Stream-Connection-Server-Example" href="libc_16.html#Server-Example">16.9.7 Byte Stream Connection Server Example</a></li>
<li><a name="toc-Out_002dof_002dBand-Data-1" href="libc_16.html#Out_002dof_002dBand-Data">16.9.8 Out-of-Band Data</a></li>
</ul></li>
<li><a name="toc-Datagram-Socket-Operations" href="libc_16.html#Datagrams">16.10 Datagram Socket Operations</a>
<ul class="toc">
<li><a name="toc-Sending-Datagrams-1" href="libc_16.html#Sending-Datagrams">16.10.1 Sending Datagrams</a></li>
<li><a name="toc-Receiving-Datagrams-1" href="libc_16.html#Receiving-Datagrams">16.10.2 Receiving Datagrams</a></li>
<li><a name="toc-Datagram-Socket-Example" href="libc_16.html#Datagram-Example">16.10.3 Datagram Socket Example</a></li>
<li><a name="toc-Example-of-Reading-Datagrams" href="libc_16.html#Example-Receiver">16.10.4 Example of Reading Datagrams</a></li>
</ul></li>
<li><a name="toc-The-inetd-Daemon" href="libc_16.html#Inetd">16.11 The <code>inetd</code> Daemon</a>
<ul class="toc">
<li><a name="toc-inetd-Servers" href="libc_16.html#Inetd-Servers">16.11.1 <code>inetd</code> Servers</a></li>
<li><a name="toc-Configuring-inetd" href="libc_16.html#Configuring-Inetd">16.11.2 Configuring <code>inetd</code></a></li>
</ul></li>
<li><a name="toc-Socket-Options-1" href="libc_16.html#Socket-Options">16.12 Socket Options</a>
<ul class="toc">
<li><a name="toc-Socket-Option-Functions-1" href="libc_16.html#Socket-Option-Functions">16.12.1 Socket Option Functions</a></li>
<li><a name="toc-Socket_002dLevel-Options-1" href="libc_16.html#Socket_002dLevel-Options">16.12.2 Socket-Level Options</a></li>
</ul></li>
<li><a name="toc-Networks-Database-1" href="libc_16.html#Networks-Database">16.13 Networks Database</a></li>
</ul></li>
<li><a name="toc-Low_002dLevel-Terminal-Interface-1" href="libc_17.html#Low_002dLevel-Terminal-Interface">17. Low-Level Terminal Interface</a>
<ul class="toc">
<li><a name="toc-Identifying-Terminals" href="libc_17.html#Is-It-a-Terminal">17.1 Identifying Terminals</a></li>
<li><a name="toc-I_002fO-Queues-1" href="libc_17.html#I_002fO-Queues">17.2 I/O Queues</a></li>
<li><a name="toc-Two-Styles-of-Input_003a-Canonical-or-Not" href="libc_17.html#Canonical-or-Not">17.3 Two Styles of Input: Canonical or Not</a></li>
<li><a name="toc-Terminal-Modes-1" href="libc_17.html#Terminal-Modes">17.4 Terminal Modes</a>
<ul class="toc">
<li><a name="toc-Terminal-Mode-Data-Types" href="libc_17.html#Mode-Data-Types">17.4.1 Terminal Mode Data Types</a></li>
<li><a name="toc-Terminal-Mode-Functions" href="libc_17.html#Mode-Functions">17.4.2 Terminal Mode Functions</a></li>
<li><a name="toc-Setting-Terminal-Modes-Properly" href="libc_17.html#Setting-Modes">17.4.3 Setting Terminal Modes Properly</a></li>
<li><a name="toc-Input-Modes-1" href="libc_17.html#Input-Modes">17.4.4 Input Modes</a></li>
<li><a name="toc-Output-Modes-1" href="libc_17.html#Output-Modes">17.4.5 Output Modes</a></li>
<li><a name="toc-Control-Modes-1" href="libc_17.html#Control-Modes">17.4.6 Control Modes</a></li>
<li><a name="toc-Local-Modes-1" href="libc_17.html#Local-Modes">17.4.7 Local Modes</a></li>
<li><a name="toc-Line-Speed-1" href="libc_17.html#Line-Speed">17.4.8 Line Speed</a></li>
<li><a name="toc-Special-Characters-1" href="libc_17.html#Special-Characters">17.4.9 Special Characters</a>
<ul class="toc">
<li><a name="toc-Characters-for-Input-Editing" href="libc_17.html#Editing-Characters">17.4.9.1 Characters for Input Editing</a></li>
<li><a name="toc-Characters-that-Cause-Signals" href="libc_17.html#Signal-Characters">17.4.9.2 Characters that Cause Signals</a></li>
<li><a name="toc-Special-Characters-for-Flow-Control" href="libc_17.html#Start_002fStop-Characters">17.4.9.3 Special Characters for Flow Control</a></li>
<li><a name="toc-Other-Special-Characters" href="libc_17.html#Other-Special">17.4.9.4 Other Special Characters</a></li>
</ul></li>
<li><a name="toc-Noncanonical-Input-1" href="libc_17.html#Noncanonical-Input">17.4.10 Noncanonical Input</a></li>
</ul></li>
<li><a name="toc-BSD-Terminal-Modes-1" href="libc_17.html#BSD-Terminal-Modes">17.5 BSD Terminal Modes</a></li>
<li><a name="toc-Line-Control-Functions" href="libc_17.html#Line-Control">17.6 Line Control Functions</a></li>
<li><a name="toc-Noncanonical-Mode-Example" href="libc_17.html#Noncanon-Example">17.7 Noncanonical Mode Example</a></li>
<li><a name="toc-Pseudo_002dTerminals-1" href="libc_17.html#Pseudo_002dTerminals">17.8 Pseudo-Terminals</a>
<ul class="toc">
<li><a name="toc-Allocating-Pseudo_002dTerminals" href="libc_17.html#Allocation">17.8.1 Allocating Pseudo-Terminals</a></li>
<li><a name="toc-Opening-a-Pseudo_002dTerminal-Pair" href="libc_17.html#Pseudo_002dTerminal-Pairs">17.8.2 Opening a Pseudo-Terminal Pair</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Syslog-1" href="libc_18.html#Syslog">18. Syslog</a>
<ul class="toc">
<li><a name="toc-Overview-of-Syslog-1" href="libc_18.html#Overview-of-Syslog">18.1 Overview of Syslog</a></li>
<li><a name="toc-Submitting-Syslog-Messages-1" href="libc_18.html#Submitting-Syslog-Messages">18.2 Submitting Syslog Messages</a>
<ul class="toc">
<li><a name="toc-openlog-1" href="libc_18.html#openlog">18.2.1 openlog</a></li>
<li><a name="toc-syslog_002c-vsyslog" href="libc_18.html#syslog_003b-vsyslog">18.2.2 syslog, vsyslog</a></li>
<li><a name="toc-closelog-1" href="libc_18.html#closelog">18.2.3 closelog</a></li>
<li><a name="toc-setlogmask-1" href="libc_18.html#setlogmask">18.2.4 setlogmask</a></li>
<li><a name="toc-Syslog-Example-1" href="libc_18.html#Syslog-Example">18.2.5 Syslog Example</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Mathematics-1" href="libc_19.html#Mathematics">19. Mathematics</a>
<ul class="toc">
<li><a name="toc-Predefined-Mathematical-Constants" href="libc_19.html#Mathematical-Constants">19.1 Predefined Mathematical Constants</a></li>
<li><a name="toc-Trigonometric-Functions" href="libc_19.html#Trig-Functions">19.2 Trigonometric Functions</a></li>
<li><a name="toc-Inverse-Trigonometric-Functions" href="libc_19.html#Inverse-Trig-Functions">19.3 Inverse Trigonometric Functions</a></li>
<li><a name="toc-Exponentiation-and-Logarithms" href="libc_19.html#Exponents-and-Logarithms">19.4 Exponentiation and Logarithms</a></li>
<li><a name="toc-Hyperbolic-Functions-1" href="libc_19.html#Hyperbolic-Functions">19.5 Hyperbolic Functions</a></li>
<li><a name="toc-Special-Functions-1" href="libc_19.html#Special-Functions">19.6 Special Functions</a></li>
<li><a name="toc-Known-Maximum-Errors-in-Math-Functions" href="libc_19.html#Errors-in-Math-Functions">19.7 Known Maximum Errors in Math Functions</a></li>
<li><a name="toc-Pseudo_002dRandom-Numbers-1" href="libc_19.html#Pseudo_002dRandom-Numbers">19.8 Pseudo-Random Numbers</a>
<ul class="toc">
<li><a name="toc-ISO-C-Random-Number-Functions" href="libc_19.html#ISO-Random">19.8.1 ISO C Random Number Functions</a></li>
<li><a name="toc-BSD-Random-Number-Functions" href="libc_19.html#BSD-Random">19.8.2 BSD Random Number Functions</a></li>
<li><a name="toc-SVID-Random-Number-Function" href="libc_19.html#SVID-Random">19.8.3 SVID Random Number Function</a></li>
</ul></li>
<li><a name="toc-Is-Fast-Code-or-Small-Code-preferred_003f" href="libc_19.html#FP-Function-Optimizations">19.9 Is Fast Code or Small Code preferred?</a></li>
</ul></li>
<li><a name="toc-Arithmetic-Functions-1" href="libc_20.html#Arithmetic">20. Arithmetic Functions</a>
<ul class="toc">
<li><a name="toc-Integers-1" href="libc_20.html#Integers">20.1 Integers</a></li>
<li><a name="toc-Integer-Division-1" href="libc_20.html#Integer-Division">20.2 Integer Division</a></li>
<li><a name="toc-Floating-Point-Numbers-1" href="libc_20.html#Floating-Point-Numbers">20.3 Floating Point Numbers</a></li>
<li><a name="toc-Floating_002dPoint-Number-Classification-Functions" href="libc_20.html#Floating-Point-Classes">20.4 Floating-Point Number Classification Functions</a></li>
<li><a name="toc-Errors-in-Floating_002dPoint-Calculations" href="libc_20.html#Floating-Point-Errors">20.5 Errors in Floating-Point Calculations</a>
<ul class="toc">
<li><a name="toc-FP-Exceptions-1" href="libc_20.html#FP-Exceptions">20.5.1 FP Exceptions</a></li>
<li><a name="toc-Infinity-and-NaN-1" href="libc_20.html#Infinity-and-NaN">20.5.2 Infinity and NaN</a></li>
<li><a name="toc-Examining-the-FPU-status-word" href="libc_20.html#Status-bit-operations">20.5.3 Examining the FPU status word</a></li>
<li><a name="toc-Error-Reporting-by-Mathematical-Functions" href="libc_20.html#Math-Error-Reporting">20.5.4 Error Reporting by Mathematical Functions</a></li>
</ul></li>
<li><a name="toc-Rounding-Modes" href="libc_20.html#Rounding">20.6 Rounding Modes</a></li>
<li><a name="toc-Floating_002dPoint-Control-Functions" href="libc_20.html#Control-Functions">20.7 Floating-Point Control Functions</a></li>
<li><a name="toc-Arithmetic-Functions-2" href="libc_20.html#Arithmetic-Functions">20.8 Arithmetic Functions</a>
<ul class="toc">
<li><a name="toc-Absolute-Value-1" href="libc_20.html#Absolute-Value">20.8.1 Absolute Value</a></li>
<li><a name="toc-Normalization-Functions-1" href="libc_20.html#Normalization-Functions">20.8.2 Normalization Functions</a></li>
<li><a name="toc-Rounding-Functions-1" href="libc_20.html#Rounding-Functions">20.8.3 Rounding Functions</a></li>
<li><a name="toc-Remainder-Functions-1" href="libc_20.html#Remainder-Functions">20.8.4 Remainder Functions</a></li>
<li><a name="toc-Setting-and-modifying-single-bits-of-FP-values" href="libc_20.html#FP-Bit-Twiddling">20.8.5 Setting and modifying single bits of FP values</a></li>
<li><a name="toc-Floating_002dPoint-Comparison-Functions" href="libc_20.html#FP-Comparison-Functions">20.8.6 Floating-Point Comparison Functions</a></li>
<li><a name="toc-Miscellaneous-FP-arithmetic-functions" href="libc_20.html#Misc-FP-Arithmetic">20.8.7 Miscellaneous FP arithmetic functions</a></li>
</ul></li>
<li><a name="toc-Complex-Numbers-1" href="libc_20.html#Complex-Numbers">20.9 Complex Numbers</a></li>
<li><a name="toc-Projections_002c-Conjugates_002c-and-Decomposing-of-Complex-Numbers" href="libc_20.html#Operations-on-Complex">20.10 Projections, Conjugates, and Decomposing of Complex Numbers</a></li>
<li><a name="toc-Parsing-of-Numbers-1" href="libc_20.html#Parsing-of-Numbers">20.11 Parsing of Numbers</a>
<ul class="toc">
<li><a name="toc-Parsing-of-Integers-1" href="libc_20.html#Parsing-of-Integers">20.11.1 Parsing of Integers</a></li>
<li><a name="toc-Parsing-of-Floats-1" href="libc_20.html#Parsing-of-Floats">20.11.2 Parsing of Floats</a></li>
</ul></li>
<li><a name="toc-Old_002dfashioned-System-V-number_002dto_002dstring-functions" href="libc_20.html#System-V-Number-Conversion">20.12 Old-fashioned System V number-to-string functions</a></li>
</ul></li>
<li><a name="toc-Date-and-Time-1" href="libc_21.html#Date-and-Time">21. Date and Time</a>
<ul class="toc">
<li><a name="toc-Time-Basics-1" href="libc_21.html#Time-Basics">21.1 Time Basics</a></li>
<li><a name="toc-Elapsed-Time-1" href="libc_21.html#Elapsed-Time">21.2 Elapsed Time</a></li>
<li><a name="toc-Processor-And-CPU-Time-1" href="libc_21.html#Processor-And-CPU-Time">21.3 Processor And CPU Time</a>
<ul class="toc">
<li><a name="toc-CPU-Time-Inquiry" href="libc_21.html#CPU-Time">21.3.1 CPU Time Inquiry</a></li>
<li><a name="toc-Processor-Time-Inquiry" href="libc_21.html#Processor-Time">21.3.2 Processor Time Inquiry</a></li>
</ul></li>
<li><a name="toc-Calendar-Time-1" href="libc_21.html#Calendar-Time">21.4 Calendar Time</a>
<ul class="toc">
<li><a name="toc-Simple-Calendar-Time-1" href="libc_21.html#Simple-Calendar-Time">21.4.1 Simple Calendar Time</a></li>
<li><a name="toc-High_002dResolution-Calendar-1" href="libc_21.html#High_002dResolution-Calendar">21.4.2 High-Resolution Calendar</a></li>
<li><a name="toc-Broken_002ddown-Time-1" href="libc_21.html#Broken_002ddown-Time">21.4.3 Broken-down Time</a></li>
<li><a name="toc-High-Accuracy-Clock-1" href="libc_21.html#High-Accuracy-Clock">21.4.4 High Accuracy Clock</a></li>
<li><a name="toc-Formatting-Calendar-Time-1" href="libc_21.html#Formatting-Calendar-Time">21.4.5 Formatting Calendar Time</a></li>
<li><a name="toc-Convert-textual-time-and-date-information-back" href="libc_21.html#Parsing-Date-and-Time">21.4.6 Convert textual time and date information back</a>
<ul class="toc">
<li><a name="toc-Interpret-string-according-to-given-format" href="libc_21.html#Low_002dLevel-Time-String-Parsing">21.4.6.1 Interpret string according to given format</a></li>
<li><a name="toc-A-More-User_002dfriendly-Way-to-Parse-Times-and-Dates" href="libc_21.html#General-Time-String-Parsing">21.4.6.2 A More User-friendly Way to Parse Times and Dates</a></li>
</ul></li>
<li><a name="toc-Specifying-the-Time-Zone-with-TZ" href="libc_21.html#TZ-Variable">21.4.7 Specifying the Time Zone with <code>TZ</code></a></li>
<li><a name="toc-Functions-and-Variables-for-Time-Zones" href="libc_21.html#Time-Zone-Functions">21.4.8 Functions and Variables for Time Zones</a></li>
<li><a name="toc-Time-Functions-Example-1" href="libc_21.html#Time-Functions-Example">21.4.9 Time Functions Example</a></li>
</ul></li>
<li><a name="toc-Setting-an-Alarm-1" href="libc_21.html#Setting-an-Alarm">21.5 Setting an Alarm</a></li>
<li><a name="toc-Sleeping-1" href="libc_21.html#Sleeping">21.6 Sleeping</a></li>
</ul></li>
<li><a name="toc-Resource-Usage-And-Limitation-1" href="libc_22.html#Resource-Usage-And-Limitation">22. Resource Usage And Limitation</a>
<ul class="toc">
<li><a name="toc-Resource-Usage-1" href="libc_22.html#Resource-Usage">22.1 Resource Usage</a></li>
<li><a name="toc-Limiting-Resource-Usage" href="libc_22.html#Limits-on-Resources">22.2 Limiting Resource Usage</a></li>
<li><a name="toc-Process-CPU-Priority-And-Scheduling" href="libc_22.html#Priority">22.3 Process CPU Priority And Scheduling</a>
<ul class="toc">
<li><a name="toc-Absolute-Priority-1" href="libc_22.html#Absolute-Priority">22.3.1 Absolute Priority</a>
<ul class="toc">
<li><a name="toc-Using-Absolute-Priority" href="libc_22.html#Using-Absolute-Priority">22.3.1.1 Using Absolute Priority</a></li>
</ul></li>
<li><a name="toc-Realtime-Scheduling-1" href="libc_22.html#Realtime-Scheduling">22.3.2 Realtime Scheduling</a></li>
<li><a name="toc-Basic-Scheduling-Functions-1" href="libc_22.html#Basic-Scheduling-Functions">22.3.3 Basic Scheduling Functions</a></li>
<li><a name="toc-Traditional-Scheduling-1" href="libc_22.html#Traditional-Scheduling">22.3.4 Traditional Scheduling</a>
<ul class="toc">
<li><a name="toc-Introduction-To-Traditional-Scheduling" href="libc_22.html#Traditional-Scheduling-Intro">22.3.4.1 Introduction To Traditional Scheduling</a></li>
<li><a name="toc-Functions-For-Traditional-Scheduling" href="libc_22.html#Traditional-Scheduling-Functions">22.3.4.2 Functions For Traditional Scheduling</a></li>
</ul></li>
<li><a name="toc-Limiting-execution-to-certain-CPUs" href="libc_22.html#CPU-Affinity">22.3.5 Limiting execution to certain CPUs</a></li>
</ul></li>
<li><a name="toc-Querying-memory-available-resources" href="libc_22.html#Memory-Resources">22.4 Querying memory available resources</a>
<ul class="toc">
<li><a name="toc-Overview-about-traditional-Unix-memory-handling" href="libc_22.html#Memory-Subsystem">22.4.1 Overview about traditional Unix memory handling</a></li>
<li><a name="toc-How-to-get-information-about-the-memory-subsystem_003f" href="libc_22.html#Query-Memory-Parameters">22.4.2 How to get information about the memory subsystem?</a></li>
</ul></li>
<li><a name="toc-Learn-about-the-processors-available" href="libc_22.html#Processor-Resources">22.5 Learn about the processors available</a></li>
</ul></li>
<li><a name="toc-Non_002dLocal-Exits-1" href="libc_23.html#Non_002dLocal-Exits">23. Non-Local Exits</a>
<ul class="toc">
<li><a name="toc-Introduction-to-Non_002dLocal-Exits" href="libc_23.html#Non_002dLocal-Intro">23.1 Introduction to Non-Local Exits</a></li>
<li><a name="toc-Details-of-Non_002dLocal-Exits" href="libc_23.html#Non_002dLocal-Details">23.2 Details of Non-Local Exits</a></li>
<li><a name="toc-Non_002dLocal-Exits-and-Signals-1" href="libc_23.html#Non_002dLocal-Exits-and-Signals">23.3 Non-Local Exits and Signals</a></li>
<li><a name="toc-Complete-Context-Control" href="libc_23.html#System-V-contexts">23.4 Complete Context Control</a></li>
</ul></li>
<li><a name="toc-Signal-Handling-1" href="libc_24.html#Signal-Handling">24. Signal Handling</a>
<ul class="toc">
<li><a name="toc-Basic-Concepts-of-Signals" href="libc_24.html#Concepts-of-Signals">24.1 Basic Concepts of Signals</a>
<ul class="toc">
<li><a name="toc-Some-Kinds-of-Signals" href="libc_24.html#Kinds-of-Signals">24.1.1 Some Kinds of Signals</a></li>
<li><a name="toc-Concepts-of-Signal-Generation" href="libc_24.html#Signal-Generation">24.1.2 Concepts of Signal Generation</a></li>
<li><a name="toc-How-Signals-Are-Delivered" href="libc_24.html#Delivery-of-Signal">24.1.3 How Signals Are Delivered</a></li>
</ul></li>
<li><a name="toc-Standard-Signals-1" href="libc_24.html#Standard-Signals">24.2 Standard Signals</a>
<ul class="toc">
<li><a name="toc-Program-Error-Signals-1" href="libc_24.html#Program-Error-Signals">24.2.1 Program Error Signals</a></li>
<li><a name="toc-Termination-Signals-1" href="libc_24.html#Termination-Signals">24.2.2 Termination Signals</a></li>
<li><a name="toc-Alarm-Signals-1" href="libc_24.html#Alarm-Signals">24.2.3 Alarm Signals</a></li>
<li><a name="toc-Asynchronous-I_002fO-Signals-1" href="libc_24.html#Asynchronous-I_002fO-Signals">24.2.4 Asynchronous I/O Signals</a></li>
<li><a name="toc-Job-Control-Signals-1" href="libc_24.html#Job-Control-Signals">24.2.5 Job Control Signals</a></li>
<li><a name="toc-Operation-Error-Signals-1" href="libc_24.html#Operation-Error-Signals">24.2.6 Operation Error Signals</a></li>
<li><a name="toc-Miscellaneous-Signals-1" href="libc_24.html#Miscellaneous-Signals">24.2.7 Miscellaneous Signals</a></li>
<li><a name="toc-Signal-Messages-1" href="libc_24.html#Signal-Messages">24.2.8 Signal Messages</a></li>
</ul></li>
<li><a name="toc-Specifying-Signal-Actions" href="libc_24.html#Signal-Actions">24.3 Specifying Signal Actions</a>
<ul class="toc">
<li><a name="toc-Basic-Signal-Handling-1" href="libc_24.html#Basic-Signal-Handling">24.3.1 Basic Signal Handling</a></li>
<li><a name="toc-Advanced-Signal-Handling-1" href="libc_24.html#Advanced-Signal-Handling">24.3.2 Advanced Signal Handling</a></li>
<li><a name="toc-Interaction-of-signal-and-sigaction" href="libc_24.html#Signal-and-Sigaction">24.3.3 Interaction of <code>signal</code> and <code>sigaction</code></a></li>
<li><a name="toc-sigaction-Function-Example" href="libc_24.html#Sigaction-Function-Example">24.3.4 <code>sigaction</code> Function Example</a></li>
<li><a name="toc-Flags-for-sigaction" href="libc_24.html#Flags-for-Sigaction">24.3.5 Flags for <code>sigaction</code></a></li>
<li><a name="toc-Initial-Signal-Actions-1" href="libc_24.html#Initial-Signal-Actions">24.3.6 Initial Signal Actions</a></li>
</ul></li>
<li><a name="toc-Defining-Signal-Handlers" href="libc_24.html#Defining-Handlers">24.4 Defining Signal Handlers</a>
<ul class="toc">
<li><a name="toc-Signal-Handlers-that-Return" href="libc_24.html#Handler-Returns">24.4.1 Signal Handlers that Return</a></li>
<li><a name="toc-Handlers-That-Terminate-the-Process" href="libc_24.html#Termination-in-Handler">24.4.2 Handlers That Terminate the Process</a></li>
<li><a name="toc-Nonlocal-Control-Transfer-in-Handlers" href="libc_24.html#Longjmp-in-Handler">24.4.3 Nonlocal Control Transfer in Handlers</a></li>
<li><a name="toc-Signals-Arriving-While-a-Handler-Runs" href="libc_24.html#Signals-in-Handler">24.4.4 Signals Arriving While a Handler Runs</a></li>
<li><a name="toc-Signals-Close-Together-Merge-into-One" href="libc_24.html#Merged-Signals">24.4.5 Signals Close Together Merge into One</a></li>
<li><a name="toc-Signal-Handling-and-Nonreentrant-Functions" href="libc_24.html#Nonreentrancy">24.4.6 Signal Handling and Nonreentrant Functions</a></li>
<li><a name="toc-Atomic-Data-Access-and-Signal-Handling" href="libc_24.html#Atomic-Data-Access">24.4.7 Atomic Data Access and Signal Handling</a>
<ul class="toc">
<li><a name="toc-Problems-with-Non_002dAtomic-Access" href="libc_24.html#Non_002datomic-Example">24.4.7.1 Problems with Non-Atomic Access</a></li>
<li><a name="toc-Atomic-Types-1" href="libc_24.html#Atomic-Types">24.4.7.2 Atomic Types</a></li>
<li><a name="toc-Atomic-Usage-Patterns" href="libc_24.html#Atomic-Usage">24.4.7.3 Atomic Usage Patterns</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Primitives-Interrupted-by-Signals" href="libc_24.html#Interrupted-Primitives">24.5 Primitives Interrupted by Signals</a></li>
<li><a name="toc-Generating-Signals-1" href="libc_24.html#Generating-Signals">24.6 Generating Signals</a>
<ul class="toc">
<li><a name="toc-Signaling-Yourself-1" href="libc_24.html#Signaling-Yourself">24.6.1 Signaling Yourself</a></li>
<li><a name="toc-Signaling-Another-Process-1" href="libc_24.html#Signaling-Another-Process">24.6.2 Signaling Another Process</a></li>
<li><a name="toc-Permission-for-using-kill" href="libc_24.html#Permission-for-kill">24.6.3 Permission for using <code>kill</code></a></li>
<li><a name="toc-Using-kill-for-Communication" href="libc_24.html#Kill-Example">24.6.4 Using <code>kill</code> for Communication</a></li>
</ul></li>
<li><a name="toc-Blocking-Signals-1" href="libc_24.html#Blocking-Signals">24.7 Blocking Signals</a>
<ul class="toc">
<li><a name="toc-Why-Blocking-Signals-is-Useful" href="libc_24.html#Why-Block">24.7.1 Why Blocking Signals is Useful</a></li>
<li><a name="toc-Signal-Sets-1" href="libc_24.html#Signal-Sets">24.7.2 Signal Sets</a></li>
<li><a name="toc-Process-Signal-Mask-1" href="libc_24.html#Process-Signal-Mask">24.7.3 Process Signal Mask</a></li>
<li><a name="toc-Blocking-to-Test-for-Delivery-of-a-Signal" href="libc_24.html#Testing-for-Delivery">24.7.4 Blocking to Test for Delivery of a Signal</a></li>
<li><a name="toc-Blocking-Signals-for-a-Handler" href="libc_24.html#Blocking-for-Handler">24.7.5 Blocking Signals for a Handler</a></li>
<li><a name="toc-Checking-for-Pending-Signals-1" href="libc_24.html#Checking-for-Pending-Signals">24.7.6 Checking for Pending Signals</a></li>
<li><a name="toc-Remembering-a-Signal-to-Act-On-Later" href="libc_24.html#Remembering-a-Signal">24.7.7 Remembering a Signal to Act On Later</a></li>
</ul></li>
<li><a name="toc-Waiting-for-a-Signal-1" href="libc_24.html#Waiting-for-a-Signal">24.8 Waiting for a Signal</a>
<ul class="toc">
<li><a name="toc-Using-pause" href="libc_24.html#Using-Pause">24.8.1 Using <code>pause</code></a></li>
<li><a name="toc-Problems-with-pause" href="libc_24.html#Pause-Problems">24.8.2 Problems with <code>pause</code></a></li>
<li><a name="toc-Using-sigsuspend" href="libc_24.html#Sigsuspend">24.8.3 Using <code>sigsuspend</code></a></li>
</ul></li>
<li><a name="toc-Using-a-Separate-Signal-Stack" href="libc_24.html#Signal-Stack">24.9 Using a Separate Signal Stack</a></li>
<li><a name="toc-BSD-Signal-Handling-1" href="libc_24.html#BSD-Signal-Handling">24.10 BSD Signal Handling</a>
<ul class="toc">
<li><a name="toc-BSD-Function-to-Establish-a-Handler" href="libc_24.html#BSD-Handler">24.10.1 BSD Function to Establish a Handler</a></li>
<li><a name="toc-BSD-Functions-for-Blocking-Signals" href="libc_24.html#Blocking-in-BSD">24.10.2 BSD Functions for Blocking Signals</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-The-Basic-Program_002fSystem-Interface" href="libc_25.html#Program-Basics">25. The Basic Program/System Interface</a>
<ul class="toc">
<li><a name="toc-Program-Arguments-1" href="libc_25.html#Program-Arguments">25.1 Program Arguments</a>
<ul class="toc">
<li><a name="toc-Program-Argument-Syntax-Conventions" href="libc_25.html#Argument-Syntax">25.1.1 Program Argument Syntax Conventions</a></li>
<li><a name="toc-Parsing-Program-Arguments-1" href="libc_25.html#Parsing-Program-Arguments">25.1.2 Parsing Program Arguments</a></li>
</ul></li>
<li><a name="toc-Parsing-program-options-using-getopt" href="libc_25.html#Getopt">25.2 Parsing program options using <code>getopt</code></a>
<ul class="toc">
<li><a name="toc-Using-the-getopt-function" href="libc_25.html#Using-Getopt">25.2.1 Using the <code>getopt</code> function</a></li>
<li><a name="toc-Example-of-Parsing-Arguments-with-getopt" href="libc_25.html#Example-of-Getopt">25.2.2 Example of Parsing Arguments with <code>getopt</code></a></li>
<li><a name="toc-Parsing-Long-Options-with-getopt_005flong" href="libc_25.html#Getopt-Long-Options">25.2.3 Parsing Long Options with <code>getopt_long</code></a></li>
<li><a name="toc-Example-of-Parsing-Long-Options-with-getopt_005flong" href="libc_25.html#Getopt-Long-Option-Example">25.2.4 Example of Parsing Long Options with <code>getopt_long</code></a></li>
</ul></li>
<li><a name="toc-Parsing-Program-Options-with-Argp" href="libc_25.html#Argp">25.3 Parsing Program Options with Argp</a>
<ul class="toc">
<li><a name="toc-The-argp_005fparse-Function" href="libc_25.html#The-argp_005fparse-Function">25.3.1 The <code>argp_parse</code> Function</a></li>
<li><a name="toc-Argp-Global-Variables-1" href="libc_25.html#Argp-Global-Variables">25.3.2 Argp Global Variables</a></li>
<li><a name="toc-Specifying-Argp-Parsers" href="libc_25.html#Argp-Parsers">25.3.3 Specifying Argp Parsers</a></li>
<li><a name="toc-Specifying-Options-in-an-Argp-Parser" href="libc_25.html#Argp-Option-Vectors">25.3.4 Specifying Options in an Argp Parser</a>
<ul class="toc">
<li><a name="toc-Flags-for-Argp-Options" href="libc_25.html#Argp-Option-Flags">25.3.4.1 Flags for Argp Options</a></li>
</ul></li>
<li><a name="toc-Argp-Parser-Functions-1" href="libc_25.html#Argp-Parser-Functions">25.3.5 Argp Parser Functions</a>
<ul class="toc">
<li><a name="toc-Special-Keys-for-Argp-Parser-Functions" href="libc_25.html#Argp-Special-Keys">25.3.5.1 Special Keys for Argp Parser Functions</a></li>
<li><a name="toc-Functions-For-Use-in-Argp-Parsers" href="libc_25.html#Argp-Helper-Functions">25.3.5.2 Functions For Use in Argp Parsers</a></li>
<li><a name="toc-Argp-Parsing-State-1" href="libc_25.html#Argp-Parsing-State">25.3.5.3 Argp Parsing State</a></li>
</ul></li>
<li><a name="toc-Combining-Multiple-Argp-Parsers" href="libc_25.html#Argp-Children">25.3.6 Combining Multiple Argp Parsers</a></li>
<li><a name="toc-Flags-for-argp_005fparse" href="libc_25.html#Argp-Flags">25.3.7 Flags for <code>argp_parse</code></a></li>
<li><a name="toc-Customizing-Argp-Help-Output" href="libc_25.html#Argp-Help-Filtering">25.3.8 Customizing Argp Help Output</a>
<ul class="toc">
<li><a name="toc-Special-Keys-for-Argp-Help-Filter-Functions" href="libc_25.html#Argp-Help-Filter-Keys">25.3.8.1 Special Keys for Argp Help Filter Functions</a></li>
</ul></li>
<li><a name="toc-The-argp_005fhelp-Function" href="libc_25.html#Argp-Help">25.3.9 The <code>argp_help</code> Function</a></li>
<li><a name="toc-Flags-for-the-argp_005fhelp-Function" href="libc_25.html#Argp-Help-Flags">25.3.10 Flags for the <code>argp_help</code> Function</a></li>
<li><a name="toc-Argp-Examples-1" href="libc_25.html#Argp-Examples">25.3.11 Argp Examples</a>
<ul class="toc">
<li><a name="toc-A-Minimal-Program-Using-Argp" href="libc_25.html#Argp-Example-1">25.3.11.1 A Minimal Program Using Argp</a></li>
<li><a name="toc-A-Program-Using-Argp-with-Only-Default-Options" href="libc_25.html#Argp-Example-2">25.3.11.2 A Program Using Argp with Only Default Options</a></li>
<li><a name="toc-A-Program-Using-Argp-with-User-Options" href="libc_25.html#Argp-Example-3">25.3.11.3 A Program Using Argp with User Options</a></li>
<li><a name="toc-A-Program-Using-Multiple-Combined-Argp-Parsers" href="libc_25.html#Argp-Example-4">25.3.11.4 A Program Using Multiple Combined Argp Parsers</a></li>
</ul></li>
<li><a name="toc-Argp-User-Customization-1" href="libc_25.html#Argp-User-Customization">25.3.12 Argp User Customization</a>
<ul class="toc">
<li><a name="toc-Parsing-of-Suboptions" href="libc_25.html#Suboptions">25.3.12.1 Parsing of Suboptions</a></li>
</ul></li>
<li><a name="toc-Parsing-of-Suboptions-Example" href="libc_25.html#Suboptions-Example">25.3.13 Parsing of Suboptions Example</a></li>
</ul></li>
<li><a name="toc-Environment-Variables-1" href="libc_25.html#Environment-Variables">25.4 Environment Variables</a>
<ul class="toc">
<li><a name="toc-Environment-Access-1" href="libc_25.html#Environment-Access">25.4.1 Environment Access</a></li>
<li><a name="toc-Standard-Environment-Variables" href="libc_25.html#Standard-Environment">25.4.2 Standard Environment Variables</a></li>
</ul></li>
<li><a name="toc-System-Calls-1" href="libc_25.html#System-Calls">25.5 System Calls</a></li>
<li><a name="toc-Program-Termination-1" href="libc_25.html#Program-Termination">25.6 Program Termination</a>
<ul class="toc">
<li><a name="toc-Normal-Termination-1" href="libc_25.html#Normal-Termination">25.6.1 Normal Termination</a></li>
<li><a name="toc-Exit-Status-1" href="libc_25.html#Exit-Status">25.6.2 Exit Status</a></li>
<li><a name="toc-Cleanups-on-Exit-1" href="libc_25.html#Cleanups-on-Exit">25.6.3 Cleanups on Exit</a></li>
<li><a name="toc-Aborting-a-Program-1" href="libc_25.html#Aborting-a-Program">25.6.4 Aborting a Program</a></li>
<li><a name="toc-Termination-Internals-1" href="libc_25.html#Termination-Internals">25.6.5 Termination Internals</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Processes-1" href="libc_26.html#Processes">26. Processes</a>
<ul class="toc">
<li><a name="toc-Running-a-Command-1" href="libc_26.html#Running-a-Command">26.1 Running a Command</a></li>
<li><a name="toc-Process-Creation-Concepts-1" href="libc_26.html#Process-Creation-Concepts">26.2 Process Creation Concepts</a></li>
<li><a name="toc-Process-Identification-1" href="libc_26.html#Process-Identification">26.3 Process Identification</a></li>
<li><a name="toc-Creating-a-Process-1" href="libc_26.html#Creating-a-Process">26.4 Creating a Process</a></li>
<li><a name="toc-Executing-a-File-1" href="libc_26.html#Executing-a-File">26.5 Executing a File</a></li>
<li><a name="toc-Process-Completion-1" href="libc_26.html#Process-Completion">26.6 Process Completion</a></li>
<li><a name="toc-Process-Completion-Status-1" href="libc_26.html#Process-Completion-Status">26.7 Process Completion Status</a></li>
<li><a name="toc-BSD-Process-Wait-Functions" href="libc_26.html#BSD-Wait-Functions">26.8 BSD Process Wait Functions</a></li>
<li><a name="toc-Process-Creation-Example-1" href="libc_26.html#Process-Creation-Example">26.9 Process Creation Example</a></li>
</ul></li>
<li><a name="toc-Job-Control-1" href="libc_27.html#Job-Control">27. Job Control</a>
<ul class="toc">
<li><a name="toc-Concepts-of-Job-Control-1" href="libc_27.html#Concepts-of-Job-Control">27.1 Concepts of Job Control</a></li>
<li><a name="toc-Job-Control-is-Optional-1" href="libc_27.html#Job-Control-is-Optional">27.2 Job Control is Optional</a></li>
<li><a name="toc-Controlling-Terminal-of-a-Process" href="libc_27.html#Controlling-Terminal">27.3 Controlling Terminal of a Process</a></li>
<li><a name="toc-Access-to-the-Controlling-Terminal" href="libc_27.html#Access-to-the-Terminal">27.4 Access to the Controlling Terminal</a></li>
<li><a name="toc-Orphaned-Process-Groups-1" href="libc_27.html#Orphaned-Process-Groups">27.5 Orphaned Process Groups</a></li>
<li><a name="toc-Implementing-a-Job-Control-Shell" href="libc_27.html#Implementing-a-Shell">27.6 Implementing a Job Control Shell</a>
<ul class="toc">
<li><a name="toc-Data-Structures-for-the-Shell" href="libc_27.html#Data-Structures">27.6.1 Data Structures for the Shell</a></li>
<li><a name="toc-Initializing-the-Shell-1" href="libc_27.html#Initializing-the-Shell">27.6.2 Initializing the Shell</a></li>
<li><a name="toc-Launching-Jobs-1" href="libc_27.html#Launching-Jobs">27.6.3 Launching Jobs</a></li>
<li><a name="toc-Foreground-and-Background-1" href="libc_27.html#Foreground-and-Background">27.6.4 Foreground and Background</a></li>
<li><a name="toc-Stopped-and-Terminated-Jobs-1" href="libc_27.html#Stopped-and-Terminated-Jobs">27.6.5 Stopped and Terminated Jobs</a></li>
<li><a name="toc-Continuing-Stopped-Jobs-1" href="libc_27.html#Continuing-Stopped-Jobs">27.6.6 Continuing Stopped Jobs</a></li>
<li><a name="toc-The-Missing-Pieces" href="libc_27.html#Missing-Pieces">27.6.7 The Missing Pieces</a></li>
</ul></li>
<li><a name="toc-Functions-for-Job-Control-1" href="libc_27.html#Functions-for-Job-Control">27.7 Functions for Job Control</a>
<ul class="toc">
<li><a name="toc-Identifying-the-Controlling-Terminal" href="libc_27.html#Identifying-the-Terminal">27.7.1 Identifying the Controlling Terminal</a></li>
<li><a name="toc-Process-Group-Functions-1" href="libc_27.html#Process-Group-Functions">27.7.2 Process Group Functions</a></li>
<li><a name="toc-Functions-for-Controlling-Terminal-Access" href="libc_27.html#Terminal-Access-Functions">27.7.3 Functions for Controlling Terminal Access</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-System-Databases-and-Name-Service-Switch" href="libc_28.html#Name-Service-Switch">28. System Databases and Name Service Switch</a>
<ul class="toc">
<li><a name="toc-NSS-Basics-1" href="libc_28.html#NSS-Basics">28.1 NSS Basics</a></li>
<li><a name="toc-The-NSS-Configuration-File" href="libc_28.html#NSS-Configuration-File">28.2 The NSS Configuration File</a>
<ul class="toc">
<li><a name="toc-Services-in-the-NSS-configuration-File" href="libc_28.html#Services-in-the-NSS-configuration">28.2.1 Services in the NSS configuration File</a></li>
<li><a name="toc-Actions-in-the-NSS-configuration-1" href="libc_28.html#Actions-in-the-NSS-configuration">28.2.2 Actions in the NSS configuration</a></li>
<li><a name="toc-Notes-on-the-NSS-Configuration-File" href="libc_28.html#Notes-on-NSS-Configuration-File">28.2.3 Notes on the NSS Configuration File</a></li>
</ul></li>
<li><a name="toc-NSS-Module-Internals-1" href="libc_28.html#NSS-Module-Internals">28.3 NSS Module Internals</a>
<ul class="toc">
<li><a name="toc-The-Naming-Scheme-of-the-NSS-Modules" href="libc_28.html#NSS-Module-Names">28.3.1 The Naming Scheme of the NSS Modules</a></li>
<li><a name="toc-The-Interface-of-the-Function-in-NSS-Modules" href="libc_28.html#NSS-Modules-Interface">28.3.2 The Interface of the Function in NSS Modules</a></li>
</ul></li>
<li><a name="toc-Extending-NSS-1" href="libc_28.html#Extending-NSS">28.4 Extending NSS</a>
<ul class="toc">
<li><a name="toc-Adding-another-Service-to-NSS-1" href="libc_28.html#Adding-another-Service-to-NSS">28.4.1 Adding another Service to NSS</a></li>
<li><a name="toc-Internals-of-the-NSS-Module-Functions" href="libc_28.html#NSS-Module-Function-Internals">28.4.2 Internals of the NSS Module Functions</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Users-and-Groups-1" href="libc_29.html#Users-and-Groups">29. Users and Groups</a>
<ul class="toc">
<li><a name="toc-User-and-Group-IDs-1" href="libc_29.html#User-and-Group-IDs">29.1 User and Group IDs</a></li>
<li><a name="toc-The-Persona-of-a-Process" href="libc_29.html#Process-Persona">29.2 The Persona of a Process</a></li>
<li><a name="toc-Why-Change-the-Persona-of-a-Process_003f" href="libc_29.html#Why-Change-Persona">29.3 Why Change the Persona of a Process?</a></li>
<li><a name="toc-How-an-Application-Can-Change-Persona" href="libc_29.html#How-Change-Persona">29.4 How an Application Can Change Persona</a></li>
<li><a name="toc-Reading-the-Persona-of-a-Process" href="libc_29.html#Reading-Persona">29.5 Reading the Persona of a Process</a></li>
<li><a name="toc-Setting-the-User-ID" href="libc_29.html#Setting-User-ID">29.6 Setting the User ID</a></li>
<li><a name="toc-Setting-the-Group-IDs" href="libc_29.html#Setting-Groups">29.7 Setting the Group IDs</a></li>
<li><a name="toc-Enabling-and-Disabling-Setuid-Access" href="libc_29.html#Enable_002fDisable-Setuid">29.8 Enabling and Disabling Setuid Access</a></li>
<li><a name="toc-Setuid-Program-Example-1" href="libc_29.html#Setuid-Program-Example">29.9 Setuid Program Example</a></li>
<li><a name="toc-Tips-for-Writing-Setuid-Programs" href="libc_29.html#Tips-for-Setuid">29.10 Tips for Writing Setuid Programs</a></li>
<li><a name="toc-Identifying-Who-Logged-In" href="libc_29.html#Who-Logged-In">29.11 Identifying Who Logged In</a></li>
<li><a name="toc-The-User-Accounting-Database" href="libc_29.html#User-Accounting-Database">29.12 The User Accounting Database</a>
<ul class="toc">
<li><a name="toc-Manipulating-the-User-Accounting-Database" href="libc_29.html#Manipulating-the-Database">29.12.1 Manipulating the User Accounting Database</a></li>
<li><a name="toc-XPG-User-Accounting-Database-Functions" href="libc_29.html#XPG-Functions">29.12.2 XPG User Accounting Database Functions</a></li>
<li><a name="toc-Logging-In-and-Out-1" href="libc_29.html#Logging-In-and-Out">29.12.3 Logging In and Out</a></li>
</ul></li>
<li><a name="toc-User-Database-1" href="libc_29.html#User-Database">29.13 User Database</a>
<ul class="toc">
<li><a name="toc-The-Data-Structure-that-Describes-a-User" href="libc_29.html#User-Data-Structure">29.13.1 The Data Structure that Describes a User</a></li>
<li><a name="toc-Looking-Up-One-User" href="libc_29.html#Lookup-User">29.13.2 Looking Up One User</a></li>
<li><a name="toc-Scanning-the-List-of-All-Users" href="libc_29.html#Scanning-All-Users">29.13.3 Scanning the List of All Users</a></li>
<li><a name="toc-Writing-a-User-Entry-1" href="libc_29.html#Writing-a-User-Entry">29.13.4 Writing a User Entry</a></li>
</ul></li>
<li><a name="toc-Group-Database-1" href="libc_29.html#Group-Database">29.14 Group Database</a>
<ul class="toc">
<li><a name="toc-The-Data-Structure-for-a-Group" href="libc_29.html#Group-Data-Structure">29.14.1 The Data Structure for a Group</a></li>
<li><a name="toc-Looking-Up-One-Group" href="libc_29.html#Lookup-Group">29.14.2 Looking Up One Group</a></li>
<li><a name="toc-Scanning-the-List-of-All-Groups" href="libc_29.html#Scanning-All-Groups">29.14.3 Scanning the List of All Groups</a></li>
</ul></li>
<li><a name="toc-User-and-Group-Database-Example" href="libc_29.html#Database-Example">29.15 User and Group Database Example</a></li>
<li><a name="toc-Netgroup-Database-1" href="libc_29.html#Netgroup-Database">29.16 Netgroup Database</a>
<ul class="toc">
<li><a name="toc-Netgroup-Data-1" href="libc_29.html#Netgroup-Data">29.16.1 Netgroup Data</a></li>
<li><a name="toc-Looking-up-one-Netgroup" href="libc_29.html#Lookup-Netgroup">29.16.2 Looking up one Netgroup</a></li>
<li><a name="toc-Testing-for-Netgroup-Membership" href="libc_29.html#Netgroup-Membership">29.16.3 Testing for Netgroup Membership</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-System-Management-1" href="libc_30.html#System-Management">30. System Management</a>
<ul class="toc">
<li><a name="toc-Host-Identification-1" href="libc_30.html#Host-Identification">30.1 Host Identification</a></li>
<li><a name="toc-Platform-Type-Identification" href="libc_30.html#Platform-Type">30.2 Platform Type Identification</a></li>
<li><a name="toc-Controlling-and-Querying-Mounts" href="libc_30.html#Filesystem-Handling">30.3 Controlling and Querying Mounts</a>
<ul class="toc">
<li><a name="toc-Mount-Information-1" href="libc_30.html#Mount-Information">30.3.1 Mount Information</a>
<ul class="toc">
<li><a name="toc-The-fstab-file" href="libc_30.html#fstab">30.3.1.1 The ‘<tt>fstab</tt>’ file</a></li>
<li><a name="toc-The-mtab-file" href="libc_30.html#mtab">30.3.1.2 The ‘<tt>mtab</tt>’ file</a></li>
<li><a name="toc-Other-_0028Non_002dlibc_0029-Sources-of-Mount-Information" href="libc_30.html#Other-Mount-Information">30.3.1.3 Other (Non-libc) Sources of Mount Information</a></li>
</ul></li>
<li><a name="toc-Mount_002c-Unmount_002c-Remount" href="libc_30.html#Mount_002dUnmount_002dRemount">30.3.2 Mount, Unmount, Remount</a></li>
</ul></li>
<li><a name="toc-System-Parameters-1" href="libc_30.html#System-Parameters">30.4 System Parameters</a></li>
</ul></li>
<li><a name="toc-System-Configuration-Parameters" href="libc_31.html#System-Configuration">31. System Configuration Parameters</a>
<ul class="toc">
<li><a name="toc-General-Capacity-Limits" href="libc_31.html#General-Limits">31.1 General Capacity Limits</a></li>
<li><a name="toc-Overall-System-Options" href="libc_31.html#System-Options">31.2 Overall System Options</a></li>
<li><a name="toc-Which-Version-of-POSIX-is-Supported" href="libc_31.html#Version-Supported">31.3 Which Version of POSIX is Supported</a></li>
<li><a name="toc-Using-sysconf" href="libc_31.html#Sysconf">31.4 Using <code>sysconf</code></a>
<ul class="toc">
<li><a name="toc-Definition-of-sysconf" href="libc_31.html#Sysconf-Definition">31.4.1 Definition of <code>sysconf</code></a></li>
<li><a name="toc-Constants-for-sysconf-Parameters" href="libc_31.html#Constants-for-Sysconf">31.4.2 Constants for <code>sysconf</code> Parameters</a></li>
<li><a name="toc-Examples-of-sysconf" href="libc_31.html#Examples-of-Sysconf">31.4.3 Examples of <code>sysconf</code></a></li>
</ul></li>
<li><a name="toc-Minimum-Values-for-General-Capacity-Limits" href="libc_31.html#Minimums">31.5 Minimum Values for General Capacity Limits</a></li>
<li><a name="toc-Limits-on-File-System-Capacity" href="libc_31.html#Limits-for-Files">31.6 Limits on File System Capacity</a></li>
<li><a name="toc-Optional-Features-in-File-Support" href="libc_31.html#Options-for-Files">31.7 Optional Features in File Support</a></li>
<li><a name="toc-Minimum-Values-for-File-System-Limits" href="libc_31.html#File-Minimums">31.8 Minimum Values for File System Limits</a></li>
<li><a name="toc-Using-pathconf" href="libc_31.html#Pathconf">31.9 Using <code>pathconf</code></a></li>
<li><a name="toc-Utility-Program-Capacity-Limits" href="libc_31.html#Utility-Limits">31.10 Utility Program Capacity Limits</a></li>
<li><a name="toc-Minimum-Values-for-Utility-Limits" href="libc_31.html#Utility-Minimums">31.11 Minimum Values for Utility Limits</a></li>
<li><a name="toc-String_002dValued-Parameters" href="libc_31.html#String-Parameters">31.12 String-Valued Parameters</a></li>
</ul></li>
<li><a name="toc-DES-Encryption-and-Password-Handling" href="libc_32.html#Cryptographic-Functions">32. DES Encryption and Password Handling</a>
<ul class="toc">
<li><a name="toc-Legal-Problems-1" href="libc_32.html#Legal-Problems">32.1 Legal Problems</a></li>
<li><a name="toc-Reading-Passwords" href="libc_32.html#getpass">32.2 Reading Passwords</a></li>
<li><a name="toc-Encrypting-Passwords" href="libc_32.html#crypt">32.3 Encrypting Passwords</a></li>
<li><a name="toc-DES-Encryption-1" href="libc_32.html#DES-Encryption">32.4 DES Encryption</a></li>
</ul></li>
<li><a name="toc-Debugging-support" href="libc_33.html#Debugging-Support">33. Debugging support</a>
<ul class="toc">
<li><a name="toc-Backtraces-1" href="libc_33.html#Backtraces">33.1 Backtraces</a></li>
</ul></li>
<li><a name="toc-C-Language-Facilities-in-the-Library" href="libc_34.html#Language-Features">A. C Language Facilities in the Library</a>
<ul class="toc">
<li><a name="toc-Explicitly-Checking-Internal-Consistency" href="libc_34.html#Consistency-Checking">A.1 Explicitly Checking Internal Consistency</a></li>
<li><a name="toc-Variadic-Functions-1" href="libc_34.html#Variadic-Functions">A.2 Variadic Functions</a>
<ul class="toc">
<li><a name="toc-Why-Variadic-Functions-are-Used" href="libc_34.html#Why-Variadic">A.2.1 Why Variadic Functions are Used</a></li>
<li><a name="toc-How-Variadic-Functions-are-Defined-and-Used" href="libc_34.html#How-Variadic">A.2.2 How Variadic Functions are Defined and Used</a>
<ul class="toc">
<li><a name="toc-Syntax-for-Variable-Arguments" href="libc_34.html#Variadic-Prototypes">A.2.2.1 Syntax for Variable Arguments</a></li>
<li><a name="toc-Receiving-the-Argument-Values" href="libc_34.html#Receiving-Arguments">A.2.2.2 Receiving the Argument Values</a></li>
<li><a name="toc-How-Many-Arguments-Were-Supplied" href="libc_34.html#How-Many-Arguments">A.2.2.3 How Many Arguments Were Supplied</a></li>
<li><a name="toc-Calling-Variadic-Functions" href="libc_34.html#Calling-Variadics">A.2.2.4 Calling Variadic Functions</a></li>
<li><a name="toc-Argument-Access-Macros" href="libc_34.html#Argument-Macros">A.2.2.5 Argument Access Macros</a></li>
</ul></li>
<li><a name="toc-Example-of-a-Variadic-Function" href="libc_34.html#Variadic-Example">A.2.3 Example of a Variadic Function</a>
<ul class="toc">
<li><a name="toc-Old_002dStyle-Variadic-Functions" href="libc_34.html#Old-Varargs">A.2.3.1 Old-Style Variadic Functions</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Null-Pointer-Constant-1" href="libc_34.html#Null-Pointer-Constant">A.3 Null Pointer Constant</a></li>
<li><a name="toc-Important-Data-Types-1" href="libc_34.html#Important-Data-Types">A.4 Important Data Types</a></li>
<li><a name="toc-Data-Type-Measurements-1" href="libc_34.html#Data-Type-Measurements">A.5 Data Type Measurements</a>
<ul class="toc">
<li><a name="toc-Computing-the-Width-of-an-Integer-Data-Type" href="libc_34.html#Width-of-Type">A.5.1 Computing the Width of an Integer Data Type</a></li>
<li><a name="toc-Range-of-an-Integer-Type" href="libc_34.html#Range-of-Type">A.5.2 Range of an Integer Type</a></li>
<li><a name="toc-Floating-Type-Macros-1" href="libc_34.html#Floating-Type-Macros">A.5.3 Floating Type Macros</a>
<ul class="toc">
<li><a name="toc-Floating-Point-Representation-Concepts" href="libc_34.html#Floating-Point-Concepts">A.5.3.1 Floating Point Representation Concepts</a></li>
<li><a name="toc-Floating-Point-Parameters-1" href="libc_34.html#Floating-Point-Parameters">A.5.3.2 Floating Point Parameters</a></li>
<li><a name="toc-IEEE-Floating-Point-1" href="libc_34.html#IEEE-Floating-Point">A.5.3.3 IEEE Floating Point</a></li>
</ul></li>
<li><a name="toc-Structure-Field-Offset-Measurement" href="libc_34.html#Structure-Measurement">A.5.4 Structure Field Offset Measurement</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Summary-of-Library-Facilities" href="libc_35.html#Library-Summary">B. Summary of Library Facilities</a></li>
<li><a name="toc-Installing-the-GNU-C-Library" href="libc_36.html#Installation">C. Installing the GNU C Library</a>
<ul class="toc">
<li><a name="toc-Configuring-and-compiling-GNU-Libc" href="libc_36.html#Configuring-and-compiling">C.1 Configuring and compiling GNU Libc</a></li>
<li><a name="toc-Installing-the-C-Library" href="libc_36.html#Running-make-install">C.2 Installing the C Library</a></li>
<li><a name="toc-Recommended-Tools-for-Compilation" href="libc_36.html#Tools-for-Compilation">C.3 Recommended Tools for Compilation</a></li>
<li><a name="toc-Specific-advice-for-GNU_002fLinux-systems" href="libc_36.html#Linux">C.4 Specific advice for GNU/Linux systems</a></li>
<li><a name="toc-Reporting-Bugs-1" href="libc_36.html#Reporting-Bugs">C.5 Reporting Bugs</a></li>
</ul></li>
<li><a name="toc-Library-Maintenance" href="libc_37.html#Maintenance">D. Library Maintenance</a>
<ul class="toc">
<li><a name="toc-Adding-New-Functions" href="libc_37.html#Source-Layout">D.1 Adding New Functions</a></li>
<li><a name="toc-Porting-the-GNU-C-Library" href="libc_37.html#Porting">D.2 Porting the GNU C Library</a>
<ul class="toc">
<li><a name="toc-Layout-of-the-sysdeps-Directory-Hierarchy" href="libc_37.html#Hierarchy-Conventions">D.2.1 Layout of the ‘<tt>sysdeps</tt>’ Directory Hierarchy</a></li>
<li><a name="toc-Porting-the-GNU-C-Library-to-Unix-Systems" href="libc_37.html#Porting-to-Unix">D.2.2 Porting the GNU C Library to Unix Systems</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Contributors-to-the-GNU-C-Library" href="libc_38.html#Contributors">E. Contributors to the GNU C Library</a></li>
<li><a name="toc-Free-Software-Needs-Free-Documentation" href="libc_39.html#Free-Manuals">F. Free Software Needs Free Documentation</a></li>
<li><a name="toc-GNU-Lesser-General-Public-License" href="libc_40.html#Copying">G. GNU Lesser General Public License</a></li>
<li><a name="toc-GNU-Free-Documentation-License" href="libc_41.html#Documentation-License">H. GNU Free Documentation License</a>
<ul class="toc">
<ul class="toc">
<li><a name="toc-ADDENDUM_003a-How-to-use-this-License-for-your-documents" href="libc_41.html#ADDENDUM_003a-How-to-use-this-License-for-your-documents">H.0.1 ADDENDUM: How to use this License for your documents</a></li>
</ul>
</li>
</ul></li>
<li><a name="toc-Concept-Index-1" href="libc_42.html#Concept-Index">Concept Index</a></li>
<li><a name="toc-Type-Index-1" href="libc_50.html#Type-Index">Type Index</a></li>
<li><a name="toc-Function-and-Macro-Index" href="libc_52.html#Function-Index">Function and Macro Index</a></li>
<li><a name="toc-Variable-and-Constant-Macro-Index" href="libc_61.html#Variable-Index">Variable and Constant Macro Index</a></li>
<li><a name="toc-Program-and-File-Index" href="libc_70.html#File-Index">Program and File Index</a></li>
</ul>
</div>
<hr size="1">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libc.html#Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td valign="middle" align="left">[<a href="libc_42.html#Concept-Index" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="libc_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
This document was generated by <em>root</em> on <em>April 20, 2012</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.
</font>
<br>
</p>
</body>
</html>
|