blob: a007614d5c6afb2339a06ec49b3bb94940023e9b (
plain)
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
|
<!DOCTYPE kdeveloptoc>
<kdeveloptoc>
<title>LIBC (umn.edu)</title>
<base href="http://epoxy.mrs.umn.edu/doc/glibc-doc/html/"/>
<tocsect1 name="1. Introduction" url="chapters_1.html#SEC1">
<tocsect2 name="1.1 Getting Started" url="chapters_1.html#SEC2"/>
<tocsect2 name="1.2 Standards and Portability" url="chapters_1.html#SEC3">
<tocsect3 name="1.2.1 ISO C" url="chapters_1.html#SEC4"/>
<tocsect3 name="1.2.2 POSIX (The Portable Operating System Interface)" url="chapters_1.html#SEC5"/>
<tocsect3 name="1.2.3 Berkeley Unix" url="chapters_1.html#SEC6"/>
<tocsect3 name="1.2.4 SVID (The System V Interface Description)" url="chapters_1.html#SEC7"/>
<tocsect3 name="1.2.5 XPG (The X/Open Portability Guide)" url="chapters_1.html#SEC8"/>
</tocsect2>
<tocsect2 name="1.3 Using the Library" url="chapters_1.html#SEC9">
<tocsect3 name="1.3.1 Header Files" url="chapters_1.html#SEC10"/>
<tocsect3 name="1.3.2 Macro Definitions of Functions" url="chapters_1.html#SEC11"/>
<tocsect3 name="1.3.3 Reserved Names" url="chapters_1.html#SEC12"/>
<tocsect3 name="1.3.4 Feature Test Macros" url="chapters_1.html#SEC13"/>
</tocsect2>
<tocsect2 name="1.4 Roadmap to the Manual" url="chapters_1.html#SEC14"/>
</tocsect1>
<tocsect1 name="2. Error Reporting" url="chapters_2.html#SEC15">
<tocsect2 name="2.1 Checking for Errors" url="chapters_2.html#SEC16"/>
<tocsect2 name="2.2 Error Codes" url="chapters_2.html#SEC17"/>
<tocsect2 name="2.3 Error Messages" url="chapters_2.html#SEC18"/>
</tocsect1>
<tocsect1 name="3. Virtual Memory Allocation And Paging" url="chapters_3.html#SEC19">
<tocsect2 name="3.1 Process Memory Concepts" url="chapters_3.html#SEC20"/>
<tocsect2 name="3.2 Allocating Storage For Program Data" url="chapters_3.html#SEC21">
<tocsect3 name="3.2.1 Memory Allocation in C Programs" url="chapters_3.html#SEC22">
<tocsect4 name="3.2.1.1 Dynamic Memory Allocation" url="chapters_3.html#SEC23"/>
</tocsect3>
<tocsect3 name="3.2.2 Unconstrained Allocation" url="chapters_3.html#SEC24">
<tocsect4 name="3.2.2.1 Basic Memory Allocation" url="chapters_3.html#SEC25"/>
<tocsect4 name="3.2.2.2 Examples of malloc" url="chapters_3.html#SEC26"/>
<tocsect4 name="3.2.2.3 Freeing Memory Allocated with malloc" url="chapters_3.html#SEC27"/>
<tocsect4 name="3.2.2.4 Changing the Size of a Block" url="chapters_3.html#SEC28"/>
<tocsect4 name="3.2.2.5 Allocating Cleared Space" url="chapters_3.html#SEC29"/>
<tocsect4 name="3.2.2.6 Efficiency Considerations for malloc" url="chapters_3.html#SEC30"/>
<tocsect4 name="3.2.2.7 Allocating Aligned Memory Blocks" url="chapters_3.html#SEC31"/>
<tocsect4 name="3.2.2.8 Malloc Tunable Parameters" url="chapters_3.html#SEC32"/>
<tocsect4 name="3.2.2.9 Heap Consistency Checking" url="chapters_3.html#SEC33"/>
<tocsect4 name="3.2.2.10 Memory Allocation Hooks" url="chapters_3.html#SEC34"/>
<tocsect4 name="3.2.2.11 Statistics for Memory Allocation with malloc" url="chapters_3.html#SEC35"/>
<tocsect4 name="3.2.2.12 Summary of malloc-Related Functions" url="chapters_3.html#SEC36"/>
</tocsect3>
<tocsect3 name="3.2.3 Allocation Debugging" url="chapters_3.html#SEC37">
<tocsect4 name="3.2.3.1 How to install the tracing functionality" url="chapters_3.html#SEC38"/>
<tocsect4 name="3.2.3.2 Example program excerpts" url="chapters_3.html#SEC39"/>
<tocsect4 name="3.2.3.3 Some more or less clever ideas" url="chapters_3.html#SEC40"/>
<tocsect4 name="3.2.3.4 Interpreting the traces" url="chapters_3.html#SEC41"/>
</tocsect3>
<tocsect3 name="3.2.4 Obstacks" url="chapters_3.html#SEC42">
<tocsect4 name="3.2.4.1 Creating Obstacks" url="chapters_3.html#SEC43"/>
<tocsect4 name="3.2.4.2 Preparing for Using Obstacks" url="chapters_3.html#SEC44"/>
<tocsect4 name="3.2.4.3 Allocation in an Obstack" url="chapters_3.html#SEC45"/>
<tocsect4 name="3.2.4.4 Freeing Objects in an Obstack" url="chapters_3.html#SEC46"/>
<tocsect4 name="3.2.4.5 Obstack Functions and Macros" url="chapters_3.html#SEC47"/>
<tocsect4 name="3.2.4.6 Growing Objects" url="chapters_3.html#SEC48"/>
<tocsect4 name="3.2.4.7 Extra Fast Growing Objects" url="chapters_3.html#SEC49"/>
<tocsect4 name="3.2.4.8 Status of an Obstack" url="chapters_3.html#SEC50"/>
<tocsect4 name="3.2.4.9 Alignment of Data in Obstacks" url="chapters_3.html#SEC51"/>
<tocsect4 name="3.2.4.10 Obstack Chunks" url="chapters_3.html#SEC52"/>
<tocsect4 name="3.2.4.11 Summary of Obstack Functions" url="chapters_3.html#SEC53"/>
</tocsect3>
<tocsect3 name="3.2.5 Automatic Storage with Variable Size" url="chapters_3.html#SEC54">
<tocsect4 name="3.2.5.1 alloca Example" url="chapters_3.html#SEC55"/>
<tocsect4 name="3.2.5.2 Advantages of alloca" url="chapters_3.html#SEC56"/>
<tocsect4 name="3.2.5.3 Disadvantages of alloca" url="chapters_3.html#SEC57"/>
<tocsect4 name="3.2.5.4 GNU C Variable-Size Arrays" url="chapters_3.html#SEC58"/>
</tocsect3>
</tocsect2>
<tocsect2 name="3.3 Resizing the Data Segment" url="chapters_3.html#SEC59"/>
<tocsect2 name="3.4 Locking Pages" url="chapters_3.html#SEC60">
<tocsect3 name="3.4.1 Why Lock Pages" url="chapters_3.html#SEC61"/>
<tocsect3 name="3.4.2 Locked Memory Details" url="chapters_3.html#SEC62"/>
<tocsect3 name="3.4.3 Functions To Lock And Unlock Pages" url="chapters_3.html#SEC63"/>
</tocsect2>
</tocsect1>
<tocsect1 name="4. Character Handling" url="chapters_4.html#SEC64">
<tocsect2 name="4.1 Classification of Characters" url="chapters_4.html#SEC65"/>
<tocsect2 name="4.2 Case Conversion" url="chapters_4.html#SEC66"/>
<tocsect2 name="4.3 Character class determination for wide characters" url="chapters_4.html#SEC67"/>
<tocsect2 name="4.4 Notes on using the wide character classes" url="chapters_4.html#SEC68"/>
<tocsect2 name="4.5 Mapping of wide characters." url="chapters_4.html#SEC69"/>
</tocsect1>
<tocsect1 name="5. String and Array Utilities" url="chapters_5.html#SEC70">
<tocsect2 name="5.1 Representation of Strings" url="chapters_5.html#SEC71"/>
<tocsect2 name="5.2 String and Array Conventions" url="chapters_5.html#SEC72"/>
<tocsect2 name="5.3 String Length" url="chapters_5.html#SEC73"/>
<tocsect2 name="5.4 Copying and Concatenation" url="chapters_5.html#SEC74"/>
<tocsect2 name="5.5 String/Array Comparison" url="chapters_5.html#SEC75"/>
<tocsect2 name="5.6 Collation Functions" url="chapters_5.html#SEC76"/>
<tocsect2 name="5.7 Search Functions" url="chapters_5.html#SEC77">
<tocsect3 name="5.7.1 Compatibility String Search Functions" url="chapters_5.html#SEC78"/>
</tocsect2>
<tocsect2 name="5.8 Finding Tokens in a String" url="chapters_5.html#SEC79"/>
<tocsect2 name="5.9 strfry" url="chapters_5.html#SEC80"/>
<tocsect2 name="5.10 Trivial Encryption" url="chapters_5.html#SEC81"/>
<tocsect2 name="5.11 Encode Binary Data" url="chapters_5.html#SEC82"/>
<tocsect2 name="5.12 Argz and Envz Vectors" url="chapters_5.html#SEC83">
<tocsect3 name="5.12.1 Argz Functions" url="chapters_5.html#SEC84"/>
<tocsect3 name="5.12.2 Envz Functions" url="chapters_5.html#SEC85"/>
</tocsect2>
</tocsect1>
<tocsect1 name="6. Character Set Handling" url="chapters_6.html#SEC86">
<tocsect2 name="6.1 Introduction to Extended Characters" url="chapters_6.html#SEC87"/>
<tocsect2 name="6.2 Overview about Character Handling Functions" url="chapters_6.html#SEC88"/>
<tocsect2 name="6.3 Restartable Multibyte Conversion Functions" url="chapters_6.html#SEC89">
<tocsect3 name="6.3.1 Selecting the conversion and its properties" url="chapters_6.html#SEC90"/>
<tocsect3 name="6.3.2 Representing the state of the conversion" url="chapters_6.html#SEC91"/>
<tocsect3 name="6.3.3 Converting Single Characters" url="chapters_6.html#SEC92"/>
<tocsect3 name="6.3.4 Converting Multibyte and Wide Character Strings" url="chapters_6.html#SEC93"/>
<tocsect3 name="6.3.5 A Complete Multibyte Conversion Example" url="chapters_6.html#SEC94"/>
</tocsect2>
<tocsect2 name="6.4 Non-reentrant Conversion Function" url="chapters_6.html#SEC95">
<tocsect3 name="6.4.1 Non-reentrant Conversion of Single Characters" url="chapters_6.html#SEC96"/>
<tocsect3 name="6.4.2 Non-reentrant Conversion of Strings" url="chapters_6.html#SEC97"/>
<tocsect3 name="6.4.3 States in Non-reentrant Functions" url="chapters_6.html#SEC98"/>
</tocsect2>
<tocsect2 name="6.5 Generic Charset Conversion" url="chapters_6.html#SEC99">
<tocsect3 name="6.5.1 Generic Character Set Conversion Interface" url="chapters_6.html#SEC100"/>
<tocsect3 name="6.5.2 A complete iconv example" url="chapters_6.html#SEC101"/>
<tocsect3 name="6.5.3 Some Details about other iconv Implementations" url="chapters_6.html#SEC102"/>
<tocsect3 name="6.5.4 The iconv Implementation in the GNU C library" url="chapters_6.html#SEC103">
<tocsect4 name="6.5.4.1 Format of `gconv-modules' files" url="chapters_6.html#SEC104"/>
<tocsect4 name="6.5.4.2 Finding the conversion path in iconv" url="chapters_6.html#SEC105"/>
<tocsect4 name="6.5.4.3 iconv module data structures" url="chapters_6.html#SEC106"/>
<tocsect4 name="6.5.4.4 iconv module interfaces" url="chapters_6.html#SEC107"/>
</tocsect3>
</tocsect2>
</tocsect1>
<tocsect1 name="7. Locales and Internationalization" url="chapters_7.html#SEC108">
<tocsect2 name="7.1 What Effects a Locale Has" url="chapters_7.html#SEC109"/>
<tocsect2 name="7.2 Choosing a Locale" url="chapters_7.html#SEC110"/>
<tocsect2 name="7.3 Categories of Activities that Locales Affect" url="chapters_7.html#SEC111"/>
<tocsect2 name="7.4 How Programs Set the Locale" url="chapters_7.html#SEC112"/>
<tocsect2 name="7.5 Standard Locales" url="chapters_7.html#SEC113"/>
<tocsect2 name="7.6 Accessing Locale Information" url="chapters_7.html#SEC114">
<tocsect3 name="7.6.1 localeconv: It is portable but small...small" url="chapters_7.html#SEC115">
<tocsect4 name="7.6.1.1 Generic Numeric Formatting Parameters" url="chapters_7.html#SEC116"/>
<tocsect4 name="7.6.1.2 Printing the Currency Symbol" url="chapters_7.html#SEC117"/>
<tocsect4 name="7.6.1.3 Printing the Sign of a Monetary Amount" url="chapters_7.html#SEC118"/>
</tocsect3>
<tocsect3 name="7.6.2 Pinpoint Access to Locale Data" url="chapters_7.html#SEC119"/>
</tocsect2>
<tocsect2 name="7.7 A dedicated function to format numbers" url="chapters_7.html#SEC120"/>
<tocsect2 name="7.8 Yes-or-No Questions" url="chapters_7.html#SEC121"/>
</tocsect1>
<tocsect1 name="8. Message Translation" url="chapters_8.html#SEC122">
<tocsect2 name="8.1 X/Open Message Catalog Handling" url="chapters_8.html#SEC123">
<tocsect3 name="8.1.1 The catgets function family" url="chapters_8.html#SEC124"/>
<tocsect3 name="8.1.2 Format of the message catalog files" url="chapters_8.html#SEC125"/>
<tocsect3 name="8.1.3 Generate Message Catalogs files" url="chapters_8.html#SEC126"/>
<tocsect3 name="8.1.4 How to use the catgets interface" url="chapters_8.html#SEC127">
<tocsect4 name="8.1.4.1 Not using symbolic names" url="chapters_8.html#SEC128"/>
<tocsect4 name="8.1.4.2 Using symbolic names" url="chapters_8.html#SEC129"/>
<tocsect4 name="8.1.4.3 How does to this allow to develop" url="chapters_8.html#SEC130"/>
</tocsect3>
</tocsect2>
<tocsect2 name="8.2 The Uniforum approach to Message Translation" url="chapters_8.html#SEC131">
<tocsect3 name="8.2.1 The gettext family of functions" url="chapters_8.html#SEC132">
<tocsect4 name="8.2.1.1 What has to be done to translate a message?" url="chapters_8.html#SEC133"/>
<tocsect4 name="8.2.1.2 How to determine which catalog to be used" url="chapters_8.html#SEC134"/>
<tocsect4 name="8.2.1.3 Additional functions for more complicated situations" url="chapters_8.html#SEC135"/>
<tocsect4 name="8.2.1.4 How to specify the output character set gettext uses" url="chapters_8.html#SEC137"/>
<tocsect4 name="8.2.1.5 How to use gettext in GUI programs" url="chapters_8.html#SEC138"/>
<tocsect4 name="8.2.1.6 User influence on gettext" url="chapters_8.html#SEC139"/>
</tocsect3>
<tocsect3 name="8.2.2 Programs to handle message catalogs for gettext" url="chapters_8.html#SEC140"/>
</tocsect2>
</tocsect1>
<tocsect1 name="9. Searching and Sorting" url="chapters_9.html#SEC141">
<tocsect2 name="9.1 Defining the Comparison Function" url="chapters_9.html#SEC142"/>
<tocsect2 name="9.2 Array Search Function" url="chapters_9.html#SEC143"/>
<tocsect2 name="9.3 Array Sort Function" url="chapters_9.html#SEC144"/>
<tocsect2 name="9.4 Searching and Sorting Example" url="chapters_9.html#SEC145"/>
<tocsect2 name="9.5 The hsearch function." url="chapters_9.html#SEC146"/>
<tocsect2 name="9.6 The tsearch function." url="chapters_9.html#SEC147"/>
</tocsect1>
<tocsect1 name="10. Pattern Matching" url="chapters_10.html#SEC148">
<tocsect2 name="10.1 Wildcard Matching" url="chapters_10.html#SEC149"/>
<tocsect2 name="10.2 Globbing" url="chapters_10.html#SEC150">
<tocsect3 name="10.2.1 Calling glob" url="chapters_10.html#SEC151"/>
<tocsect3 name="10.2.2 Flags for Globbing" url="chapters_10.html#SEC152"/>
<tocsect3 name="10.2.3 More Flags for Globbing" url="chapters_10.html#SEC153"/>
</tocsect2>
<tocsect2 name="10.3 Regular Expression Matching" url="chapters_10.html#SEC154">
<tocsect3 name="10.3.1 POSIX Regular Expression Compilation" url="chapters_10.html#SEC155"/>
<tocsect3 name="10.3.2 Flags for POSIX Regular Expressions" url="chapters_10.html#SEC156"/>
<tocsect3 name="10.3.3 Matching a Compiled POSIX Regular Expression" url="chapters_10.html#SEC157"/>
<tocsect3 name="10.3.4 Match Results with Subexpressions" url="chapters_10.html#SEC158"/>
<tocsect3 name="10.3.5 Complications in Subexpression Matching" url="chapters_10.html#SEC159"/>
<tocsect3 name="10.3.6 POSIX Regexp Matching Cleanup" url="chapters_10.html#SEC160"/>
</tocsect2>
<tocsect2 name="10.4 Shell-Style Word Expansion" url="chapters_10.html#SEC161">
<tocsect3 name="10.4.1 The Stages of Word Expansion" url="chapters_10.html#SEC162"/>
<tocsect3 name="10.4.2 Calling wordexp" url="chapters_10.html#SEC163"/>
<tocsect3 name="10.4.3 Flags for Word Expansion" url="chapters_10.html#SEC164"/>
<tocsect3 name="10.4.4 wordexp Example" url="chapters_10.html#SEC165"/>
<tocsect3 name="10.4.5 Details of Tilde Expansion" url="chapters_10.html#SEC166"/>
<tocsect3 name="10.4.6 Details of Variable Substitution" url="chapters_10.html#SEC167"/>
</tocsect2>
</tocsect1>
<tocsect1 name="11. Input/Output Overview" url="chapters_11.html#SEC168">
<tocsect2 name="11.1 Input/Output Concepts" url="chapters_11.html#SEC169">
<tocsect3 name="11.1.1 Streams and File Descriptors" url="chapters_11.html#SEC170"/>
<tocsect3 name="11.1.2 File Position" url="chapters_11.html#SEC171"/>
</tocsect2>
<tocsect2 name="11.2 File Names" url="chapters_11.html#SEC172">
<tocsect3 name="11.2.1 Directories" url="chapters_11.html#SEC173"/>
<tocsect3 name="11.2.2 File Name Resolution" url="chapters_11.html#SEC174"/>
<tocsect3 name="11.2.3 File Name Errors" url="chapters_11.html#SEC175"/>
<tocsect3 name="11.2.4 Portability of File Names" url="chapters_11.html#SEC176"/>
</tocsect2>
</tocsect1>
<tocsect1 name="12. Input/Output on Streams" url="chapters_12.html#SEC177">
<tocsect2 name="12.1 Streams" url="chapters_12.html#SEC178"/>
<tocsect2 name="12.2 Standard Streams" url="chapters_12.html#SEC179"/>
<tocsect2 name="12.3 Opening Streams" url="chapters_12.html#SEC180"/>
<tocsect2 name="12.4 Closing Streams" url="chapters_12.html#SEC181"/>
<tocsect2 name="12.5 Streams and Threads" url="chapters_12.html#SEC182"/>
<tocsect2 name="12.6 Streams in Internationalized Applications" url="chapters_12.html#SEC183"/>
<tocsect2 name="12.7 Simple Output by Characters or Lines" url="chapters_12.html#SEC184"/>
<tocsect2 name="12.8 Character Input" url="chapters_12.html#SEC185"/>
<tocsect2 name="12.9 Line-Oriented Input" url="chapters_12.html#SEC186"/>
<tocsect2 name="12.10 Unreading" url="chapters_12.html#SEC187">
<tocsect3 name="12.10.1 What Unreading Means" url="chapters_12.html#SEC188"/>
<tocsect3 name="12.10.2 Using ungetc To Do Unreading" url="chapters_12.html#SEC189"/>
</tocsect2>
<tocsect2 name="12.11 Block Input/Output" url="chapters_12.html#SEC190"/>
<tocsect2 name="12.12 Formatted Output" url="chapters_12.html#SEC191">
<tocsect3 name="12.12.1 Formatted Output Basics" url="chapters_12.html#SEC192"/>
<tocsect3 name="12.12.2 Output Conversion Syntax" url="chapters_12.html#SEC193"/>
<tocsect3 name="12.12.3 Table of Output Conversions" url="chapters_12.html#SEC194"/>
<tocsect3 name="12.12.4 Integer Conversions" url="chapters_12.html#SEC195"/>
<tocsect3 name="12.12.5 Floating-Point Conversions" url="chapters_12.html#SEC196"/>
<tocsect3 name="12.12.6 Other Output Conversions" url="chapters_12.html#SEC197"/>
<tocsect3 name="12.12.7 Formatted Output Functions" url="chapters_12.html#SEC198"/>
<tocsect3 name="12.12.8 Dynamically Allocating Formatted Output" url="chapters_12.html#SEC199"/>
<tocsect3 name="12.12.9 Variable Arguments Output Functions" url="chapters_12.html#SEC200"/>
<tocsect3 name="12.12.10 Parsing a Template String" url="chapters_12.html#SEC201"/>
<tocsect3 name="12.12.11 Example of Parsing a Template String" url="chapters_12.html#SEC202"/>
</tocsect2>
<tocsect2 name="12.13 Customizing printf" url="chapters_12.html#SEC203">
<tocsect3 name="12.13.1 Registering New Conversions" url="chapters_12.html#SEC204"/>
<tocsect3 name="12.13.2 Conversion Specifier Options" url="chapters_12.html#SEC205"/>
<tocsect3 name="12.13.3 Defining the Output Handler" url="chapters_12.html#SEC206"/>
<tocsect3 name="12.13.4 printf Extension Example" url="chapters_12.html#SEC207"/>
<tocsect3 name="12.13.5 Predefined printf Handlers" url="chapters_12.html#SEC208"/>
</tocsect2>
<tocsect2 name="12.14 Formatted Input" url="chapters_12.html#SEC209">
<tocsect3 name="12.14.1 Formatted Input Basics" url="chapters_12.html#SEC210"/>
<tocsect3 name="12.14.2 Input Conversion Syntax" url="chapters_12.html#SEC211"/>
<tocsect3 name="12.14.3 Table of Input Conversions" url="chapters_12.html#SEC212"/>
<tocsect3 name="12.14.4 Numeric Input Conversions" url="chapters_12.html#SEC213"/>
<tocsect3 name="12.14.5 String Input Conversions" url="chapters_12.html#SEC214"/>
<tocsect3 name="12.14.6 Dynamically Allocating String Conversions" url="chapters_12.html#SEC215"/>
<tocsect3 name="12.14.7 Other Input Conversions" url="chapters_12.html#SEC216"/>
<tocsect3 name="12.14.8 Formatted Input Functions" url="chapters_12.html#SEC217"/>
<tocsect3 name="12.14.9 Variable Arguments Input Functions" url="chapters_12.html#SEC218"/>
</tocsect2>
<tocsect2 name="12.15 End-Of-File and Errors" url="chapters_12.html#SEC219"/>
<tocsect2 name="12.16 Recovering from errors" url="chapters_12.html#SEC220"/>
<tocsect2 name="12.17 Text and Binary Streams" url="chapters_12.html#SEC221"/>
<tocsect2 name="12.18 File Positioning" url="chapters_12.html#SEC222"/>
<tocsect2 name="12.19 Portable File-Position Functions" url="chapters_12.html#SEC223"/>
<tocsect2 name="12.20 Stream Buffering" url="chapters_12.html#SEC224">
<tocsect3 name="12.20.1 Buffering Concepts" url="chapters_12.html#SEC225"/>
<tocsect3 name="12.20.2 Flushing Buffers" url="chapters_12.html#SEC226"/>
<tocsect3 name="12.20.3 Controlling Which Kind of Buffering" url="chapters_12.html#SEC227"/>
</tocsect2>
<tocsect2 name="12.21 Other Kinds of Streams" url="chapters_12.html#SEC228">
<tocsect3 name="12.21.1 String Streams" url="chapters_12.html#SEC229"/>
<tocsect3 name="12.21.2 Obstack Streams" url="chapters_12.html#SEC230"/>
<tocsect3 name="12.21.3 Programming Your Own Custom Streams" url="chapters_12.html#SEC231">
<tocsect4 name="12.21.3.1 Custom Streams and Cookies" url="chapters_12.html#SEC232"/>
<tocsect4 name="12.21.3.2 Custom Stream Hook Functions" url="chapters_12.html#SEC233"/>
</tocsect3>
</tocsect2>
<tocsect2 name="12.22 Formatted Messages" url="chapters_12.html#SEC234">
<tocsect3 name="12.22.1 Printing Formatted Messages" url="chapters_12.html#SEC235"/>
<tocsect3 name="12.22.2 Adding Severity Classes" url="chapters_12.html#SEC236"/>
<tocsect3 name="12.22.3 How to use fmtmsg and addseverity" url="chapters_12.html#SEC237"/>
</tocsect2>
</tocsect1>
<tocsect1 name="13. Low-Level Input/Output" url="chapters_13.html#SEC238">
<tocsect2 name="13.1 Opening and Closing Files" url="chapters_13.html#SEC239"/>
<tocsect2 name="13.2 Input and Output Primitives" url="chapters_13.html#SEC240"/>
<tocsect2 name="13.3 Setting the File Position of a Descriptor" url="chapters_13.html#SEC241"/>
<tocsect2 name="13.4 Descriptors and Streams" url="chapters_13.html#SEC242"/>
<tocsect2 name="13.5 Dangers of Mixing Streams and Descriptors" url="chapters_13.html#SEC243">
<tocsect3 name="13.5.1 Linked Channels" url="chapters_13.html#SEC244"/>
<tocsect3 name="13.5.2 Independent Channels" url="chapters_13.html#SEC245"/>
<tocsect3 name="13.5.3 Cleaning Streams" url="chapters_13.html#SEC246"/>
</tocsect2>
<tocsect2 name="13.6 Fast Scatter-Gather I/O" url="chapters_13.html#SEC247"/>
<tocsect2 name="13.7 Memory-mapped I/O" url="chapters_13.html#SEC248"/>
<tocsect2 name="13.8 Waiting for Input or Output" url="chapters_13.html#SEC249"/>
<tocsect2 name="13.9 Synchronizing I/O operations" url="chapters_13.html#SEC250"/>
<tocsect2 name="13.10 Perform I/O Operations in Parallel" url="chapters_13.html#SEC251">
<tocsect3 name="13.10.1 Asynchronous Read and Write Operations" url="chapters_13.html#SEC252"/>
<tocsect3 name="13.10.2 Getting the Status of AIO Operations" url="chapters_13.html#SEC253"/>
<tocsect3 name="13.10.3 Getting into a Consistent State" url="chapters_13.html#SEC254"/>
<tocsect3 name="13.10.4 Cancellation of AIO Operations" url="chapters_13.html#SEC255"/>
<tocsect3 name="13.10.5 How to optimize the AIO implementation" url="chapters_13.html#SEC256"/>
</tocsect2>
<tocsect2 name="13.11 Control Operations on Files" url="chapters_13.html#SEC257"/>
<tocsect2 name="13.12 Duplicating Descriptors" url="chapters_13.html#SEC258"/>
<tocsect2 name="13.13 File Descriptor Flags" url="chapters_13.html#SEC259"/>
<tocsect2 name="13.14 File Status Flags" url="chapters_13.html#SEC260">
<tocsect3 name="13.14.1 File Access Modes" url="chapters_13.html#SEC261"/>
<tocsect3 name="13.14.2 Open-time Flags" url="chapters_13.html#SEC262"/>
<tocsect3 name="13.14.3 I/O Operating Modes" url="chapters_13.html#SEC263"/>
<tocsect3 name="13.14.4 Getting and Setting File Status Flags" url="chapters_13.html#SEC264"/>
</tocsect2>
<tocsect2 name="13.15 File Locks" url="chapters_13.html#SEC265"/>
<tocsect2 name="13.16 Interrupt-Driven Input" url="chapters_13.html#SEC266"/>
<tocsect2 name="13.17 Generic I/O Control operations" url="chapters_13.html#SEC267"/>
</tocsect1>
<tocsect1 name="14. File System Interface" url="chapters_14.html#SEC268">
<tocsect2 name="14.1 Working Directory" url="chapters_14.html#SEC269"/>
<tocsect2 name="14.2 Accessing Directories" url="chapters_14.html#SEC270">
<tocsect3 name="14.2.1 Format of a Directory Entry" url="chapters_14.html#SEC271"/>
<tocsect3 name="14.2.2 Opening a Directory Stream" url="chapters_14.html#SEC272"/>
<tocsect3 name="14.2.3 Reading and Closing a Directory Stream" url="chapters_14.html#SEC273"/>
<tocsect3 name="14.2.4 Simple Program to List a Directory" url="chapters_14.html#SEC274"/>
<tocsect3 name="14.2.5 Random Access in a Directory Stream" url="chapters_14.html#SEC275"/>
<tocsect3 name="14.2.6 Scanning the Content of a Directory" url="chapters_14.html#SEC276"/>
<tocsect3 name="14.2.7 Simple Program to List a Directory, Mark II" url="chapters_14.html#SEC277"/>
</tocsect2>
<tocsect2 name="14.3 Working with Directory Trees" url="chapters_14.html#SEC278"/>
<tocsect2 name="14.4 Hard Links" url="chapters_14.html#SEC279"/>
<tocsect2 name="14.5 Symbolic Links" url="chapters_14.html#SEC280"/>
<tocsect2 name="14.6 Deleting Files" url="chapters_14.html#SEC281"/>
<tocsect2 name="14.7 Renaming Files" url="chapters_14.html#SEC282"/>
<tocsect2 name="14.8 Creating Directories" url="chapters_14.html#SEC283"/>
<tocsect2 name="14.9 File Attributes" url="chapters_14.html#SEC284">
<tocsect3 name="14.9.1 The meaning of the File Attributes" url="chapters_14.html#SEC285"/>
<tocsect3 name="14.9.2 Reading the Attributes of a File" url="chapters_14.html#SEC286"/>
<tocsect3 name="14.9.3 Testing the Type of a File" url="chapters_14.html#SEC287"/>
<tocsect3 name="14.9.4 File Owner" url="chapters_14.html#SEC288"/>
<tocsect3 name="14.9.5 The Mode Bits for Access Permission" url="chapters_14.html#SEC289"/>
<tocsect3 name="14.9.6 How Your Access to a File is Decided" url="chapters_14.html#SEC290"/>
<tocsect3 name="14.9.7 Assigning File Permissions" url="chapters_14.html#SEC291"/>
<tocsect3 name="14.9.8 Testing Permission to Access a File" url="chapters_14.html#SEC292"/>
<tocsect3 name="14.9.9 File Times" url="chapters_14.html#SEC293"/>
<tocsect3 name="14.9.10 File Size" url="chapters_14.html#SEC294"/>
</tocsect2>
<tocsect2 name="14.10 Making Special Files" url="chapters_14.html#SEC295"/>
<tocsect2 name="14.11 Temporary Files" url="chapters_14.html#SEC296"/>
</tocsect1>
<tocsect1 name="15. Pipes and FIFOs" url="chapters_15.html#SEC297">
<tocsect2 name="15.1 Creating a Pipe" url="chapters_15.html#SEC298"/>
<tocsect2 name="15.2 Pipe to a Subprocess" url="chapters_15.html#SEC299"/>
<tocsect2 name="15.3 FIFO Special Files" url="chapters_15.html#SEC300"/>
<tocsect2 name="15.4 Atomicity of Pipe I/O" url="chapters_15.html#SEC301"/>
</tocsect1>
<tocsect1 name="16. Sockets" url="chapters_16.html#SEC302">
<tocsect2 name="16.1 Socket Concepts" url="chapters_16.html#SEC303"/>
<tocsect2 name="16.2 Communication Styles" url="chapters_16.html#SEC304"/>
<tocsect2 name="16.3 Socket Addresses" url="chapters_16.html#SEC305">
<tocsect3 name="16.3.1 Address Formats" url="chapters_16.html#SEC306"/>
<tocsect3 name="16.3.2 Setting the Address of a Socket" url="chapters_16.html#SEC307"/>
<tocsect3 name="16.3.3 Reading the Address of a Socket" url="chapters_16.html#SEC308"/>
</tocsect2>
<tocsect2 name="16.4 Interface Naming" url="chapters_16.html#SEC309"/>
<tocsect2 name="16.5 The Local Namespace" url="chapters_16.html#SEC310">
<tocsect3 name="16.5.1 Local Namespace Concepts" url="chapters_16.html#SEC311"/>
<tocsect3 name="16.5.2 Details of Local Namespace" url="chapters_16.html#SEC312"/>
<tocsect3 name="16.5.3 Example of Local-Namespace Sockets" url="chapters_16.html#SEC313"/>
</tocsect2>
<tocsect2 name="16.6 The Internet Namespace" url="chapters_16.html#SEC314">
<tocsect3 name="16.6.1 Internet Socket Address Formats" url="chapters_16.html#SEC315"/>
<tocsect3 name="16.6.2 Host Addresses" url="chapters_16.html#SEC316">
<tocsect4 name="16.6.2.1 Internet Host Addresses" url="chapters_16.html#SEC317"/>
<tocsect4 name="16.6.2.2 Host Address Data Type" url="chapters_16.html#SEC320"/>
<tocsect4 name="16.6.2.3 Host Address Functions" url="chapters_16.html#SEC321"/>
<tocsect4 name="16.6.2.4 Host Names" url="chapters_16.html#SEC322"/>
</tocsect3>
<tocsect3 name="16.6.3 Internet Ports" url="chapters_16.html#SEC323"/>
<tocsect3 name="16.6.4 The Services Database" url="chapters_16.html#SEC324"/>
<tocsect3 name="16.6.5 Byte Order Conversion" url="chapters_16.html#SEC325"/>
<tocsect3 name="16.6.6 Protocols Database" url="chapters_16.html#SEC326"/>
<tocsect3 name="16.6.7 Internet Socket Example" url="chapters_16.html#SEC327"/>
</tocsect2>
<tocsect2 name="16.7 Other Namespaces" url="chapters_16.html#SEC328"/>
<tocsect2 name="16.8 Opening and Closing Sockets" url="chapters_16.html#SEC329">
<tocsect3 name="16.8.1 Creating a Socket" url="chapters_16.html#SEC330"/>
<tocsect3 name="16.8.2 Closing a Socket" url="chapters_16.html#SEC331"/>
<tocsect3 name="16.8.3 Socket Pairs" url="chapters_16.html#SEC332"/>
</tocsect2>
<tocsect2 name="16.9 Using Sockets with Connections" url="chapters_16.html#SEC333">
<tocsect3 name="16.9.1 Making a Connection" url="chapters_16.html#SEC334"/>
<tocsect3 name="16.9.2 Listening for Connections" url="chapters_16.html#SEC335"/>
<tocsect3 name="16.9.3 Accepting Connections" url="chapters_16.html#SEC336"/>
<tocsect3 name="16.9.4 Who is Connected to Me?" url="chapters_16.html#SEC337"/>
<tocsect3 name="16.9.5 Transferring Data" url="chapters_16.html#SEC338">
<tocsect4 name="16.9.5.1 Sending Data" url="chapters_16.html#SEC339"/>
<tocsect4 name="16.9.5.2 Receiving Data" url="chapters_16.html#SEC340"/>
<tocsect4 name="16.9.5.3 Socket Data Options" url="chapters_16.html#SEC341"/>
</tocsect3>
<tocsect3 name="16.9.6 Byte Stream Socket Example" url="chapters_16.html#SEC342"/>
<tocsect3 name="16.9.7 Byte Stream Connection Server Example" url="chapters_16.html#SEC343"/>
<tocsect3 name="16.9.8 Out-of-Band Data" url="chapters_16.html#SEC344"/>
</tocsect2>
<tocsect2 name="16.10 Datagram Socket Operations" url="chapters_16.html#SEC345">
<tocsect3 name="16.10.1 Sending Datagrams" url="chapters_16.html#SEC346"/>
<tocsect3 name="16.10.2 Receiving Datagrams" url="chapters_16.html#SEC347"/>
<tocsect3 name="16.10.3 Datagram Socket Example" url="chapters_16.html#SEC348"/>
<tocsect3 name="16.10.4 Example of Reading Datagrams" url="chapters_16.html#SEC349"/>
</tocsect2>
<tocsect2 name="16.11 The inetd Daemon" url="chapters_16.html#SEC350">
<tocsect3 name="16.11.1 inetd Servers" url="chapters_16.html#SEC351"/>
<tocsect3 name="16.11.2 Configuring inetd" url="chapters_16.html#SEC352"/>
</tocsect2>
<tocsect2 name="16.12 Socket Options" url="chapters_16.html#SEC353">
<tocsect3 name="16.12.1 Socket Option Functions" url="chapters_16.html#SEC354"/>
<tocsect3 name="16.12.2 Socket-Level Options" url="chapters_16.html#SEC355"/>
</tocsect2>
<tocsect2 name="16.13 Networks Database" url="chapters_16.html#SEC356"/>
</tocsect1>
<tocsect1 name="17. Low-Level Terminal Interface" url="chapters_17.html#SEC357">
<tocsect2 name="17.1 Identifying Terminals" url="chapters_17.html#SEC358"/>
<tocsect2 name="17.2 I/O Queues" url="chapters_17.html#SEC359"/>
<tocsect2 name="17.3 Two Styles of Input: Canonical or Not" url="chapters_17.html#SEC360"/>
<tocsect2 name="17.4 Terminal Modes" url="chapters_17.html#SEC361">
<tocsect3 name="17.4.1 Terminal Mode Data Types" url="chapters_17.html#SEC362"/>
<tocsect3 name="17.4.2 Terminal Mode Functions" url="chapters_17.html#SEC363"/>
<tocsect3 name="17.4.3 Setting Terminal Modes Properly" url="chapters_17.html#SEC364"/>
<tocsect3 name="17.4.4 Input Modes" url="chapters_17.html#SEC365"/>
<tocsect3 name="17.4.5 Output Modes" url="chapters_17.html#SEC366"/>
<tocsect3 name="17.4.6 Control Modes" url="chapters_17.html#SEC367"/>
<tocsect3 name="17.4.7 Local Modes" url="chapters_17.html#SEC368"/>
<tocsect3 name="17.4.8 Line Speed" url="chapters_17.html#SEC369"/>
<tocsect3 name="17.4.9 Special Characters" url="chapters_17.html#SEC370">
<tocsect4 name="17.4.9.1 Characters for Input Editing" url="chapters_17.html#SEC371"/>
<tocsect4 name="17.4.9.2 Characters that Cause Signals" url="chapters_17.html#SEC372"/>
<tocsect4 name="17.4.9.3 Special Characters for Flow Control" url="chapters_17.html#SEC373"/>
<tocsect4 name="17.4.9.4 Other Special Characters" url="chapters_17.html#SEC374"/>
</tocsect3>
<tocsect3 name="17.4.10 Noncanonical Input" url="chapters_17.html#SEC375"/>
</tocsect2>
<tocsect2 name="17.5 BSD Terminal Modes" url="chapters_17.html#SEC376"/>
<tocsect2 name="17.6 Line Control Functions" url="chapters_17.html#SEC377"/>
<tocsect2 name="17.7 Noncanonical Mode Example" url="chapters_17.html#SEC378"/>
<tocsect2 name="17.8 Pseudo-Terminals" url="chapters_17.html#SEC379">
<tocsect3 name="17.8.1 Allocating Pseudo-Terminals" url="chapters_17.html#SEC380"/>
<tocsect3 name="17.8.2 Opening a Pseudo-Terminal Pair" url="chapters_17.html#SEC381"/>
</tocsect2>
</tocsect1>
<tocsect1 name="18. Syslog" url="chapters_18.html#SEC382">
<tocsect2 name="18.1 Overview of Syslog" url="chapters_18.html#SEC383"/>
<tocsect2 name="18.2 Submitting Syslog Messages" url="chapters_18.html#SEC384">
<tocsect3 name="18.2.1 openlog" url="chapters_18.html#SEC385"/>
<tocsect3 name="18.2.2 syslog, vsyslog" url="chapters_18.html#SEC386"/>
<tocsect3 name="18.2.3 closelog" url="chapters_18.html#SEC387"/>
<tocsect3 name="18.2.4 setlogmask" url="chapters_18.html#SEC388"/>
<tocsect3 name="18.2.5 Syslog Example" url="chapters_18.html#SEC389"/>
</tocsect2>
</tocsect1>
<tocsect1 name="19. Mathematics" url="chapters_19.html#SEC390">
<tocsect2 name="19.1 Predefined Mathematical Constants" url="chapters_19.html#SEC391"/>
<tocsect2 name="19.2 Trigonometric Functions" url="chapters_19.html#SEC392"/>
<tocsect2 name="19.3 Inverse Trigonometric Functions" url="chapters_19.html#SEC393"/>
<tocsect2 name="19.4 Exponentiation and Logarithms" url="chapters_19.html#SEC394"/>
<tocsect2 name="19.5 Hyperbolic Functions" url="chapters_19.html#SEC395"/>
<tocsect2 name="19.6 Special Functions" url="chapters_19.html#SEC396"/>
<tocsect2 name="19.7 Known Maximum Errors in Math Functions" url="chapters_19.html#SEC397"/>
<tocsect2 name="19.8 Pseudo-Random Numbers" url="chapters_19.html#SEC398">
<tocsect3 name="19.8.1 ISO C Random Number Functions" url="chapters_19.html#SEC399"/>
<tocsect3 name="19.8.2 BSD Random Number Functions" url="chapters_19.html#SEC400"/>
<tocsect3 name="19.8.3 SVID Random Number Function" url="chapters_19.html#SEC401"/>
</tocsect2>
<tocsect2 name="19.9 Is Fast Code or Small Code preferred?" url="chapters_19.html#SEC402"/>
</tocsect1>
<tocsect1 name="20. Arithmetic Functions" url="chapters_20.html#SEC403">
<tocsect2 name="20.1 Integers" url="chapters_20.html#SEC404"/>
<tocsect2 name="20.2 Integer Division" url="chapters_20.html#SEC405"/>
<tocsect2 name="20.3 Floating Point Numbers" url="chapters_20.html#SEC406"/>
<tocsect2 name="20.4 Floating-Point Number Classification Functions" url="chapters_20.html#SEC407"/>
<tocsect2 name="20.5 Errors in Floating-Point Calculations" url="chapters_20.html#SEC408">
<tocsect3 name="20.5.1 FP Exceptions" url="chapters_20.html#SEC409"/>
<tocsect3 name="20.5.2 Infinity and NaN" url="chapters_20.html#SEC410"/>
<tocsect3 name="20.5.3 Examining the FPU status word" url="chapters_20.html#SEC411"/>
<tocsect3 name="20.5.4 Error Reporting by Mathematical Functions" url="chapters_20.html#SEC412"/>
</tocsect2>
<tocsect2 name="20.6 Rounding Modes" url="chapters_20.html#SEC413"/>
<tocsect2 name="20.7 Floating-Point Control Functions" url="chapters_20.html#SEC414"/>
<tocsect2 name="20.8 Arithmetic Functions" url="chapters_20.html#SEC415">
<tocsect3 name="20.8.1 Absolute Value" url="chapters_20.html#SEC416"/>
<tocsect3 name="20.8.2 Normalization Functions" url="chapters_20.html#SEC417"/>
<tocsect3 name="20.8.3 Rounding Functions" url="chapters_20.html#SEC418"/>
<tocsect3 name="20.8.4 Remainder Functions" url="chapters_20.html#SEC419"/>
<tocsect3 name="20.8.5 Setting and modifying single bits of FP values" url="chapters_20.html#SEC420"/>
<tocsect3 name="20.8.6 Floating-Point Comparison Functions" url="chapters_20.html#SEC421"/>
<tocsect3 name="20.8.7 Miscellaneous FP arithmetic functions" url="chapters_20.html#SEC422"/>
</tocsect2>
<tocsect2 name="20.9 Complex Numbers" url="chapters_20.html#SEC423"/>
<tocsect2 name="20.10 Projections, Conjugates, and Decomposing of Complex Numbers" url="chapters_20.html#SEC424"/>
<tocsect2 name="20.11 Parsing of Numbers" url="chapters_20.html#SEC425">
<tocsect3 name="20.11.1 Parsing of Integers" url="chapters_20.html#SEC426"/>
<tocsect3 name="20.11.2 Parsing of Floats" url="chapters_20.html#SEC427"/>
</tocsect2>
<tocsect2 name="20.12 Old-fashioned System V number-to-string functions" url="chapters_20.html#SEC428"/>
</tocsect1>
<tocsect1 name="21. Date and Time" url="chapters_21.html#SEC429">
<tocsect2 name="21.1 Time Basics" url="chapters_21.html#SEC430"/>
<tocsect2 name="21.2 Elapsed Time" url="chapters_21.html#SEC431"/>
<tocsect2 name="21.3 Processor And CPU Time" url="chapters_21.html#SEC432">
<tocsect3 name="21.3.1 CPU Time Inquiry" url="chapters_21.html#SEC433"/>
<tocsect3 name="21.3.2 Processor Time Inquiry" url="chapters_21.html#SEC434"/>
</tocsect2>
<tocsect2 name="21.4 Calendar Time" url="chapters_21.html#SEC435">
<tocsect3 name="21.4.1 Simple Calendar Time" url="chapters_21.html#SEC436"/>
<tocsect3 name="21.4.2 High-Resolution Calendar" url="chapters_21.html#SEC437"/>
<tocsect3 name="21.4.3 Broken-down Time" url="chapters_21.html#SEC438"/>
<tocsect3 name="21.4.4 High Accuracy Clock" url="chapters_21.html#SEC439"/>
<tocsect3 name="21.4.5 Formatting Calendar Time" url="chapters_21.html#SEC440"/>
<tocsect3 name="21.4.6 Convert textual time and date information back" url="chapters_21.html#SEC441">
<tocsect4 name="21.4.6.1 Interpret string according to given format" url="chapters_21.html#SEC442"/>
<tocsect4 name="21.4.6.2 A More User-friendly Way to Parse Times and Dates" url="chapters_21.html#SEC443"/>
</tocsect3>
<tocsect3 name="21.4.7 Specifying the Time Zone with TZ" url="chapters_21.html#SEC444"/>
<tocsect3 name="21.4.8 Functions and Variables for Time Zones" url="chapters_21.html#SEC445"/>
<tocsect3 name="21.4.9 Time Functions Example" url="chapters_21.html#SEC446"/>
</tocsect2>
<tocsect2 name="21.5 Setting an Alarm" url="chapters_21.html#SEC447"/>
<tocsect2 name="21.6 Sleeping" url="chapters_21.html#SEC448"/>
</tocsect1>
<tocsect1 name="22. Resource Usage And Limitation" url="chapters_22.html#SEC449">
<tocsect2 name="22.1 Resource Usage" url="chapters_22.html#SEC450"/>
<tocsect2 name="22.2 Limiting Resource Usage" url="chapters_22.html#SEC451"/>
<tocsect2 name="22.3 Process CPU Priority And Scheduling" url="chapters_22.html#SEC452">
<tocsect3 name="22.3.1 Absolute Priority" url="chapters_22.html#SEC453">
<tocsect4 name="22.3.1.1 Using Absolute Priority" url="chapters_22.html#SEC454"/>
</tocsect3>
<tocsect3 name="22.3.2 Realtime Scheduling" url="chapters_22.html#SEC455"/>
<tocsect3 name="22.3.3 Basic Scheduling Functions" url="chapters_22.html#SEC456"/>
<tocsect3 name="22.3.4 Traditional Scheduling" url="chapters_22.html#SEC457">
<tocsect4 name="22.3.4.1 Introduction To Traditional Scheduling" url="chapters_22.html#SEC458"/>
<tocsect4 name="22.3.4.2 Functions For Traditional Scheduling" url="chapters_22.html#SEC459"/>
</tocsect3>
</tocsect2>
<tocsect2 name="22.4 Querying memory available resources" url="chapters_22.html#SEC460">
<tocsect3 name="22.4.1 Overview about traditional Unix memory handling" url="chapters_22.html#SEC461"/>
<tocsect3 name="22.4.2 How to get information about the memory subsystem?" url="chapters_22.html#SEC462"/>
</tocsect2>
<tocsect2 name="22.5 Learn about the processors available" url="chapters_22.html#SEC463"/>
</tocsect1>
<tocsect1 name="23. Non-Local Exits" url="chapters_23.html#SEC464">
<tocsect2 name="23.1 Introduction to Non-Local Exits" url="chapters_23.html#SEC465"/>
<tocsect2 name="23.2 Details of Non-Local Exits" url="chapters_23.html#SEC466"/>
<tocsect2 name="23.3 Non-Local Exits and Signals" url="chapters_23.html#SEC467"/>
<tocsect2 name="23.4 Complete Context Control" url="chapters_23.html#SEC468"/>
</tocsect1>
<tocsect1 name="24. Signal Handling" url="chapters_24.html#SEC470">
<tocsect2 name="24.1 Basic Concepts of Signals" url="chapters_24.html#SEC471">
<tocsect3 name="24.1.1 Some Kinds of Signals" url="chapters_24.html#SEC472"/>
<tocsect3 name="24.1.2 Concepts of Signal Generation" url="chapters_24.html#SEC473"/>
<tocsect3 name="24.1.3 How Signals Are Delivered" url="chapters_24.html#SEC474"/>
</tocsect2>
<tocsect2 name="24.2 Standard Signals" url="chapters_24.html#SEC475">
<tocsect3 name="24.2.1 Program Error Signals" url="chapters_24.html#SEC476"/>
<tocsect3 name="24.2.2 Termination Signals" url="chapters_24.html#SEC477"/>
<tocsect3 name="24.2.3 Alarm Signals" url="chapters_24.html#SEC478"/>
<tocsect3 name="24.2.4 Asynchronous I/O Signals" url="chapters_24.html#SEC479"/>
<tocsect3 name="24.2.5 Job Control Signals" url="chapters_24.html#SEC480"/>
<tocsect3 name="24.2.6 Operation Error Signals" url="chapters_24.html#SEC481"/>
<tocsect3 name="24.2.7 Miscellaneous Signals" url="chapters_24.html#SEC482"/>
<tocsect3 name="24.2.8 Signal Messages" url="chapters_24.html#SEC483"/>
</tocsect2>
<tocsect2 name="24.3 Specifying Signal Actions" url="chapters_24.html#SEC484">
<tocsect3 name="24.3.1 Basic Signal Handling" url="chapters_24.html#SEC485"/>
<tocsect3 name="24.3.2 Advanced Signal Handling" url="chapters_24.html#SEC486"/>
<tocsect3 name="24.3.3 Interaction of signal and sigaction" url="chapters_24.html#SEC487"/>
<tocsect3 name="24.3.4 sigaction Function Example" url="chapters_24.html#SEC488"/>
<tocsect3 name="24.3.5 Flags for sigaction" url="chapters_24.html#SEC489"/>
<tocsect3 name="24.3.6 Initial Signal Actions" url="chapters_24.html#SEC490"/>
</tocsect2>
<tocsect2 name="24.4 Defining Signal Handlers" url="chapters_24.html#SEC491">
<tocsect3 name="24.4.1 Signal Handlers that Return" url="chapters_24.html#SEC492"/>
<tocsect3 name="24.4.2 Handlers That Terminate the Process" url="chapters_24.html#SEC493"/>
<tocsect3 name="24.4.3 Nonlocal Control Transfer in Handlers" url="chapters_24.html#SEC494"/>
<tocsect3 name="24.4.4 Signals Arriving While a Handler Runs" url="chapters_24.html#SEC495"/>
<tocsect3 name="24.4.5 Signals Close Together Merge into One" url="chapters_24.html#SEC496"/>
<tocsect3 name="24.4.6 Signal Handling and Nonreentrant Functions" url="chapters_24.html#SEC497"/>
<tocsect3 name="24.4.7 Atomic Data Access and Signal Handling" url="chapters_24.html#SEC498">
<tocsect4 name="24.4.7.1 Problems with Non-Atomic Access" url="chapters_24.html#SEC499"/>
<tocsect4 name="24.4.7.2 Atomic Types" url="chapters_24.html#SEC500"/>
<tocsect4 name="24.4.7.3 Atomic Usage Patterns" url="chapters_24.html#SEC501"/>
</tocsect3>
</tocsect2>
<tocsect2 name="24.5 Primitives Interrupted by Signals" url="chapters_24.html#SEC502"/>
<tocsect2 name="24.6 Generating Signals" url="chapters_24.html#SEC503">
<tocsect3 name="24.6.1 Signaling Yourself" url="chapters_24.html#SEC504"/>
<tocsect3 name="24.6.2 Signaling Another Process" url="chapters_24.html#SEC505"/>
<tocsect3 name="24.6.3 Permission for using kill" url="chapters_24.html#SEC506"/>
<tocsect3 name="24.6.4 Using kill for Communication" url="chapters_24.html#SEC507"/>
</tocsect2>
<tocsect2 name="24.7 Blocking Signals" url="chapters_24.html#SEC508">
<tocsect3 name="24.7.1 Why Blocking Signals is Useful" url="chapters_24.html#SEC509"/>
<tocsect3 name="24.7.2 Signal Sets" url="chapters_24.html#SEC510"/>
<tocsect3 name="24.7.3 Process Signal Mask" url="chapters_24.html#SEC511"/>
<tocsect3 name="24.7.4 Blocking to Test for Delivery of a Signal" url="chapters_24.html#SEC512"/>
<tocsect3 name="24.7.5 Blocking Signals for a Handler" url="chapters_24.html#SEC513"/>
<tocsect3 name="24.7.6 Checking for Pending Signals" url="chapters_24.html#SEC514"/>
<tocsect3 name="24.7.7 Remembering a Signal to Act On Later" url="chapters_24.html#SEC515"/>
</tocsect2>
<tocsect2 name="24.8 Waiting for a Signal" url="chapters_24.html#SEC516">
<tocsect3 name="24.8.1 Using pause" url="chapters_24.html#SEC517"/>
<tocsect3 name="24.8.2 Problems with pause" url="chapters_24.html#SEC518"/>
<tocsect3 name="24.8.3 Using sigsuspend" url="chapters_24.html#SEC519"/>
</tocsect2>
<tocsect2 name="24.9 Using a Separate Signal Stack" url="chapters_24.html#SEC520"/>
<tocsect2 name="24.10 BSD Signal Handling" url="chapters_24.html#SEC521">
<tocsect3 name="24.10.1 BSD Function to Establish a Handler" url="chapters_24.html#SEC522"/>
<tocsect3 name="24.10.2 BSD Functions for Blocking Signals" url="chapters_24.html#SEC523"/>
</tocsect2>
</tocsect1>
<tocsect1 name="25. The Basic Program/System Interface" url="chapters_25.html#SEC524">
<tocsect2 name="25.1 Program Arguments" url="chapters_25.html#SEC525">
<tocsect3 name="25.1.1 Program Argument Syntax Conventions" url="chapters_25.html#SEC526"/>
<tocsect3 name="25.1.2 Parsing Program Arguments" url="chapters_25.html#SEC527"/>
</tocsect2>
<tocsect2 name="25.2 Parsing program options using getopt" url="chapters_25.html#SEC528">
<tocsect3 name="25.2.1 Using the getopt function" url="chapters_25.html#SEC529"/>
<tocsect3 name="25.2.2 Example of Parsing Arguments with getopt" url="chapters_25.html#SEC530"/>
<tocsect3 name="25.2.3 Parsing Long Options with getopt_long" url="chapters_25.html#SEC531"/>
<tocsect3 name="25.2.4 Example of Parsing Long Options with getopt_long" url="chapters_25.html#SEC532"/>
</tocsect2>
<tocsect2 name="25.3 Parsing Program Options with Argp" url="chapters_25.html#SEC533">
<tocsect3 name="25.3.1 The argp_parse Function" url="chapters_25.html#SEC534"/>
<tocsect3 name="25.3.2 Argp Global Variables" url="chapters_25.html#SEC535"/>
<tocsect3 name="25.3.3 Specifying Argp Parsers" url="chapters_25.html#SEC536"/>
<tocsect3 name="25.3.4 Specifying Options in an Argp Parser" url="chapters_25.html#SEC537">
<tocsect4 name="25.3.4.1 Flags for Argp Options" url="chapters_25.html#SEC538"/>
</tocsect3>
<tocsect3 name="25.3.5 Argp Parser Functions" url="chapters_25.html#SEC539">
<tocsect4 name="25.3.5.1 Special Keys for Argp Parser Functions" url="chapters_25.html#SEC540"/>
<tocsect4 name="25.3.5.2 Functions For Use in Argp Parsers" url="chapters_25.html#SEC541"/>
<tocsect4 name="25.3.5.3 Argp Parsing State" url="chapters_25.html#SEC542"/>
</tocsect3>
<tocsect3 name="25.3.6 Combining Multiple Argp Parsers" url="chapters_25.html#SEC543"/>
<tocsect3 name="25.3.7 Flags for argp_parse" url="chapters_25.html#SEC544"/>
<tocsect3 name="25.3.8 Customizing Argp Help Output" url="chapters_25.html#SEC545">
<tocsect4 name="25.3.8.1 Special Keys for Argp Help Filter Functions" url="chapters_25.html#SEC546"/>
</tocsect3>
<tocsect3 name="25.3.9 The argp_help Function" url="chapters_25.html#SEC547"/>
<tocsect3 name="25.3.10 Flags for the argp_help Function" url="chapters_25.html#SEC548"/>
<tocsect3 name="25.3.11 Argp Examples" url="chapters_25.html#SEC549">
<tocsect4 name="25.3.11.1 A Minimal Program Using Argp" url="chapters_25.html#SEC550"/>
<tocsect4 name="25.3.11.2 A Program Using Argp with Only Default Options" url="chapters_25.html#SEC551"/>
<tocsect4 name="25.3.11.3 A Program Using Argp with User Options" url="chapters_25.html#SEC552"/>
<tocsect4 name="25.3.11.4 A Program Using Multiple Combined Argp Parsers" url="chapters_25.html#SEC553"/>
</tocsect3>
<tocsect3 name="25.3.12 Argp User Customization" url="chapters_25.html#SEC554">
<tocsect4 name="25.3.12.1 Parsing of Suboptions" url="chapters_25.html#SEC555"/>
</tocsect3>
<tocsect3 name="25.3.13 Parsing of Suboptions Example" url="chapters_25.html#SEC556"/>
</tocsect2>
<tocsect2 name="25.4 Environment Variables" url="chapters_25.html#SEC557">
<tocsect3 name="25.4.1 Environment Access" url="chapters_25.html#SEC558"/>
<tocsect3 name="25.4.2 Standard Environment Variables" url="chapters_25.html#SEC559"/>
</tocsect2>
<tocsect2 name="25.5 System Calls" url="chapters_25.html#SEC560"/>
<tocsect2 name="25.6 Program Termination" url="chapters_25.html#SEC561">
<tocsect3 name="25.6.1 Normal Termination" url="chapters_25.html#SEC562"/>
<tocsect3 name="25.6.2 Exit Status" url="chapters_25.html#SEC563"/>
<tocsect3 name="25.6.3 Cleanups on Exit" url="chapters_25.html#SEC564"/>
<tocsect3 name="25.6.4 Aborting a Program" url="chapters_25.html#SEC565"/>
<tocsect3 name="25.6.5 Termination Internals" url="chapters_25.html#SEC566"/>
</tocsect2>
</tocsect1>
<tocsect1 name="26. Processes" url="chapters_26.html#SEC567">
<tocsect2 name="26.1 Running a Command" url="chapters_26.html#SEC568"/>
<tocsect2 name="26.2 Process Creation Concepts" url="chapters_26.html#SEC569"/>
<tocsect2 name="26.3 Process Identification" url="chapters_26.html#SEC570"/>
<tocsect2 name="26.4 Creating a Process" url="chapters_26.html#SEC571"/>
<tocsect2 name="26.5 Executing a File" url="chapters_26.html#SEC572"/>
<tocsect2 name="26.6 Process Completion" url="chapters_26.html#SEC573"/>
<tocsect2 name="26.7 Process Completion Status" url="chapters_26.html#SEC574"/>
<tocsect2 name="26.8 BSD Process Wait Functions" url="chapters_26.html#SEC575"/>
<tocsect2 name="26.9 Process Creation Example" url="chapters_26.html#SEC576"/>
</tocsect1>
<tocsect1 name="27. Job Control" url="chapters_27.html#SEC577">
<tocsect2 name="27.1 Concepts of Job Control" url="chapters_27.html#SEC578"/>
<tocsect2 name="27.2 Job Control is Optional" url="chapters_27.html#SEC579"/>
<tocsect2 name="27.3 Controlling Terminal of a Process" url="chapters_27.html#SEC580"/>
<tocsect2 name="27.4 Access to the Controlling Terminal" url="chapters_27.html#SEC581"/>
<tocsect2 name="27.5 Orphaned Process Groups" url="chapters_27.html#SEC582"/>
<tocsect2 name="27.6 Implementing a Job Control Shell" url="chapters_27.html#SEC583">
<tocsect3 name="27.6.1 Data Structures for the Shell" url="chapters_27.html#SEC584"/>
<tocsect3 name="27.6.2 Initializing the Shell" url="chapters_27.html#SEC585"/>
<tocsect3 name="27.6.3 Launching Jobs" url="chapters_27.html#SEC586"/>
<tocsect3 name="27.6.4 Foreground and Background" url="chapters_27.html#SEC587"/>
<tocsect3 name="27.6.5 Stopped and Terminated Jobs" url="chapters_27.html#SEC588"/>
<tocsect3 name="27.6.6 Continuing Stopped Jobs" url="chapters_27.html#SEC589"/>
<tocsect3 name="27.6.7 The Missing Pieces" url="chapters_27.html#SEC590"/>
</tocsect2>
<tocsect2 name="27.7 Functions for Job Control" url="chapters_27.html#SEC591">
<tocsect3 name="27.7.1 Identifying the Controlling Terminal" url="chapters_27.html#SEC592"/>
<tocsect3 name="27.7.2 Process Group Functions" url="chapters_27.html#SEC593"/>
<tocsect3 name="27.7.3 Functions for Controlling Terminal Access" url="chapters_27.html#SEC594"/>
</tocsect2>
</tocsect1>
<tocsect1 name="28. System Databases and Name Service Switch" url="chapters_28.html#SEC595">
<tocsect2 name="28.1 NSS Basics" url="chapters_28.html#SEC596"/>
<tocsect2 name="28.2 The NSS Configuration File" url="chapters_28.html#SEC597">
<tocsect3 name="28.2.1 Services in the NSS configuration File" url="chapters_28.html#SEC598"/>
<tocsect3 name="28.2.2 Actions in the NSS configuration" url="chapters_28.html#SEC599"/>
<tocsect3 name="28.2.3 Notes on the NSS Configuration File" url="chapters_28.html#SEC600"/>
</tocsect2>
<tocsect2 name="28.3 NSS Module Internals" url="chapters_28.html#SEC601">
<tocsect3 name="28.3.1 The Naming Scheme of the NSS Modules" url="chapters_28.html#SEC602"/>
<tocsect3 name="28.3.2 The Interface of the Function in NSS Modules" url="chapters_28.html#SEC603"/>
</tocsect2>
<tocsect2 name="28.4 Extending NSS" url="chapters_28.html#SEC604">
<tocsect3 name="28.4.1 Adding another Service to NSS" url="chapters_28.html#SEC605"/>
<tocsect3 name="28.4.2 Internals of the NSS Module Functions" url="chapters_28.html#SEC606"/>
</tocsect2>
</tocsect1>
<tocsect1 name="29. Users and Groups" url="chapters_29.html#SEC607">
<tocsect2 name="29.1 User and Group IDs" url="chapters_29.html#SEC608"/>
<tocsect2 name="29.2 The Persona of a Process" url="chapters_29.html#SEC609"/>
<tocsect2 name="29.3 Why Change the Persona of a Process?" url="chapters_29.html#SEC610"/>
<tocsect2 name="29.4 How an Application Can Change Persona" url="chapters_29.html#SEC611"/>
<tocsect2 name="29.5 Reading the Persona of a Process" url="chapters_29.html#SEC612"/>
<tocsect2 name="29.6 Setting the User ID" url="chapters_29.html#SEC613"/>
<tocsect2 name="29.7 Setting the Group IDs" url="chapters_29.html#SEC614"/>
<tocsect2 name="29.8 Enabling and Disabling Setuid Access" url="chapters_29.html#SEC615"/>
<tocsect2 name="29.9 Setuid Program Example" url="chapters_29.html#SEC616"/>
<tocsect2 name="29.10 Tips for Writing Setuid Programs" url="chapters_29.html#SEC617"/>
<tocsect2 name="29.11 Identifying Who Logged In" url="chapters_29.html#SEC618"/>
<tocsect2 name="29.12 The User Accounting Database" url="chapters_29.html#SEC619">
<tocsect3 name="29.12.1 Manipulating the User Accounting Database" url="chapters_29.html#SEC620"/>
<tocsect3 name="29.12.2 XPG User Accounting Database Functions" url="chapters_29.html#SEC621"/>
<tocsect3 name="29.12.3 Logging In and Out" url="chapters_29.html#SEC622"/>
</tocsect2>
<tocsect2 name="29.13 User Database" url="chapters_29.html#SEC623">
<tocsect3 name="29.13.1 The Data Structure that Describes a User" url="chapters_29.html#SEC624"/>
<tocsect3 name="29.13.2 Looking Up One User" url="chapters_29.html#SEC625"/>
<tocsect3 name="29.13.3 Scanning the List of All Users" url="chapters_29.html#SEC626"/>
<tocsect3 name="29.13.4 Writing a User Entry" url="chapters_29.html#SEC627"/>
</tocsect2>
<tocsect2 name="29.14 Group Database" url="chapters_29.html#SEC628">
<tocsect3 name="29.14.1 The Data Structure for a Group" url="chapters_29.html#SEC629"/>
<tocsect3 name="29.14.2 Looking Up One Group" url="chapters_29.html#SEC630"/>
<tocsect3 name="29.14.3 Scanning the List of All Groups" url="chapters_29.html#SEC631"/>
</tocsect2>
<tocsect2 name="29.15 User and Group Database Example" url="chapters_29.html#SEC632"/>
<tocsect2 name="29.16 Netgroup Database" url="chapters_29.html#SEC633">
<tocsect3 name="29.16.1 Netgroup Data" url="chapters_29.html#SEC634"/>
<tocsect3 name="29.16.2 Looking up one Netgroup" url="chapters_29.html#SEC635"/>
<tocsect3 name="29.16.3 Testing for Netgroup Membership" url="chapters_29.html#SEC636"/>
</tocsect2>
</tocsect1>
<tocsect1 name="30. System Management" url="chapters_30.html#SEC637">
<tocsect2 name="30.1 Host Identification" url="chapters_30.html#SEC638"/>
<tocsect2 name="30.2 Platform Type Identification" url="chapters_30.html#SEC639"/>
<tocsect2 name="30.3 Controlling and Querying Mounts" url="chapters_30.html#SEC640">
<tocsect3 name="30.3.1 Mount Information" url="chapters_30.html#SEC641">
<tocsect4 name="30.3.1.1 The `fstab' file" url="chapters_30.html#SEC642"/>
<tocsect4 name="30.3.1.2 The `mtab' file" url="chapters_30.html#SEC643"/>
<tocsect4 name="30.3.1.3 Other (Non-libc) Sources of Mount Information" url="chapters_30.html#SEC644"/>
</tocsect3>
<tocsect3 name="30.3.2 Mount, Unmount, Remount" url="chapters_30.html#SEC645"/>
</tocsect2>
<tocsect2 name="30.4 System Parameters" url="chapters_30.html#SEC646"/>
</tocsect1>
<tocsect1 name="31. System Configuration Parameters" url="chapters_31.html#SEC647">
<tocsect2 name="31.1 General Capacity Limits" url="chapters_31.html#SEC648"/>
<tocsect2 name="31.2 Overall System Options" url="chapters_31.html#SEC649"/>
<tocsect2 name="31.3 Which Version of POSIX is Supported" url="chapters_31.html#SEC650"/>
<tocsect2 name="31.4 Using sysconf" url="chapters_31.html#SEC651">
<tocsect3 name="31.4.1 Definition of sysconf" url="chapters_31.html#SEC652"/>
<tocsect3 name="31.4.2 Constants for sysconf Parameters" url="chapters_31.html#SEC653"/>
<tocsect3 name="31.4.3 Examples of sysconf" url="chapters_31.html#SEC654"/>
</tocsect2>
<tocsect2 name="31.5 Minimum Values for General Capacity Limits" url="chapters_31.html#SEC655"/>
<tocsect2 name="31.6 Limits on File System Capacity" url="chapters_31.html#SEC656"/>
<tocsect2 name="31.7 Optional Features in File Support" url="chapters_31.html#SEC657"/>
<tocsect2 name="31.8 Minimum Values for File System Limits" url="chapters_31.html#SEC658"/>
<tocsect2 name="31.9 Using pathconf" url="chapters_31.html#SEC659"/>
<tocsect2 name="31.10 Utility Program Capacity Limits" url="chapters_31.html#SEC660"/>
<tocsect2 name="31.11 Minimum Values for Utility Limits" url="chapters_31.html#SEC661"/>
<tocsect2 name="31.12 String-Valued Parameters" url="chapters_31.html#SEC662"/>
</tocsect1>
<tocsect1 name="32. DES Encryption and Password Handling" url="chapters_32.html#SEC663">
<tocsect2 name="32.1 Legal Problems" url="chapters_32.html#SEC664"/>
<tocsect2 name="32.2 Reading Passwords" url="chapters_32.html#SEC665"/>
<tocsect2 name="32.3 Encrypting Passwords" url="chapters_32.html#SEC666"/>
<tocsect2 name="32.4 DES Encryption" url="chapters_32.html#SEC667"/>
</tocsect1>
<tocsect1 name="33. Debugging support" url="chapters_33.html#SEC668">
<tocsect2 name="33.1 Backtraces" url="chapters_33.html#SEC669"/>
</tocsect1>
<tocsect1 name="34. POSIX Threads" url="chapters_34.html#SEC670">
<tocsect2 name="34.1 Basic Thread Operations" url="chapters_34.html#SEC671"/>
<tocsect2 name="34.2 Thread Attributes" url="chapters_34.html#SEC672"/>
<tocsect2 name="34.3 Cancellation" url="chapters_34.html#SEC673"/>
<tocsect2 name="34.4 Cleanup Handlers" url="chapters_34.html#SEC674"/>
<tocsect2 name="34.5 Mutexes" url="chapters_34.html#SEC675"/>
<tocsect2 name="34.6 Condition Variables" url="chapters_34.html#SEC676"/>
<tocsect2 name="34.7 POSIX Semaphores" url="chapters_34.html#SEC677"/>
<tocsect2 name="34.8 Thread-Specific Data" url="chapters_34.html#SEC678"/>
<tocsect2 name="34.9 Threads and Signal Handling" url="chapters_34.html#SEC679"/>
<tocsect2 name="34.10 Threads and Fork" url="chapters_34.html#SEC680"/>
<tocsect2 name="34.11 Streams and Fork" url="chapters_34.html#SEC681"/>
<tocsect2 name="34.12 Miscellaneous Thread Functions" url="chapters_34.html#SEC682"/>
</tocsect1>
<tocsect1 name="A. C Language Facilities in the Library" url="chapters_35.html#SEC683">
<tocsect2 name="A.1 Explicitly Checking Internal Consistency" url="chapters_35.html#SEC684"/>
<tocsect2 name="A.2 Variadic Functions" url="chapters_35.html#SEC685">
<tocsect3 name="A.2.1 Why Variadic Functions are Used" url="chapters_35.html#SEC686"/>
<tocsect3 name="A.2.2 How Variadic Functions are Defined and Used" url="chapters_35.html#SEC687">
<tocsect4 name="A.2.2.1 Syntax for Variable Arguments" url="chapters_35.html#SEC688"/>
<tocsect4 name="A.2.2.2 Receiving the Argument Values" url="chapters_35.html#SEC689"/>
<tocsect4 name="A.2.2.3 How Many Arguments Were Supplied" url="chapters_35.html#SEC690"/>
<tocsect4 name="A.2.2.4 Calling Variadic Functions" url="chapters_35.html#SEC691"/>
<tocsect4 name="A.2.2.5 Argument Access Macros" url="chapters_35.html#SEC692"/>
</tocsect3>
<tocsect3 name="A.2.3 Example of a Variadic Function" url="chapters_35.html#SEC693">
<tocsect4 name="A.2.3.1 Old-Style Variadic Functions" url="chapters_35.html#SEC694"/>
</tocsect3>
</tocsect2>
<tocsect2 name="A.3 Null Pointer Constant" url="chapters_35.html#SEC695"/>
<tocsect2 name="A.4 Important Data Types" url="chapters_35.html#SEC696"/>
<tocsect2 name="A.5 Data Type Measurements" url="chapters_35.html#SEC697">
<tocsect3 name="A.5.1 Computing the Width of an Integer Data Type" url="chapters_35.html#SEC698"/>
<tocsect3 name="A.5.2 Range of an Integer Type" url="chapters_35.html#SEC699"/>
<tocsect3 name="A.5.3 Floating Type Macros" url="chapters_35.html#SEC700">
<tocsect4 name="A.5.3.1 Floating Point Representation Concepts" url="chapters_35.html#SEC701"/>
<tocsect4 name="A.5.3.2 Floating Point Parameters" url="chapters_35.html#SEC702"/>
<tocsect4 name="A.5.3.3 IEEE Floating Point" url="chapters_35.html#SEC703"/>
</tocsect3>
<tocsect3 name="A.5.4 Structure Field Offset Measurement" url="chapters_35.html#SEC704"/>
</tocsect2>
</tocsect1>
<tocsect1 name="B. Summary of Library Facilities" url="chapters_36.html#SEC705"/>
<tocsect1 name="C. Installing the GNU C Library" url="chapters_37.html#SEC706">
<tocsect2 name="C.1 Configuring and compiling GNU Libc" url="chapters_37.html#SEC707"/>
<tocsect2 name="C.2 Installing the C Library" url="chapters_37.html#SEC708"/>
<tocsect2 name="C.3 Recommended Tools for Compilation" url="chapters_37.html#SEC709"/>
<tocsect2 name="C.4 Supported Configurations" url="chapters_37.html#SEC710"/>
<tocsect2 name="C.5 Specific advice for Linux systems" url="chapters_37.html#SEC711"/>
<tocsect2 name="C.6 Reporting Bugs" url="chapters_37.html#SEC712"/>
</tocsect1>
<tocsect1 name="D. Library Maintenance" url="chapters_38.html#SEC713">
<tocsect2 name="D.1 Adding New Functions" url="chapters_38.html#SEC714"/>
<tocsect2 name="D.2 Porting the GNU C Library" url="chapters_38.html#SEC715">
<tocsect3 name="D.2.1 Layout of the `sysdeps' Directory Hierarchy" url="chapters_38.html#SEC716"/>
<tocsect3 name="D.2.2 Porting the GNU C Library to Unix Systems" url="chapters_38.html#SEC717"/>
</tocsect2>
</tocsect1>
<tocsect1 name="E. Contributors to the GNU C Library" url="chapters_39.html#SEC718"/>
</kdeveloptoc>
|